List of usage examples for com.amazonaws.services.cloudfront.model DistributionConfig setLogging
public void setLogging(LoggingConfig logging)
A complex type that controls whether access logs are written for the distribution.
From source file:ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.java
License:Open Source License
protected com.amazonaws.services.cloudfront.model.Distribution createDownloadDistribution(final Path container, final Distribution distribution) throws BackgroundException { if (log.isDebugEnabled()) { log.debug(String.format("Create new %s distribution", distribution.getMethod().toString())); }//from w ww. ja v a2 s . co m final AmazonCloudFront client = client(container); final URI origin = this.getOrigin(container, distribution.getMethod()); final String originId = String.format("%s-%s", preferences.getProperty("application.name"), new AlphanumericRandomStringService().random()); final DistributionConfig config = new DistributionConfig(new AlphanumericRandomStringService().random(), distribution.isEnabled()) .withComment(originId) .withOrigins( new Origins().withQuantity(1) .withItems(new Origin().withId(originId) .withCustomHeaders(new CustomHeaders().withQuantity(0)) .withOriginPath(StringUtils.EMPTY).withDomainName(origin.getHost()) .withS3OriginConfig(new S3OriginConfig() .withOriginAccessIdentity(StringUtils.EMPTY)))) .withPriceClass(PriceClass.PriceClass_All) .withDefaultCacheBehavior(new DefaultCacheBehavior().withTargetOriginId(originId) .withForwardedValues(new ForwardedValues().withQueryString(true) .withCookies(new CookiePreference().withForward(ItemSelection.All))) .withViewerProtocolPolicy(ViewerProtocolPolicy.AllowAll).withMinTTL(0L) .withTrustedSigners(new TrustedSigners().withEnabled(false).withQuantity(0))) .withDefaultRootObject(distribution.getIndexDocument()).withAliases(new Aliases() .withItems(distribution.getCNAMEs()).withQuantity(distribution.getCNAMEs().length)); // Make bucket name fully qualified final String loggingTarget = ServiceUtils.generateS3HostnameForBucket(distribution.getLoggingContainer(), false, new S3Protocol().getDefaultHostname()); if (log.isDebugEnabled()) { log.debug(String.format("Set logging target for %s to %s", distribution, loggingTarget)); } config.setLogging(new LoggingConfig().withEnabled(distribution.isLogging()).withIncludeCookies(true) .withBucket(loggingTarget).withPrefix(preferences.getProperty("cloudfront.logging.prefix"))); return client.createDistribution(new CreateDistributionRequest(config)).getDistribution(); }
From source file:ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.java
License:Open Source License
protected com.amazonaws.services.cloudfront.model.Distribution createCustomDistribution(final Path container, final Distribution distribution) throws BackgroundException { final AmazonCloudFront client = client(container); int httpPort = 80; int httpsPort = 443; final URI origin = this.getOrigin(container, distribution.getMethod()); if (origin.getPort() != -1) { if (origin.getScheme().equals(Scheme.http.name())) { httpPort = origin.getPort(); }/*from ww w. j ava 2 s . c o m*/ if (origin.getScheme().equals(Scheme.https.name())) { httpsPort = origin.getPort(); } } final String originId = String.format("%s-%s", preferences.getProperty("application.name"), new AlphanumericRandomStringService().random()); final DistributionConfig config = new DistributionConfig(new AlphanumericRandomStringService().random(), distribution.isEnabled()) .withComment(originId) .withOrigins(new Origins().withQuantity(1) .withItems(new Origin().withId(originId).withDomainName(origin.getHost()) .withCustomOriginConfig(new CustomOriginConfig().withHTTPPort(httpPort) .withHTTPSPort(httpsPort) .withOriginSslProtocols(new OriginSslProtocols().withQuantity(2) .withItems("TLSv1.1", "TLSv1.2")) .withOriginProtocolPolicy( this.getPolicy(distribution.getMethod()))))) .withPriceClass(PriceClass.PriceClass_All) .withDefaultCacheBehavior(new DefaultCacheBehavior().withTargetOriginId(originId) .withForwardedValues(new ForwardedValues().withQueryString(true) .withCookies(new CookiePreference().withForward(ItemSelection.All))) .withViewerProtocolPolicy(ViewerProtocolPolicy.AllowAll).withMinTTL(0L) .withTrustedSigners(new TrustedSigners().withEnabled(false).withQuantity(0))) .withDefaultRootObject(distribution.getIndexDocument()).withAliases(new Aliases() .withItems(distribution.getCNAMEs()).withQuantity(distribution.getCNAMEs().length)); if (distribution.isLogging()) { // Make bucket name fully qualified final String loggingTarget = ServiceUtils.generateS3HostnameForBucket( distribution.getLoggingContainer(), false, new S3Protocol().getDefaultHostname()); if (log.isDebugEnabled()) { log.debug(String.format("Set logging target for %s to %s", distribution, loggingTarget)); } config.setLogging(new LoggingConfig().withEnabled(distribution.isLogging()).withIncludeCookies(true) .withBucket(loggingTarget).withPrefix(preferences.getProperty("cloudfront.logging.prefix"))); } return client.createDistribution(new CreateDistributionRequest(config)).getDistribution(); }
From source file:ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.java
License:Open Source License
/** * Amazon CloudFront Extension used to enable or disable a distribution configuration and its CNAMESs *//*from w ww . java 2 s .c o m*/ protected UpdateDistributionResult updateDownloadDistribution(final Path container, final Distribution distribution) throws IOException, BackgroundException { final URI origin = this.getOrigin(container, distribution.getMethod()); if (log.isDebugEnabled()) { log.debug(String.format("Update %s distribution with origin %s", distribution.getMethod().toString(), origin)); } final AmazonCloudFront client = client(container); final GetDistributionConfigResult response = client .getDistributionConfig(new GetDistributionConfigRequest(distribution.getId())); final DistributionConfig config = response.getDistributionConfig().withEnabled(distribution.isEnabled()) .withDefaultRootObject(distribution.getIndexDocument()).withAliases(new Aliases() .withItems(distribution.getCNAMEs()).withQuantity(distribution.getCNAMEs().length)); if (distribution.isLogging()) { // Make bucket name fully qualified final String loggingTarget = ServiceUtils.generateS3HostnameForBucket( distribution.getLoggingContainer(), false, new S3Protocol().getDefaultHostname()); if (log.isDebugEnabled()) { log.debug(String.format("Set logging target for %s to %s", distribution, loggingTarget)); } config.setLogging(new LoggingConfig().withEnabled(distribution.isLogging()).withIncludeCookies(true) .withBucket(loggingTarget).withPrefix(preferences.getProperty("cloudfront.logging.prefix"))); } return client.updateDistribution( new UpdateDistributionRequest(config, distribution.getId(), response.getETag())); }
From source file:ch.cyberduck.core.cloudfront.CloudFrontDistributionConfiguration.java
License:Open Source License
protected UpdateDistributionResult updateCustomDistribution(final Path container, final Distribution distribution) throws IOException, BackgroundException { final URI origin = this.getOrigin(container, distribution.getMethod()); if (log.isDebugEnabled()) { log.debug(String.format("Update %s distribution with origin %s", distribution.getMethod().toString(), origin));/* www . ja v a2 s . co m*/ } final AmazonCloudFront client = client(container); final GetDistributionConfigResult response = client .getDistributionConfig(new GetDistributionConfigRequest(distribution.getId())); final DistributionConfig config = response.getDistributionConfig().withEnabled(distribution.isEnabled()) .withDefaultRootObject(distribution.getIndexDocument() != null ? distribution.getIndexDocument() : StringUtils.EMPTY) .withAliases(new Aliases().withItems(distribution.getCNAMEs()) .withQuantity(distribution.getCNAMEs().length)); // Make bucket name fully qualified final String loggingTarget = ServiceUtils.generateS3HostnameForBucket(distribution.getLoggingContainer(), false, new S3Protocol().getDefaultHostname()); if (log.isDebugEnabled()) { log.debug(String.format("Set logging target for %s to %s", distribution, loggingTarget)); } config.setLogging(new LoggingConfig().withEnabled(distribution.isLogging()).withIncludeCookies(true) .withBucket(loggingTarget).withPrefix(preferences.getProperty("cloudfront.logging.prefix"))); return client.updateDistribution( new UpdateDistributionRequest(config, distribution.getId(), response.getETag())); }