List of usage examples for com.amazonaws.services.s3.model BucketLifecycleConfiguration BucketLifecycleConfiguration
public BucketLifecycleConfiguration()
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./*w ww .j av a2 s. co 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:cloudExplorer.BucketTransition.java
License:Open Source License
public void run() { AWSCredentials credentials = new BasicAWSCredentials(access_key, secret_key); AmazonS3 s3Client = new AmazonS3Client(credentials, new ClientConfiguration().withSignerOverride("S3SignerType")); s3Client.setEndpoint(endpoint);/*from ww w. j a v a 2 s . c o m*/ int converted_days = 0; if (!disabled) { converted_days = Integer.parseInt(days); } BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = null; if (!disabled) { ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule().withPrefix(prefix) .withExpirationInDays(converted_days) .withStatus(BucketLifecycleConfiguration.ENABLED.toString()); } else { ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule().withPrefix(prefix) .withExpirationInDays(100).withStatus(BucketLifecycleConfiguration.DISABLED.toString()); } List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>(); rules.add(ruleArchiveAndExpire); try { BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(rules); s3Client.setBucketLifecycleConfiguration(bucket, configuration); } catch (Exception get) { mainFrame.jTextArea1.append("\n" + get.getMessage()); } if (!disabled) { mainFrame.jTextArea1.append("\nSent request to change bucket life cycle to " + converted_days + " day(s). Please observe for any errors."); } else { mainFrame.jTextArea1 .append("\nSent request to disable the bucket life cycle. Please observe for any errors."); } calibrate(); mainFrame.jPanel9.setVisible(true); }
From source file:cloudExplorer.BucketTransitionGlacier.java
License:Open Source License
public void run() { AWSCredentials credentials = new BasicAWSCredentials(access_key, secret_key); AmazonS3 s3Client = new AmazonS3Client(credentials, new ClientConfiguration().withSignerOverride("S3SignerType")); s3Client.setEndpoint(endpoint);/*from w w w.jav a 2 s . c o m*/ int converted_days = 0; if (!disabled) { converted_days = Integer.parseInt(days); } Transition transToArchive = new Transition().withDays(converted_days) .withStorageClass(StorageClass.Glacier); BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = null; if (!disabled) { ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule().withPrefix(prefix) .withTransition(transToArchive) // .withExpirationInDays(converted_days + 1) .withStatus(BucketLifecycleConfiguration.ENABLED.toString()); } else { ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule().withPrefix(prefix) .withTransition(transToArchive) //.withExpirationInDays(100) .withStatus(BucketLifecycleConfiguration.DISABLED.toString()); } List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>(); rules.add(ruleArchiveAndExpire); try { BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(rules); s3Client.setBucketLifecycleConfiguration(bucket, configuration); } catch (Exception get) { mainFrame.jTextArea1.append("\n" + get.getMessage()); } if (!disabled) { mainFrame.jTextArea1.append("\nSent request to set bucket life cycle to tier to Glacier after: " + converted_days + " day(s). Please observe for any errors."); } else { mainFrame.jTextArea1 .append("\nSent request to disable the bucket life cycle. Please observe for any errors."); } calibrate(); }
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())); }/*from www.ja v a 2 s . co 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; }
From source file:com.eucalyptus.imaging.manifest.DownloadManifestFactory.java
License:Open Source License
/** * Creates system owned bucket to store download manifest files * @throws EucalyptusCloudException/*from www. j a v a2s . c o m*/ */ public static void createManifestsBucket(@Nonnull EucaS3Client s3Client) throws EucalyptusCloudException { if (checkManifestsBucket(s3Client)) return; Bucket manifestBucket; try { manifestBucket = s3Client.createBucket(DOWNLOAD_MANIFEST_BUCKET_NAME); } catch (Exception e) { LOG.error("Error creating manifest bucket " + DOWNLOAD_MANIFEST_BUCKET_NAME, e); throw new EucalyptusCloudException("Failed to create bucket " + DOWNLOAD_MANIFEST_BUCKET_NAME, e); } try { BucketLifecycleConfiguration lc = new BucketLifecycleConfiguration(); BucketLifecycleConfiguration.Rule expireRule = new BucketLifecycleConfiguration.Rule(); expireRule.setId("Manifest Expiration Rule"); expireRule.setPrefix(DOWNLOAD_MANIFEST_PREFIX); expireRule.setStatus("Enabled"); expireRule.setExpirationInDays(1); lc = lc.withRules(expireRule); s3Client.setBucketLifecycleConfiguration(manifestBucket.getName(), lc); } catch (Exception e) { throw new EucalyptusCloudException( "Failed to set bucket lifecycle on bucket " + DOWNLOAD_MANIFEST_BUCKET_NAME, e); } LOG.debug("Created bucket for download-manifests " + DOWNLOAD_MANIFEST_BUCKET_NAME); }
From source file:edu.iit.s3bucket.S3Bucket.java
/** * *//*from w w w . ja v a 2s .c o m*/ public void setRules() { Transition transToArchive = new Transition().withDays(365).withStorageClass(StorageClass.Glacier); BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule() .withId("Archive and delete rule").withTransition(transToArchive).withExpirationInDays(3650) .withStatus(BucketLifecycleConfiguration.ENABLED.toString()); List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>(); rules.add(ruleArchiveAndExpire); BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(rules); // Save configuration. s3client.setBucketLifecycleConfiguration(this.bucketname, configuration); }
From source file:org.cloudifysource.esc.driver.provisioning.privateEc2.AmazonS3Uploader.java
License:Open Source License
/** * Upload file.// w w w. ja v a 2 s . com * * @param bucketFullPath * The path of the bucket where to download the file. * @param file * The file to upload. * @return The URL to access the file in s3 */ public S3Object uploadFile(final String bucketFullPath, final File file) { final BucketLifecycleConfiguration.Rule ruleArchiveAndExpire = new BucketLifecycleConfiguration.Rule() .withId("Delete cloudFolder archives").withPrefix(this.extractPrefix(bucketFullPath) + ZIP_PREFIX) .withExpirationInDays(1).withStatus(BucketLifecycleConfiguration.ENABLED.toString()); final List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<BucketLifecycleConfiguration.Rule>(); rules.add(ruleArchiveAndExpire); final BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(rules); this.s3client.setBucketLifecycleConfiguration(bucketFullPath, configuration); final PutObjectRequest putObjectRequest = new PutObjectRequest(bucketFullPath, this.accessKey, file); putObjectRequest.setKey(file.getName()); final ObjectMetadata metadata = new ObjectMetadata(); putObjectRequest.setMetadata(metadata); this.s3client.putObject(putObjectRequest); final S3Object object = this.s3client.getObject(bucketFullPath, file.getName()); return object; }
From source file:org.duracloud.s3storage.S3StorageProvider.java
License:Apache License
/** * Creates a "hidden" space. This space will not be returned by the StorageProvider.getSpaces() method. * It can be accessed using the getSpace* methods. You must know the name of the space in order to * access it.//from ww w . j ava 2 s. c o m * @param spaceId The spaceId * @param expirationInDays The number of days before content in the space is automatically deleted. * @return */ public String createHiddenSpace(String spaceId, int expirationInDays) { String bucketName = getHiddenBucketName(spaceId); try { Bucket bucket = s3Client.createBucket(bucketName); // Apply lifecycle config to bucket BucketLifecycleConfiguration.Rule expiresRule = new BucketLifecycleConfiguration.Rule() .withId("ExpirationRule").withExpirationInDays(expirationInDays) .withStatus(BucketLifecycleConfiguration.ENABLED); // Add the rules to a new BucketLifecycleConfiguration. BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(expiresRule); s3Client.setBucketLifecycleConfiguration(bucketName, configuration); return spaceId; } catch (AmazonClientException e) { String err = "Could not create S3 bucket with name " + bucketName + " due to error: " + e.getMessage(); throw new StorageException(err, e, RETRY); } }
From source file:org.duracloud.s3storage.StoragePolicy.java
License:Apache License
public BucketLifecycleConfiguration getBucketLifecycleConfig() { // Define the transition to another storage class BucketLifecycleConfiguration.Transition transition = new BucketLifecycleConfiguration.Transition() .withDays(daysToTransition).withStorageClass(storageClass); String policyName = "Transition to " + storageClass.name() + " in " + daysToTransition + " days"; // Use the transition in a rule BucketLifecycleConfiguration.Rule rule = new BucketLifecycleConfiguration.Rule().withId(policyName) .withPrefix("").withStatus(BucketLifecycleConfiguration.ENABLED.toString()); rule.addTransition(transition);/*from w w w . j a v a 2 s . c o m*/ return new BucketLifecycleConfiguration().withRules(rule); }
From source file:org.duracloud.snapshottask.snapshot.CleanupSnapshotTaskRunner.java
License:Apache License
@Override public String performTask(String taskParameters) { CleanupSnapshotTaskParameters taskParams = CleanupSnapshotTaskParameters.deserialize(taskParameters); final String spaceId = taskParams.getSpaceId(); final String userId = SecurityContextHolder.getContext().getAuthentication().getName(); String bucketName = unwrappedSnapshotProvider.getBucketName(spaceId); log.info("Performing Cleanup Snapshot Task for spaceID: " + spaceId); // Create bucket deletion policy BucketLifecycleConfiguration.Rule expireRule = new BucketLifecycleConfiguration.Rule() .withId("clear-content-rule").withExpirationInDays(EXPIRATION_DAYS) .withStatus(BucketLifecycleConfiguration.ENABLED.toString()); List<BucketLifecycleConfiguration.Rule> rules = new ArrayList<>(); rules.add(expireRule);/*from w w w. ja v a 2 s . c om*/ BucketLifecycleConfiguration configuration = new BucketLifecycleConfiguration().withRules(rules); // Set policy on bucket s3Client.setBucketLifecycleConfiguration(bucketName, configuration); queueContentDeleteAuditTasks(spaceId, userId); log.info("Cleanup Snapshot Task for space " + spaceId + " completed successfully"); return new CleanupSnapshotTaskResult(EXPIRATION_DAYS).serialize(); }