Example usage for com.amazonaws.services.s3.model BucketLifecycleConfiguration setRules

List of usage examples for com.amazonaws.services.s3.model BucketLifecycleConfiguration setRules

Introduction

In this page you can find the example usage for com.amazonaws.services.s3.model BucketLifecycleConfiguration setRules.

Prototype

public void setRules(List<Rule> rules) 

Source Link

Document

Sets the rules that comprise this configuration.

Usage

From source file:c3.ops.priam.aws.S3FileSystem.java

License:Apache License

/**
 * Note: Current limitation allows only 100 object expiration rules to be
 * set. Removes the rule is set to 0./*from w w  w.ja v  a 2s . c  o m*/
 */
@Override
public void cleanup() {
    AmazonS3 s3Client = getS3Client();
    String clusterPath = pathProvider.get().clusterPrefix("");
    BucketLifecycleConfiguration lifeConfig = s3Client
            .getBucketLifecycleConfiguration(config.getBackupPrefix());
    if (lifeConfig == null) {
        lifeConfig = new BucketLifecycleConfiguration();
        List<Rule> rules = Lists.newArrayList();
        lifeConfig.setRules(rules);
    }
    List<Rule> rules = lifeConfig.getRules();
    if (updateLifecycleRule(rules, clusterPath)) {
        if (rules.size() > 0) {
            lifeConfig.setRules(rules);
            s3Client.setBucketLifecycleConfiguration(config.getBackupPrefix(), lifeConfig);
        } else
            s3Client.deleteBucketLifecycleConfiguration(config.getBackupPrefix());
    }
}

From source file:com.eucalyptus.cloudformation.resources.standard.actions.AWSS3BucketResourceAction.java

License:Open Source License

private BucketLifecycleConfiguration convertLifecycleConfiguration(
        S3LifecycleConfiguration lifecycleConfiguration) throws AuthenticationException {
    BucketLifecycleConfiguration bucketLifecycleConfiguration = new BucketLifecycleConfiguration();
    if (lifecycleConfiguration.getRules() != null) {
        List<BucketLifecycleConfiguration.Rule> rules = Lists.newArrayList();
        for (S3LifecycleRule s3LifecycleRule : lifecycleConfiguration.getRules()) {
            BucketLifecycleConfiguration.Rule rule = new BucketLifecycleConfiguration.Rule();
            rule.setId(s3LifecycleRule.getId());
            if (s3LifecycleRule.getExpirationDate() != null) {
                rule.setExpirationDate(Timestamps.parseIso8601Timestamp(s3LifecycleRule.getExpirationDate()));
            }/*  w w w . j a v  a 2 s.c  o  m*/
            if (s3LifecycleRule.getExpirationInDays() != null) {
                rule.setExpirationInDays(s3LifecycleRule.getExpirationInDays());
            }
            rule.setPrefix(s3LifecycleRule.getPrefix());
            rule.setStatus(s3LifecycleRule.getStatus());
            if (s3LifecycleRule.getTransition() != null) {
                BucketLifecycleConfiguration.Transition transition = new BucketLifecycleConfiguration.Transition();
                if (s3LifecycleRule.getTransition().getStorageClass() != null) {
                    transition.setStorageClass(
                            StorageClass.valueOf(s3LifecycleRule.getTransition().getStorageClass()));
                }
                if (s3LifecycleRule.getExpirationDate() != null) {
                    transition.setDate(Timestamps.parseIso8601Timestamp(s3LifecycleRule.getExpirationDate()));
                }
                if (s3LifecycleRule.getExpirationInDays() != null) {
                    transition.setDays(s3LifecycleRule.getExpirationInDays());
                }
                rule.setTransition(transition);
            }
            rules.add(rule);
        }
        bucketLifecycleConfiguration.setRules(rules);
    }
    return bucketLifecycleConfiguration;
}