use of com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule in project aws-sdk-android by aws-amplify.
the class BucketLifecycleSaxUnmarshallerTest method unmarshalls_filter_with_AndOperator_containing_prefixAndOneTag.
@Test
public void unmarshalls_filter_with_AndOperator_containing_prefixAndOneTag() throws Exception {
Rule rule = getRule(parseLifecycleConfiguration(UNKNOWN_STORAGE_CLASS_RESPONSE), 4);
LifecycleAndOperator predicate = (LifecycleAndOperator) rule.getFilter().getPredicate();
List<LifecycleFilterPredicate> operands = predicate.getOperands();
assertEquals(2, operands.size());
assertEquals("prefix", ((LifecyclePrefixPredicate) operands.get(0)).getPrefix());
Tag tag = ((LifecycleTagPredicate) operands.get(1)).getTag();
assertEquals("key1", tag.getKey());
assertEquals("value1", tag.getValue());
}
use of com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule in project aws-sdk-android by aws-amplify.
the class BucketLifecycleSaxUnmarshallerTest method lifecycleConfigurationUnmarshaller_unmarshalls_properly.
@Test
public void lifecycleConfigurationUnmarshaller_unmarshalls_properly() throws Exception {
Rule rule = getRule(parseLifecycleConfiguration(UNKNOWN_STORAGE_CLASS_RESPONSE), 0);
assertEquals("logs-rule", rule.getId());
assertEquals("logs/", rule.getPrefix());
assertEquals(BucketLifecycleConfiguration.ENABLED, rule.getStatus());
Transition transition = rule.getTransitions().get(0);
assertEquals(30, transition.getDays());
assertEquals(FUTURE_STORAGE_CLASS, transition.getStorageClassAsString());
assertEquals(365, rule.getExpirationInDays());
NoncurrentVersionTransition noncurrentVersionTransition = rule.getNoncurrentVersionTransitions().get(0);
assertEquals(7, noncurrentVersionTransition.getDays());
assertEquals(14, rule.getNoncurrentVersionExpirationInDays());
// Test Filter
LifecycleFilterPredicate predicate = rule.getFilter().getPredicate();
assertTrue(predicate instanceof LifecycleAndOperator);
List<LifecycleFilterPredicate> andOperands = ((LifecycleAndOperator) predicate).getOperands();
assertEquals("prefix", ((LifecyclePrefixPredicate) andOperands.get(0)).getPrefix());
assertEquals("key1", ((LifecycleTagPredicate) andOperands.get(1)).getTag().getKey());
assertEquals("value1", ((LifecycleTagPredicate) andOperands.get(1)).getTag().getValue());
assertEquals("key2", ((LifecycleTagPredicate) andOperands.get(2)).getTag().getKey());
assertEquals("value2", ((LifecycleTagPredicate) andOperands.get(2)).getTag().getValue());
}
use of com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule in project aws-sdk-android by aws-amplify.
the class S3MetadataResponseHandlerTest method testHandle.
@Test
public void testHandle() throws Exception {
HttpResponse response = new HttpResponse.Builder().header(Headers.REQUEST_ID, "testId").header(Headers.EXTENDED_REQUEST_ID, "extendedId").header(Headers.S3_USER_METADATA_PREFIX + "userKey", "userValue").header(Headers.LAST_MODIFIED, "Sun, 1 Jan 2006 12:00:00 GMT").header(Headers.CONTENT_LENGTH, "5").header(Headers.ETAG, "Etag").header(Headers.EXPIRES, "Sun, 1 Jan 2006 12:00:00 GMT").header(Headers.EXPIRATION, "expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\", rule-id=\"Rule for testfile.txt\"").header(Headers.RESTORE, "ongoing-request=\"false\", expiry-date=\"Wed, 07 Nov 2012 00:00:00 GMT\"").header("UndefinedKey", "UndefinedValue").header(Headers.STORAGE_CLASS, "STANDARD_IA").build();
S3MetadataResponseHandler handler = new S3MetadataResponseHandler();
AmazonWebServiceResponse<ObjectMetadata> awsr = handler.handle(response);
assertEquals(awsr.getResponseMetadata().getRequestId(), "testId");
assertEquals(((S3ResponseMetadata) awsr.getResponseMetadata()).getHostId(), "extendedId");
ObjectMetadata om = awsr.getResult();
assertEquals(om.getRawMetadataValue(Headers.REQUEST_ID), null);
assertEquals(om.getRawMetadataValue(Headers.EXTENDED_REQUEST_ID), null);
assertEquals(om.getUserMetaDataOf("userKey"), "userValue");
assertEquals(1136116800000L, om.getLastModified().getTime());
assertEquals(om.getContentLength(), 5);
assertEquals(om.getETag(), "Etag");
assertEquals(1356048000000L, om.getExpirationTime().getTime());
assertEquals(1136116800000L, om.getHttpExpiresDate().getTime());
assertEquals("Rule for testfile.txt", om.getExpirationTimeRuleId());
assertEquals(1352246400000L, om.getRestoreExpirationTime().getTime());
assertFalse(om.getOngoingRestore());
assertEquals(om.getStorageClass(), StorageClass.StandardInfrequentAccess.toString());
}
use of com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule in project aws-doc-sdk-examples by awsdocs.
the class CORS method printCORSConfiguration.
private static void printCORSConfiguration(BucketCrossOriginConfiguration configuration) {
if (configuration == null) {
System.out.println("Configuration is null.");
} else {
System.out.println("Configuration has " + configuration.getRules().size() + " rules\n");
for (CORSRule rule : configuration.getRules()) {
System.out.println("Rule ID: " + rule.getId());
System.out.println("MaxAgeSeconds: " + rule.getMaxAgeSeconds());
System.out.println("AllowedMethod: " + rule.getAllowedMethods());
System.out.println("AllowedOrigins: " + rule.getAllowedOrigins());
System.out.println("AllowedHeaders: " + rule.getAllowedHeaders());
System.out.println("ExposeHeader: " + rule.getExposedHeaders());
System.out.println();
}
}
}
use of com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule in project aws-doc-sdk-examples by awsdocs.
the class LifecycleConfiguration method main.
public static void main(String[] args) throws IOException {
Regions clientRegion = Regions.DEFAULT_REGION;
String bucketName = "*** Bucket name ***";
// Create a rule to archive objects with the "glacierobjects/" prefix to Glacier immediately.
BucketLifecycleConfiguration.Rule rule1 = new BucketLifecycleConfiguration.Rule().withId("Archive immediately rule").withFilter(new LifecycleFilter(new LifecyclePrefixPredicate("glacierobjects/"))).addTransition(new Transition().withDays(0).withStorageClass(StorageClass.Glacier)).withStatus(BucketLifecycleConfiguration.ENABLED);
// Create a rule to transition objects to the Standard-Infrequent Access storage class
// after 30 days, then to Glacier after 365 days. Amazon S3 will delete the objects after 3650 days.
// The rule applies to all objects with the tag "archive" set to "true".
BucketLifecycleConfiguration.Rule rule2 = new BucketLifecycleConfiguration.Rule().withId("Archive and then delete rule").withFilter(new LifecycleFilter(new LifecycleTagPredicate(new Tag("archive", "true")))).addTransition(new Transition().withDays(30).withStorageClass(StorageClass.StandardInfrequentAccess)).addTransition(new Transition().withDays(365).withStorageClass(StorageClass.Glacier)).withExpirationInDays(3650).withStatus(BucketLifecycleConfiguration.ENABLED);
// Add the rules to a new BucketLifecycleConfiguration.
BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(Arrays.asList(rule1, rule2));
try {
AmazonS3 s3Client = AmazonS3ClientBuilder.standard().withCredentials(new ProfileCredentialsProvider()).withRegion(clientRegion).build();
// Save the configuration.
s3Client.setBucketLifecycleConfiguration(bucketName, configuration);
// Retrieve the configuration.
configuration = s3Client.getBucketLifecycleConfiguration(bucketName);
// Add a new rule with both a prefix predicate and a tag predicate.
configuration.getRules().add(new BucketLifecycleConfiguration.Rule().withId("NewRule").withFilter(new LifecycleFilter(new LifecycleAndOperator(Arrays.asList(new LifecyclePrefixPredicate("YearlyDocuments/"), new LifecycleTagPredicate(new Tag("expire_after", "ten_years")))))).withExpirationInDays(3650).withStatus(BucketLifecycleConfiguration.ENABLED));
// Save the configuration.
s3Client.setBucketLifecycleConfiguration(bucketName, configuration);
// Retrieve the configuration.
configuration = s3Client.getBucketLifecycleConfiguration(bucketName);
// Verify that the configuration now has three rules.
configuration = s3Client.getBucketLifecycleConfiguration(bucketName);
System.out.println("Expected # of rules = 3; found: " + configuration.getRules().size());
// Delete the configuration.
s3Client.deleteBucketLifecycleConfiguration(bucketName);
// Verify that the configuration has been deleted by attempting to retrieve it.
configuration = s3Client.getBucketLifecycleConfiguration(bucketName);
String s = (configuration == null) ? "No configuration found." : "Configuration found.";
System.out.println(s);
} catch (AmazonServiceException e) {
// The call was transmitted successfully, but Amazon S3 couldn't process
// it, so it returned an error response.
e.printStackTrace();
} catch (SdkClientException e) {
// Amazon S3 couldn't be contacted for a response, or the client
// couldn't parse the response from Amazon S3.
e.printStackTrace();
}
}
Aggregations