Example usage for com.amazonaws.services.cloudfront.model StreamingDistributionSummary getS3Origin

List of usage examples for com.amazonaws.services.cloudfront.model StreamingDistributionSummary getS3Origin

Introduction

In this page you can find the example usage for com.amazonaws.services.cloudfront.model StreamingDistributionSummary getS3Origin.

Prototype


public S3Origin getS3Origin() 

Source Link

Document

A complex type that contains information about the Amazon S3 bucket from which you want CloudFront to get your media files for distribution.

Usage

From source file:ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.java

License:Open Source License

@Override
public Distribution read(final Path file, final Distribution.Method method, final LoginCallback prompt)
        throws BackgroundException {
    final Path container = containerService.getContainer(file);
    return this.authenticated(new Authenticated<Distribution>() {
        @Override/* w ww . java 2  s .c om*/
        public Distribution call() throws BackgroundException {
            try {
                if (log.isDebugEnabled()) {
                    log.debug(String.format("List %s distributions", method));
                }
                final AmazonCloudFront client = client(container);
                if (method.equals(Distribution.STREAMING)) {
                    for (StreamingDistributionSummary d : client
                            .listStreamingDistributions(new ListStreamingDistributionsRequest())
                            .getStreamingDistributionList().getItems()) {
                        final S3Origin config = d.getS3Origin();
                        if (config != null) {
                            final URI origin = getOrigin(container, method);
                            if (config.getDomainName().equals(origin.getHost())) {
                                // We currently only support one distribution per bucket
                                final Distribution distribution = readStreamingDistribution(client, d,
                                        container, method);
                                cache.put(container, distribution);
                                return distribution;
                            }
                        }
                    }
                } else if (method.equals(Distribution.DOWNLOAD)) {
                    // List distributions restricting to bucket name origin
                    for (DistributionSummary d : client.listDistributions(new ListDistributionsRequest())
                            .getDistributionList().getItems()) {
                        for (Origin o : d.getOrigins().getItems()) {
                            final S3OriginConfig config = o.getS3OriginConfig();
                            if (config != null) {
                                final URI origin = getOrigin(container, method);
                                if (o.getDomainName().equals(origin.getHost())) {
                                    // We currently only support one distribution per bucket
                                    final Distribution distribution = readDownloadDistribution(client, d,
                                            container, method);
                                    cache.put(container, distribution);
                                    return distribution;
                                }
                            }
                        }
                    }
                } else if (method.equals(Distribution.CUSTOM) || method.equals(Distribution.WEBSITE_CDN)) {
                    for (DistributionSummary d : client.listDistributions(new ListDistributionsRequest())
                            .getDistributionList().getItems()) {
                        for (Origin o : d.getOrigins().getItems()) {
                            // Listing all distributions and look for custom origin
                            final CustomOriginConfig config = o.getCustomOriginConfig();
                            if (config != null) {
                                final URI origin = getOrigin(container, method);
                                if (o.getDomainName().equals(origin.getHost())) {
                                    // We currently only support one distribution per bucket
                                    final Distribution distribution = readDownloadDistribution(client, d,
                                            container, method);
                                    cache.put(container, distribution);
                                    return distribution;
                                }
                            }
                        }
                    }
                }
                final URI origin = getOrigin(container, method);
                // Return disabled configuration
                return new Distribution(origin, method, false);
            } catch (AmazonClientException e) {
                throw new AmazonServiceExceptionMappingService().map("Cannot read CDN configuration", e);
            }
        }
    }, prompt);
}

From source file:org.duracloud.s3task.streaming.BaseStreamingTaskRunner.java

License:Apache License

private boolean isDistFromBucket(String bucketName, StreamingDistributionSummary distSummary) {
    String bucketOrigin = bucketName + S3_ORIGIN_SUFFIX;
    return bucketOrigin.equals(distSummary.getS3Origin().getDomainName());
}