Example usage for com.amazonaws.services.s3.model BucketVersioningConfiguration ENABLED

List of usage examples for com.amazonaws.services.s3.model BucketVersioningConfiguration ENABLED

Introduction

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

Prototype

String ENABLED

To view the source code for com.amazonaws.services.s3.model BucketVersioningConfiguration ENABLED.

Click Source Link

Document

S3 bucket versioning status indicating that versioning is enabled for a bucket.

Usage

From source file:Validation.java

License:Open Source License

public static boolean checkBucketIsVersioned(String bucketName, AWSClientFactory awsClientFactory) {
    final BucketVersioningConfiguration bucketVersioningConfig = awsClientFactory.getS3Client()
            .getBucketVersioningConfiguration(bucketName);
    return bucketVersioningConfig.getStatus().equals(BucketVersioningConfiguration.ENABLED);
}

From source file:cloudExplorer.BucketClass.java

License:Open Source License

String controlVersioning(String access_key, String secret_key, String bucket, String endpoint, String region,
        Boolean enable) {//from  w  ww .  j  a v  a  2  s  .  co  m

    String message = null;
    AWSCredentials credentials = new BasicAWSCredentials(access_key, secret_key);
    AmazonS3 s3Client = new AmazonS3Client(credentials,
            new ClientConfiguration().withSignerOverride("S3SignerType"));
    s3Client.setEndpoint(endpoint);
    try {
        SetBucketVersioningConfigurationRequest request;
        if (enable) {
            request = new SetBucketVersioningConfigurationRequest(bucket,
                    new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED));
        } else {
            request = new SetBucketVersioningConfigurationRequest(bucket,
                    new BucketVersioningConfiguration(BucketVersioningConfiguration.SUSPENDED));
        }
        s3Client.setBucketVersioningConfiguration(request);
        message = "\nBucket Versioning is:" + request.getVersioningConfiguration().getStatus();
    } catch (Exception versioning) {
        message = "\n" + versioning.getMessage();
    }
    if (message == null) {
        message = "\nVersioning failed.";
    }
    return message;

}

From source file:com.emc.ecs.sync.source.S3Source.java

License:Open Source License

@Override
public void configure(SyncSource source, Iterator<SyncFilter> filters, SyncTarget target) {
    Assert.hasText(accessKey, "accessKey is required");
    Assert.hasText(secretKey, "secretKey is required");
    Assert.hasText(bucketName, "bucketName is required");
    Assert.isTrue(bucketName.matches("[A-Za-z0-9._-]+"), bucketName + " is not a valid bucket name");

    AWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
    ClientConfiguration config = new ClientConfiguration();

    if (protocol != null)
        config.setProtocol(Protocol.valueOf(protocol.toUpperCase()));

    if (legacySignatures)
        config.setSignerOverride("S3SignerType");

    if (socketTimeoutMs >= 0)
        config.setSocketTimeout(socketTimeoutMs);

    s3 = new AmazonS3Client(creds, config);

    if (endpoint != null)
        s3.setEndpoint(endpoint);/*from  w  w w  .  jav a  2  s  . co m*/

    // TODO: generalize uri translation
    AwsS3Util.S3Uri s3Uri = new AwsS3Util.S3Uri();
    s3Uri.protocol = protocol;
    s3Uri.endpoint = endpoint;
    s3Uri.accessKey = accessKey;
    s3Uri.secretKey = secretKey;
    s3Uri.rootKey = rootKey;
    if (sourceUri == null)
        sourceUri = s3Uri.toUri();

    if (disableVHosts) {
        log.info(
                "The use of virtual hosted buckets on the s3 source has been DISABLED.  Path style buckets will be used.");
        S3ClientOptions opts = new S3ClientOptions();
        opts.setPathStyleAccess(true);
        s3.setS3ClientOptions(opts);
    }

    if (!s3.doesBucketExist(bucketName)) {
        throw new ConfigurationException("The bucket " + bucketName + " does not exist.");
    }

    if (rootKey == null)
        rootKey = ""; // make sure rootKey isn't null

    // for version support. TODO: genericize version support
    if (target instanceof S3Target) {
        s3Target = (S3Target) target;
        if (s3Target.isIncludeVersions()) {
            BucketVersioningConfiguration versioningConfig = s3.getBucketVersioningConfiguration(bucketName);
            List<String> versionedStates = Arrays.asList(BucketVersioningConfiguration.ENABLED,
                    BucketVersioningConfiguration.SUSPENDED);
            versioningEnabled = versionedStates.contains(versioningConfig.getStatus());
        }
    }
}

From source file:com.emc.ecs.sync.target.S3Target.java

License:Open Source License

