Search in sources :

Example 16 with Rule

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());
}
Also used : LifecycleAndOperator(com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator) LifecycleTagPredicate(com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate) LifecycleFilterPredicate(com.amazonaws.services.s3.model.lifecycle.LifecycleFilterPredicate) Rule(com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule) Tag(com.amazonaws.services.s3.model.Tag) Test(org.junit.Test)

Example 17 with Rule

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());
}
Also used : LifecycleAndOperator(com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator) LifecycleTagPredicate(com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate) LifecycleFilterPredicate(com.amazonaws.services.s3.model.lifecycle.LifecycleFilterPredicate) Rule(com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule) Test(org.junit.Test)

Example 18 with Rule

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());
}
Also used : HttpResponse(com.amazonaws.http.HttpResponse) ObjectMetadata(com.amazonaws.services.s3.model.ObjectMetadata) Test(org.junit.Test)

Example 19 with Rule

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();
        }
    }
}
Also used : CORSRule(com.amazonaws.services.s3.model.CORSRule)

Example 20 with Rule

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();
    }
}
Also used : AmazonS3(com.amazonaws.services.s3.AmazonS3) LifecycleAndOperator(com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator) LifecycleFilter(com.amazonaws.services.s3.model.lifecycle.LifecycleFilter) Regions(com.amazonaws.regions.Regions) BucketLifecycleConfiguration(com.amazonaws.services.s3.model.BucketLifecycleConfiguration) LifecyclePrefixPredicate(com.amazonaws.services.s3.model.lifecycle.LifecyclePrefixPredicate) SdkClientException(com.amazonaws.SdkClientException) LifecycleTagPredicate(com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate) Transition(com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Transition) AmazonServiceException(com.amazonaws.AmazonServiceException) ProfileCredentialsProvider(com.amazonaws.auth.profile.ProfileCredentialsProvider) Tag(com.amazonaws.services.s3.model.Tag)

Aggregations

Test (org.junit.Test)15 Rule (com.amazonaws.services.s3.model.BucketLifecycleConfiguration.Rule)13 CORSRule (com.amazonaws.services.s3.model.CORSRule)7 BucketLifecycleConfiguration (com.amazonaws.services.s3.model.BucketLifecycleConfiguration)6 LifecycleTagPredicate (com.amazonaws.services.s3.model.lifecycle.LifecycleTagPredicate)6 LifecycleAndOperator (com.amazonaws.services.s3.model.lifecycle.LifecycleAndOperator)5 HttpResponse (com.amazonaws.http.HttpResponse)4 AmazonS3 (com.amazonaws.services.s3.AmazonS3)4 XmlWriter (com.amazonaws.services.s3.internal.XmlWriter)4 RedirectRule (com.amazonaws.services.s3.model.RedirectRule)4 ReplicationRule (com.amazonaws.services.s3.model.ReplicationRule)4 LifecycleFilter (com.amazonaws.services.s3.model.lifecycle.LifecycleFilter)4 LifecycleFilterPredicate (com.amazonaws.services.s3.model.lifecycle.LifecycleFilterPredicate)4 LifecyclePrefixPredicate (com.amazonaws.services.s3.model.lifecycle.LifecyclePrefixPredicate)4 AmazonServiceException (com.amazonaws.AmazonServiceException)3 SdkClientException (com.amazonaws.SdkClientException)3 ProfileCredentialsProvider (com.amazonaws.auth.profile.ProfileCredentialsProvider)3 Regions (com.amazonaws.regions.Regions)3 ObjectMetadata (com.amazonaws.services.s3.model.ObjectMetadata)3 ReplicationDestinationConfig (com.amazonaws.services.s3.model.ReplicationDestinationConfig)3