List of usage examples for com.amazonaws.services.s3.model BucketLifecycleConfiguration setRules
public void setRules(List<Rule> rules)
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; }