@Override public void setBucketStaleReadAllowed(String bucketName, final boolean staleReadAllowed) { ObjectRequest request = new GenericBucketRequest(Method.PUT, bucketName, S3Constants.PARAM_IS_STALE_ALLOWED) { @Override public Map<String, List<Object>> getHeaders() { Map<String, List<Object>> headers = super.getHeaders(); RestUtil.putSingle(headers, RestUtil.EMC_STALE_READ_ALLOWED, staleReadAllowed); return headers; } }; executeAndClose(client, request); }
@Override public Map<String, List<Object>> getHeaders() { Map<String, List<Object>> headers = super.getHeaders(); RestUtil.putSingle(headers, RestUtil.EMC_STALE_READ_ALLOWED, staleReadAllowed); return headers; } };
@Override public LocationConstraint getBucketLocation(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "location"); return executeRequest(client, request, LocationConstraint.class); }
@Override public BucketPolicy getBucketPolicy(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "policy"); return executeRequest(client, request, BucketPolicy.class); }
@Override public MetadataSearchList listBucketMetadataSearchKeys(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, S3Constants.PARAM_SEARCH_METADATA); return executeRequest(client, request, MetadataSearchList.class); }
@Override public AccessControlList getBucketAcl(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "acl"); return executeRequest(client, request, AccessControlList.class); }
@Override public VersioningConfiguration getBucketVersioning(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "versioning"); return executeRequest(client, request, VersioningConfiguration.class); }
@Override public void deleteBucketLifecycle(String bucketName) { executeAndClose(client, new GenericBucketRequest(Method.DELETE, bucketName, "lifecycle")); }
@Override public void deleteBucket(String bucketName) { executeAndClose(client, new GenericBucketRequest(Method.DELETE, bucketName, null)); }
@Override public void deleteBucketCors(String bucketName) { executeAndClose(client, new GenericBucketRequest(Method.DELETE, bucketName, "cors")); }
@Override public CorsConfiguration getBucketCors(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "cors"); try { return executeRequest(client, request, CorsConfiguration.class); } catch (S3Exception e) { if ("NoSuchCORSConfiguration".equals(e.getErrorCode())) return null; throw e; } }
@Override public LifecycleConfiguration getBucketLifecycle(String bucketName) { ObjectRequest request = new GenericBucketRequest(Method.GET, bucketName, "lifecycle"); try { return executeRequest(client, request, LifecycleConfiguration.class); } catch (S3Exception e) { if ("NoSuchBucketPolicy".equals(e.getErrorCode())) return null; throw e; } }
@Override public boolean bucketExists(String bucketName) { try { executeAndClose(client, new GenericBucketRequest(Method.HEAD, bucketName, null)); return true; } catch (S3Exception e) { switch (e.getHttpCode()) { case RestUtil.STATUS_REDIRECT: case RestUtil.STATUS_UNAUTHORIZED: return true; case RestUtil.STATUS_NOT_FOUND: return false; default: throw e; } } }
@Override public BucketInfo getBucketInfo(String bucketName) { BucketInfo result = new BucketInfo(); result.setBucketName(bucketName); fillResponseEntity(result, executeAndClose(client, new GenericBucketRequest(Method.HEAD, bucketName, null))); return result; }