@Override
public void configure(SyncSource source, Iterator<SyncFilter> filters, SyncTarget target) {
    Assert.hasText(accessKey, "accessKey is required");
    Assert.hasText(secretKey, "secretKey is required");
    Assert.hasText(bucketName, "bucketName is required");
    Assert.isTrue(bucketName.matches("[A-Za-z0-9._-]+"), bucketName + " is not a valid bucket name");

    AWSCredentials creds = new BasicAWSCredentials(accessKey, secretKey);
    ClientConfiguration config = new ClientConfiguration();

    if (protocol != null)
        config.setProtocol(Protocol.valueOf(protocol.toUpperCase()));

    if (legacySignatures)
        config.setSignerOverride("S3SignerType");

    if (socketTimeoutMs >= 0)
        config.setSocketTimeout(socketTimeoutMs);

    s3 = new AmazonS3Client(creds, config);

    if (endpoint != null)
        s3.setEndpoint(endpoint);//  www .  j  a  va2  s  .  com

    // TODO: generalize uri translation
    AwsS3Util.S3Uri s3Uri = new AwsS3Util.S3Uri();
    s3Uri.protocol = protocol;
    s3Uri.endpoint = endpoint;
    s3Uri.accessKey = accessKey;
    s3Uri.secretKey = secretKey;
    s3Uri.rootKey = rootKey;
    if (targetUri == null)
        targetUri = s3Uri.toUri();

    if (disableVHosts) {
        log.info(
                "The use of virtual hosted buckets on the s3 source has been DISABLED.  Path style buckets will be used.");
        S3ClientOptions opts = new S3ClientOptions();
        opts.setPathStyleAccess(true);
        s3.setS3ClientOptions(opts);
    }

    // for version support. TODO: genericize version support
    if (source instanceof S3Source) {
        s3Source = (S3Source) source;
        if (!s3Source.isVersioningEnabled())
            includeVersions = false; // don't include versions if source versioning is off
    } else if (includeVersions) {
        throw new ConfigurationException(
                "Object versions are currently only supported with the S3 source & target plugins.");
    }

    if (!s3.doesBucketExist(bucketName)) {
        if (createBucket) {
            s3.createBucket(bucketName);
            if (includeVersions)
                s3.setBucketVersioningConfiguration(new SetBucketVersioningConfigurationRequest(bucketName,
                        new BucketVersioningConfiguration(BucketVersioningConfiguration.ENABLED)));
        } else {
            throw new ConfigurationException("The bucket " + bucketName + " does not exist.");
        }
    }

    if (rootKey == null)
        rootKey = ""; // make sure rootKey isn't null

    if (includeVersions) {
        String status = s3.getBucketVersioningConfiguration(bucketName).getStatus();
        if (BucketVersioningConfiguration.OFF.equals(status))
            throw new ConfigurationException("The specified bucket does not have versioning enabled.");
    }

    if (mpuThresholdMB > AwsS3Util.MAX_PUT_SIZE_MB) {
        log.warn("{}MB is above the maximum PUT size of {}MB. the maximum will be used instead", mpuThresholdMB,
                AwsS3Util.MAX_PUT_SIZE_MB);
        mpuThresholdMB = AwsS3Util.MAX_PUT_SIZE_MB;
    }
    if (mpuPartSizeMB < AwsS3Util.MIN_PART_SIZE_MB) {
        log.warn("{}MB is below the minimum MPU part size of {}MB. the minimum will be used instead",
                mpuPartSizeMB, AwsS3Util.MIN_PART_SIZE_MB);
        mpuPartSizeMB = AwsS3Util.MIN_PART_SIZE_MB;
    }
}

From source file:org.yardstickframework.spark.S3MasterUrlProvider.java

License:Apache License

/**
 * Method init amazon s3 API.//from w  ww.j a v  a 2s. c o  m
 */
private void initAwsClient() {
    if (clientInit)
        return;

    String awsAccessKey = System.getenv("AWS_ACCESS_KEY");

    String awsSecretKey = System.getenv("AWS_SECRET_KEY");

    AWSCredentials cred;

    if (awsAccessKey == null || awsAccessKey.isEmpty() || awsSecretKey == null || awsSecretKey.isEmpty())
        throw new IllegalArgumentException("AWS credentials are not set.");
    else
        cred = new BasicAWSCredentials(awsAccessKey, awsSecretKey);

    if (bucketName == null || bucketName.isEmpty())
        throw new IllegalArgumentException("Bucket name is null or empty (provide bucket name and restart).");

    s3 = new AmazonS3Client(cred);

    if (!s3.doesBucketExist(bucketName)) {
        try {
            s3.createBucket(bucketName);

            BucketVersioningConfiguration verCfg = new BucketVersioningConfiguration();

            verCfg.setStatus(BucketVersioningConfiguration.ENABLED);

            s3.setBucketVersioningConfiguration(
                    new SetBucketVersioningConfigurationRequest(bucketName, verCfg));

            println("Created S3 bucket: " + bucketName);

            while (!s3.doesBucketExist(bucketName))
                try {
                    TimeUnit.MILLISECONDS.sleep(200L);
                } catch (Exception e) {
                    throw new RuntimeException("Thread has been interrupted.", e);
                }
        } catch (AmazonClientException e) {
            if (!s3.doesBucketExist(bucketName)) {
                s3 = null;

                throw new RuntimeException("Failed to create bucket: " + bucketName, e);
            }
        }
    }

    // Client init success.
    clientInit = true;
}