List of usage examples for com.amazonaws.services.cloudfront.model ListDistributionsRequest ListDistributionsRequest
ListDistributionsRequest
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/*from w w w.java2s.c o m*/ 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.streaminghls.BaseHlsTaskRunner.java
License:Apache License
/** * Determines if a streaming distribution already exists for a given bucket *//* w w w. j av a 2 s .c o m*/ protected List<DistributionSummary> getAllExistingWebDistributions(String bucketName) { List<DistributionSummary> distListForBucket = new ArrayList<>(); DistributionList distList = cfClient.listDistributions(new ListDistributionsRequest()) .getDistributionList(); List<DistributionSummary> webDistList = distList.getItems(); while (distList.isTruncated()) { distList = cfClient .listDistributions(new ListDistributionsRequest().withMarker(distList.getNextMarker())) .getDistributionList(); webDistList.addAll(distList.getItems()); } for (DistributionSummary distSummary : webDistList) { if (isDistFromBucket(bucketName, distSummary)) { distListForBucket.add(distSummary); } } return distListForBucket; }