Andrew Gaul
721a0dbd3c
Add support for standard_ia storage class
...
This enables storage with lower at-rest prices, higher request prices,
and lower availability. Also rework existing reduced redundancy
parsing into a more generic storage class. More background on
standard_ia:
https://aws.amazon.com/blogs/aws/aws-storage-update-new-lower-cost-s3-storage-option-glacier-price-reduction/
2015-11-16 14:04:51 -08:00
Andrew Gaul
4829bbbd2c
JCLOUDS-964: S3 multipart copy
2015-10-14 23:17:40 -07:00
Timur Alperovich
a0b95ea7a3
JCLOUDS-217: Fix encoding handling in S3.
...
When constructing the query path, S3 does not properly handle encoded
paths. For example, if a blob named %20 is to be placed into the blob
store, S3 would end up placing blob named " " (what %20 represents).
This occurs because the S3 provider examines the URI's path portion
(which is presented in a decoded fasion to the caller). After
examining the path, it is not encoded again. Instead, we should call
getRawPath() to avoid this issue.
There are two issues on the decoding path:
1. Given a blob named " ", S3 API will throw a RuntimeException due to
a NULL check -- the key that it uses is NULL to represent the XML
content " " corresponding to the blob name.
2. Given a blob named "%20 ", S3 API will generate a URI for a blob
named "%20%20", which is also incorrect. The correct URI would be
"%2520%20" (escaping the first "%" and " " characters).
The first issue is due to the currentOrNull() helper, which calls
trim() on the string and then compares the string to an empty string.
This means that a blob named " " will be parsed as "" and then
converted to NULL as the result of that method. Passing "null" as the
key then fails in a number of places (notably, appendPath()).
The second issue is due to the appendPath() method in the jclouds Uris
class. The issue here is that appendPath() calls urlDecode() and
passes the result to path(). The path() method, in turn, also calls
urlDecode(). After these transformations, a properly encoded blob of
the form %2520%20 turns into "%20 " and then " " (two spaces). After
these transformations the path is encoded again, resulting in "%20%20"
(which is wrong).
2015-09-08 15:19:02 -07:00
Oliver Gondža
edde721937
JCLOUDS-962: Make all @Provider methods final
2015-09-02 23:54:44 +02:00
Timur Alperovich
a2d8dfcb27
JCLOUDS-992: Handle directories as blobs in S3.
2015-08-20 12:42:11 -07:00
Andrew Gaul
d86a6c9ee1
Correct Checkstyle violations
2015-07-31 15:28:25 -07:00
Andrew Gaul
86f47394bf
Correct FindBugs violations
2015-07-31 14:53:58 -07:00
Timur Alperovich
fe13b07233
JCLOUDS-929: Implement delimiter support in S3.
...
Plumb the delimiter option to the S3 API.
2015-07-13 14:34:59 -07:00
Timur Alperovich
a29d75a5d1
JCLOUDS-929: Implement generic delimiter support.
...
The patch adds delimiter option support in the generic blob store
interface. A live integration test is added to verify that jclouds
correctly lists objects separated by a delimiter.
2015-07-13 14:34:58 -07:00
Timur Alperovich
c409c19ff3
JCLOUDS-930: Plumb prefix support down to S3.
...
Plumbs the ListContainerOptions.prefix setting down to the S3 API.
2015-06-29 17:31:56 -07:00
Timur Alperovich
7c7d2e2df6
JCLOUDS-930: Add the prefix option.
...
Add a prefix option to the ListContainerOptions class.
2015-06-29 17:31:55 -07:00
Andrea Turli
61b06329d8
create java-xmlbuilder.version property for maven
...
add java-xmlbuilder to dependencyManagement so downstream project don't need to specify the version
2015-06-29 08:47:54 +02:00
Andrew Gaul
ae157991ba
JCLOUDS-894: Add portable multipart upload for S3
2015-06-06 16:32:16 -07:00
Andrew Gaul
00734ee755
JCLOUDS-894: Move MultipartUploadSlicingAlgorithm to core
2015-06-06 16:32:16 -07:00
Andrew Gaul
5095590d60
JCLOUDS-894: Do not add unnecessary ETag quotes
...
Previously
AWSS3BlobIntegrationLiveTest.testMultipartUploadMultipleParts failed.
2015-05-26 11:19:58 -07:00
Andrew Gaul
9128ae515f
JCLOUDS-894: Expose S3 multipart operations
2015-05-01 13:32:35 -07:00
Andrew Gaul
ca543f3cdd
Add S3 list multipart parts
...
TODO: pagination, etc.?
2015-05-01 13:32:35 -07:00
Andrew Gaul
21a422bc71
Fix testCopyIfModifiedSince for AWS S3
2015-04-10 23:11:21 -07:00
Andrew Gaul
a43dcece16
JCLOUDS-651: S3 copy object content metadata
2015-04-08 18:07:28 -07:00
Andrew Gaul
b85068ca7f
JCLOUDS-651: Add S3 server-side copyBlob
2015-04-02 15:36:53 -07:00
Ignasi Barrera
f469cf8b51
Next development version 2.0.0-SNAPSHOT
2015-03-24 10:52:01 +01:00
Ignasi Barrera
bb41ed4341
Apache jclouds 1.9.0 release
2015-03-24 10:35:42 +01:00
Andrew Gaul
85637ccee2
Fix ParseS3ErrorFromXmlContentTest
...
References JCLOUDS-794.
2015-02-25 18:29:17 -08:00
Andrew Gaul
d7e25d9cc6
Use injected metadata instead of new instance
...
This addresses a regression from JCLOUDS-794.
2015-02-25 17:24:44 -08:00
Andrew Gaul
6c8be12703
JCLOUDS-732: S3 portable object ACLs
2015-02-21 10:28:02 -08:00
Andrew Gaul
2553b09bb4
Build S3 multi-delete request with an XML library
...
This commit addresses test failures in
AWSS3BlobIntegrationLiveTest.deleteMultipleObjects.
2015-02-15 10:25:23 -08:00
Andrew Gaul
ecc8548fbd
JCLOUDS-144: S3 multi-blob delete
2015-02-15 01:06:03 -08:00
Andrew Gaul
4bb319a0cc
JCLOUDS-820: Support multi-delete for generic S3
...
Tested against AWS and DreamObjects. This commit only moves and
renames code.
2015-02-13 06:23:16 -08:00
Andrew Gaul
ba2f8ac232
JCLOUDS-258: Support MPU for generic S3
...
Tested against AWS-S3 and DreamObjects. This commit only moves and
renames code although some classes are duplicated for deprecation
purposes.
2015-02-12 17:59:33 -08:00
Andrew Gaul
ec3f035487
JCLOUDS-660: S3 portable container ACLs
2015-02-12 17:26:48 -08:00
Andrew Gaul
eacfc8fdf1
Handle removal during iteration
...
Previously this threw UnsupportedOperationException due to
findGrantsForGrantee returning an immutable view.
2015-02-12 17:26:47 -08:00
Andrew Gaul
8a2c821e13
JCLOUDS-794: Use bogus URL for generic S3 endpoint
...
This prevents users from accidentally connecting to AWS.
2015-02-04 13:42:03 -08:00
Andrew Gaul
affad9fa3b
JCLOUDS-96: JCLOUDS-351: Fix S3 copy if tests
...
Use correct options in testCopyIfUnmodifiedSince, use looser time
bounds, and ensure that tests throw HttpResponseException when
expected.
2015-01-24 10:56:21 -08:00
Andrew Gaul
c770ffbeb0
Use sorted set to order relative paths correctly
2015-01-22 11:37:46 -08:00
Andrew Gaul
fae097e144
JCLOUDS-654: Add object size to StorageMetadata
...
This allows callers to read the content length during container
listing. Tested against: atmosonline, aws-s3, azureblob, filesystem,
and transient. Intentionally not implemented for legacy swift
provider.
2015-01-09 22:34:56 -08:00
Jeremy Daggett
d3c1e2eab4
Use AutoService to generate service loader metadata
2015-01-09 11:22:12 -08:00
Adrian Cole
90a6bb19f4
Finished partial fix in 91f405c9fe
.
2014-11-16 10:37:31 -08:00
Adrian Cole
3980cd791b
Revert "JCLOUDS-653: Address Guava 18 deprecations"
...
This reverts commit 95cfc0d950
.
Many conflicts due to duration between above commit and now
2014-10-24 10:45:58 -07:00
Adrian Cole
b9525a0877
JCLOUDS-40 unasync Fallback
2014-10-06 13:14:59 -07:00
Adrian Cole
0a236f59ad
JCLOUDS-153 remove IO Executor and usage of it.
2014-10-06 07:56:31 -07:00
Adrian Cole
100d43360a
JCLOUDS-150 clear remaining async stuff from aws
2014-10-05 22:32:27 -07:00
Adrian Cole
044223efcb
Rather than rely on or work around JRE behavior based, lock S3ClientMockTest using OkHttp.
2014-10-05 20:14:45 -07:00
Adrian Cole
99e217b720
Move off confusing test names.
2014-10-05 17:22:18 -07:00
Adrian Cole
cacc986dc4
JCLOUDS-40 Remove AsyncBlobStore references from s3 api
2014-10-05 13:18:12 -07:00
Adrian Cole
dfb583b67a
JCLOUDS-40 remove all implementations of AsyncBlobStore except Submission in preparation for complete removal.
2014-10-05 08:49:38 -07:00
Adrian Cole
b6497556f6
JCLOUDS-150 add SubmissionAsyncBlobStore; unasync s3 and aws-s3
2014-10-03 13:18:29 -07:00
Andrew Gaul
58438d7d1e
Address Checkstyle violations
2014-09-04 17:24:27 -07:00
Andrew Gaul
0b89b1fd10
Ensure that Content-MD5 has 128 bits
...
Update many tests Content-MD5 headers and ETag responses.
2014-09-04 16:57:48 -07:00
Andrew Gaul
195998b3b6
Miscellaneous FindBugs fixes
2014-08-30 14:33:10 -07:00
Andrew Gaul
df996f3231
Set Content-MD5 only if ETag has correct format
...
Previously this check was more lenient than it should have been.
2014-08-28 21:50:57 -07:00