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

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

Introduction

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

Prototype

public BucketLifecycleConfiguration() 

Source Link

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./*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();
}