/* * Copyright 2012-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudfront.model.transform; import static com.amazonaws.util.StringUtils.UTF8; import java.io.StringWriter; import javax.annotation.Generated; import com.amazonaws.SdkClientException; import com.amazonaws.Request; import com.amazonaws.DefaultRequest; import com.amazonaws.http.HttpMethodName; import com.amazonaws.services.cloudfront.model.*; import com.amazonaws.transform.Marshaller; import com.amazonaws.util.StringInputStream; import com.amazonaws.util.XMLWriter; /** * CreateDistributionRequest Marshaller */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateDistributionRequestMarshaller implements Marshaller<Request<CreateDistributionRequest>, CreateDistributionRequest> { public Request<CreateDistributionRequest> marshall(CreateDistributionRequest createDistributionRequest) { if (createDistributionRequest == null) { throw new SdkClientException("Invalid argument passed to marshall(...)"); } Request<CreateDistributionRequest> request = new DefaultRequest<CreateDistributionRequest>(createDistributionRequest, "AmazonCloudFront"); request.setHttpMethod(HttpMethodName.POST); String uriResourcePath = "/2017-03-25/distribution"; request.setResourcePath(uriResourcePath); try { StringWriter stringWriter = new StringWriter(); XMLWriter xmlWriter = new XMLWriter(stringWriter, "http://cloudfront.amazonaws.com/doc/2017-03-25/"); DistributionConfig distributionConfig = createDistributionRequest.getDistributionConfig(); if (distributionConfig != null) { xmlWriter.startElement("DistributionConfig"); if (distributionConfig.getCallerReference() != null) { xmlWriter.startElement("CallerReference").value(distributionConfig.getCallerReference()).endElement(); } Aliases aliases = distributionConfig.getAliases(); if (aliases != null) { xmlWriter.startElement("Aliases"); if (aliases.getQuantity() != null) { xmlWriter.startElement("Quantity").value(aliases.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> aliasesItemsList = (com.amazonaws.internal.SdkInternalList<String>) aliases.getItems(); if (!aliasesItemsList.isEmpty() || !aliasesItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String aliasesItemsListValue : aliasesItemsList) { xmlWriter.startElement("CNAME"); xmlWriter.value(aliasesItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (distributionConfig.getDefaultRootObject() != null) { xmlWriter.startElement("DefaultRootObject").value(distributionConfig.getDefaultRootObject()).endElement(); } Origins origins = distributionConfig.getOrigins(); if (origins != null) { xmlWriter.startElement("Origins"); if (origins.getQuantity() != null) { xmlWriter.startElement("Quantity").value(origins.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<Origin> originsItemsList = (com.amazonaws.internal.SdkInternalList<Origin>) origins.getItems(); if (!originsItemsList.isEmpty() || !originsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (Origin originsItemsListValue : originsItemsList) { xmlWriter.startElement("Origin"); if (originsItemsListValue.getId() != null) { xmlWriter.startElement("Id").value(originsItemsListValue.getId()).endElement(); } if (originsItemsListValue.getDomainName() != null) { xmlWriter.startElement("DomainName").value(originsItemsListValue.getDomainName()).endElement(); } if (originsItemsListValue.getOriginPath() != null) { xmlWriter.startElement("OriginPath").value(originsItemsListValue.getOriginPath()).endElement(); } CustomHeaders customHeaders = originsItemsListValue.getCustomHeaders(); if (customHeaders != null) { xmlWriter.startElement("CustomHeaders"); if (customHeaders.getQuantity() != null) { xmlWriter.startElement("Quantity").value(customHeaders.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<OriginCustomHeader> customHeadersItemsList = (com.amazonaws.internal.SdkInternalList<OriginCustomHeader>) customHeaders .getItems(); if (!customHeadersItemsList.isEmpty() || !customHeadersItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (OriginCustomHeader customHeadersItemsListValue : customHeadersItemsList) { xmlWriter.startElement("OriginCustomHeader"); if (customHeadersItemsListValue.getHeaderName() != null) { xmlWriter.startElement("HeaderName").value(customHeadersItemsListValue.getHeaderName()).endElement(); } if (customHeadersItemsListValue.getHeaderValue() != null) { xmlWriter.startElement("HeaderValue").value(customHeadersItemsListValue.getHeaderValue()).endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } S3OriginConfig s3OriginConfig = originsItemsListValue.getS3OriginConfig(); if (s3OriginConfig != null) { xmlWriter.startElement("S3OriginConfig"); if (s3OriginConfig.getOriginAccessIdentity() != null) { xmlWriter.startElement("OriginAccessIdentity").value(s3OriginConfig.getOriginAccessIdentity()).endElement(); } xmlWriter.endElement(); } CustomOriginConfig customOriginConfig = originsItemsListValue.getCustomOriginConfig(); if (customOriginConfig != null) { xmlWriter.startElement("CustomOriginConfig"); if (customOriginConfig.getHTTPPort() != null) { xmlWriter.startElement("HTTPPort").value(customOriginConfig.getHTTPPort()).endElement(); } if (customOriginConfig.getHTTPSPort() != null) { xmlWriter.startElement("HTTPSPort").value(customOriginConfig.getHTTPSPort()).endElement(); } if (customOriginConfig.getOriginProtocolPolicy() != null) { xmlWriter.startElement("OriginProtocolPolicy").value(customOriginConfig.getOriginProtocolPolicy()).endElement(); } OriginSslProtocols originSslProtocols = customOriginConfig.getOriginSslProtocols(); if (originSslProtocols != null) { xmlWriter.startElement("OriginSslProtocols"); if (originSslProtocols.getQuantity() != null) { xmlWriter.startElement("Quantity").value(originSslProtocols.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> originSslProtocolsItemsList = (com.amazonaws.internal.SdkInternalList<String>) originSslProtocols .getItems(); if (!originSslProtocolsItemsList.isEmpty() || !originSslProtocolsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String originSslProtocolsItemsListValue : originSslProtocolsItemsList) { xmlWriter.startElement("SslProtocol"); xmlWriter.value(originSslProtocolsItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (customOriginConfig.getOriginReadTimeout() != null) { xmlWriter.startElement("OriginReadTimeout").value(customOriginConfig.getOriginReadTimeout()).endElement(); } if (customOriginConfig.getOriginKeepaliveTimeout() != null) { xmlWriter.startElement("OriginKeepaliveTimeout").value(customOriginConfig.getOriginKeepaliveTimeout()).endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } DefaultCacheBehavior defaultCacheBehavior = distributionConfig.getDefaultCacheBehavior(); if (defaultCacheBehavior != null) { xmlWriter.startElement("DefaultCacheBehavior"); if (defaultCacheBehavior.getTargetOriginId() != null) { xmlWriter.startElement("TargetOriginId").value(defaultCacheBehavior.getTargetOriginId()).endElement(); } ForwardedValues forwardedValues = defaultCacheBehavior.getForwardedValues(); if (forwardedValues != null) { xmlWriter.startElement("ForwardedValues"); if (forwardedValues.getQueryString() != null) { xmlWriter.startElement("QueryString").value(forwardedValues.getQueryString()).endElement(); } CookiePreference cookies = forwardedValues.getCookies(); if (cookies != null) { xmlWriter.startElement("Cookies"); if (cookies.getForward() != null) { xmlWriter.startElement("Forward").value(cookies.getForward()).endElement(); } CookieNames whitelistedNames = cookies.getWhitelistedNames(); if (whitelistedNames != null) { xmlWriter.startElement("WhitelistedNames"); if (whitelistedNames.getQuantity() != null) { xmlWriter.startElement("Quantity").value(whitelistedNames.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> cookieNamesItemsList = (com.amazonaws.internal.SdkInternalList<String>) whitelistedNames .getItems(); if (!cookieNamesItemsList.isEmpty() || !cookieNamesItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String cookieNamesItemsListValue : cookieNamesItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(cookieNamesItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } Headers headers = forwardedValues.getHeaders(); if (headers != null) { xmlWriter.startElement("Headers"); if (headers.getQuantity() != null) { xmlWriter.startElement("Quantity").value(headers.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> headersItemsList = (com.amazonaws.internal.SdkInternalList<String>) headers .getItems(); if (!headersItemsList.isEmpty() || !headersItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String headersItemsListValue : headersItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(headersItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } QueryStringCacheKeys queryStringCacheKeys = forwardedValues.getQueryStringCacheKeys(); if (queryStringCacheKeys != null) { xmlWriter.startElement("QueryStringCacheKeys"); if (queryStringCacheKeys.getQuantity() != null) { xmlWriter.startElement("Quantity").value(queryStringCacheKeys.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> queryStringCacheKeysItemsList = (com.amazonaws.internal.SdkInternalList<String>) queryStringCacheKeys .getItems(); if (!queryStringCacheKeysItemsList.isEmpty() || !queryStringCacheKeysItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String queryStringCacheKeysItemsListValue : queryStringCacheKeysItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(queryStringCacheKeysItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } TrustedSigners trustedSigners = defaultCacheBehavior.getTrustedSigners(); if (trustedSigners != null) { xmlWriter.startElement("TrustedSigners"); if (trustedSigners.getEnabled() != null) { xmlWriter.startElement("Enabled").value(trustedSigners.getEnabled()).endElement(); } if (trustedSigners.getQuantity() != null) { xmlWriter.startElement("Quantity").value(trustedSigners.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> trustedSignersItemsList = (com.amazonaws.internal.SdkInternalList<String>) trustedSigners .getItems(); if (!trustedSignersItemsList.isEmpty() || !trustedSignersItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String trustedSignersItemsListValue : trustedSignersItemsList) { xmlWriter.startElement("AwsAccountNumber"); xmlWriter.value(trustedSignersItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (defaultCacheBehavior.getViewerProtocolPolicy() != null) { xmlWriter.startElement("ViewerProtocolPolicy").value(defaultCacheBehavior.getViewerProtocolPolicy()).endElement(); } if (defaultCacheBehavior.getMinTTL() != null) { xmlWriter.startElement("MinTTL").value(defaultCacheBehavior.getMinTTL()).endElement(); } AllowedMethods allowedMethods = defaultCacheBehavior.getAllowedMethods(); if (allowedMethods != null) { xmlWriter.startElement("AllowedMethods"); if (allowedMethods.getQuantity() != null) { xmlWriter.startElement("Quantity").value(allowedMethods.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> allowedMethodsItemsList = (com.amazonaws.internal.SdkInternalList<String>) allowedMethods .getItems(); if (!allowedMethodsItemsList.isEmpty() || !allowedMethodsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String allowedMethodsItemsListValue : allowedMethodsItemsList) { xmlWriter.startElement("Method"); xmlWriter.value(allowedMethodsItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } CachedMethods cachedMethods = allowedMethods.getCachedMethods(); if (cachedMethods != null) { xmlWriter.startElement("CachedMethods"); if (cachedMethods.getQuantity() != null) { xmlWriter.startElement("Quantity").value(cachedMethods.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> cachedMethodsItemsList = (com.amazonaws.internal.SdkInternalList<String>) cachedMethods .getItems(); if (!cachedMethodsItemsList.isEmpty() || !cachedMethodsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String cachedMethodsItemsListValue : cachedMethodsItemsList) { xmlWriter.startElement("Method"); xmlWriter.value(cachedMethodsItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (defaultCacheBehavior.getSmoothStreaming() != null) { xmlWriter.startElement("SmoothStreaming").value(defaultCacheBehavior.getSmoothStreaming()).endElement(); } if (defaultCacheBehavior.getDefaultTTL() != null) { xmlWriter.startElement("DefaultTTL").value(defaultCacheBehavior.getDefaultTTL()).endElement(); } if (defaultCacheBehavior.getMaxTTL() != null) { xmlWriter.startElement("MaxTTL").value(defaultCacheBehavior.getMaxTTL()).endElement(); } if (defaultCacheBehavior.getCompress() != null) { xmlWriter.startElement("Compress").value(defaultCacheBehavior.getCompress()).endElement(); } LambdaFunctionAssociations lambdaFunctionAssociations = defaultCacheBehavior.getLambdaFunctionAssociations(); if (lambdaFunctionAssociations != null) { xmlWriter.startElement("LambdaFunctionAssociations"); if (lambdaFunctionAssociations.getQuantity() != null) { xmlWriter.startElement("Quantity").value(lambdaFunctionAssociations.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<LambdaFunctionAssociation> lambdaFunctionAssociationsItemsList = (com.amazonaws.internal.SdkInternalList<LambdaFunctionAssociation>) lambdaFunctionAssociations .getItems(); if (!lambdaFunctionAssociationsItemsList.isEmpty() || !lambdaFunctionAssociationsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (LambdaFunctionAssociation lambdaFunctionAssociationsItemsListValue : lambdaFunctionAssociationsItemsList) { xmlWriter.startElement("LambdaFunctionAssociation"); if (lambdaFunctionAssociationsItemsListValue.getLambdaFunctionARN() != null) { xmlWriter.startElement("LambdaFunctionARN").value(lambdaFunctionAssociationsItemsListValue.getLambdaFunctionARN()) .endElement(); } if (lambdaFunctionAssociationsItemsListValue.getEventType() != null) { xmlWriter.startElement("EventType").value(lambdaFunctionAssociationsItemsListValue.getEventType()).endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } CacheBehaviors cacheBehaviors = distributionConfig.getCacheBehaviors(); if (cacheBehaviors != null) { xmlWriter.startElement("CacheBehaviors"); if (cacheBehaviors.getQuantity() != null) { xmlWriter.startElement("Quantity").value(cacheBehaviors.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<CacheBehavior> cacheBehaviorsItemsList = (com.amazonaws.internal.SdkInternalList<CacheBehavior>) cacheBehaviors .getItems(); if (!cacheBehaviorsItemsList.isEmpty() || !cacheBehaviorsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (CacheBehavior cacheBehaviorsItemsListValue : cacheBehaviorsItemsList) { xmlWriter.startElement("CacheBehavior"); if (cacheBehaviorsItemsListValue.getPathPattern() != null) { xmlWriter.startElement("PathPattern").value(cacheBehaviorsItemsListValue.getPathPattern()).endElement(); } if (cacheBehaviorsItemsListValue.getTargetOriginId() != null) { xmlWriter.startElement("TargetOriginId").value(cacheBehaviorsItemsListValue.getTargetOriginId()).endElement(); } ForwardedValues forwardedValues = cacheBehaviorsItemsListValue.getForwardedValues(); if (forwardedValues != null) { xmlWriter.startElement("ForwardedValues"); if (forwardedValues.getQueryString() != null) { xmlWriter.startElement("QueryString").value(forwardedValues.getQueryString()).endElement(); } CookiePreference cookies = forwardedValues.getCookies(); if (cookies != null) { xmlWriter.startElement("Cookies"); if (cookies.getForward() != null) { xmlWriter.startElement("Forward").value(cookies.getForward()).endElement(); } CookieNames whitelistedNames = cookies.getWhitelistedNames(); if (whitelistedNames != null) { xmlWriter.startElement("WhitelistedNames"); if (whitelistedNames.getQuantity() != null) { xmlWriter.startElement("Quantity").value(whitelistedNames.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> cookieNamesItemsList = (com.amazonaws.internal.SdkInternalList<String>) whitelistedNames .getItems(); if (!cookieNamesItemsList.isEmpty() || !cookieNamesItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String cookieNamesItemsListValue : cookieNamesItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(cookieNamesItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } Headers headers = forwardedValues.getHeaders(); if (headers != null) { xmlWriter.startElement("Headers"); if (headers.getQuantity() != null) { xmlWriter.startElement("Quantity").value(headers.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> headersItemsList = (com.amazonaws.internal.SdkInternalList<String>) headers .getItems(); if (!headersItemsList.isEmpty() || !headersItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String headersItemsListValue : headersItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(headersItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } QueryStringCacheKeys queryStringCacheKeys = forwardedValues.getQueryStringCacheKeys(); if (queryStringCacheKeys != null) { xmlWriter.startElement("QueryStringCacheKeys"); if (queryStringCacheKeys.getQuantity() != null) { xmlWriter.startElement("Quantity").value(queryStringCacheKeys.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> queryStringCacheKeysItemsList = (com.amazonaws.internal.SdkInternalList<String>) queryStringCacheKeys .getItems(); if (!queryStringCacheKeysItemsList.isEmpty() || !queryStringCacheKeysItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String queryStringCacheKeysItemsListValue : queryStringCacheKeysItemsList) { xmlWriter.startElement("Name"); xmlWriter.value(queryStringCacheKeysItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } TrustedSigners trustedSigners = cacheBehaviorsItemsListValue.getTrustedSigners(); if (trustedSigners != null) { xmlWriter.startElement("TrustedSigners"); if (trustedSigners.getEnabled() != null) { xmlWriter.startElement("Enabled").value(trustedSigners.getEnabled()).endElement(); } if (trustedSigners.getQuantity() != null) { xmlWriter.startElement("Quantity").value(trustedSigners.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> trustedSignersItemsList = (com.amazonaws.internal.SdkInternalList<String>) trustedSigners .getItems(); if (!trustedSignersItemsList.isEmpty() || !trustedSignersItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String trustedSignersItemsListValue : trustedSignersItemsList) { xmlWriter.startElement("AwsAccountNumber"); xmlWriter.value(trustedSignersItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (cacheBehaviorsItemsListValue.getViewerProtocolPolicy() != null) { xmlWriter.startElement("ViewerProtocolPolicy").value(cacheBehaviorsItemsListValue.getViewerProtocolPolicy()).endElement(); } if (cacheBehaviorsItemsListValue.getMinTTL() != null) { xmlWriter.startElement("MinTTL").value(cacheBehaviorsItemsListValue.getMinTTL()).endElement(); } AllowedMethods allowedMethods = cacheBehaviorsItemsListValue.getAllowedMethods(); if (allowedMethods != null) { xmlWriter.startElement("AllowedMethods"); if (allowedMethods.getQuantity() != null) { xmlWriter.startElement("Quantity").value(allowedMethods.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> allowedMethodsItemsList = (com.amazonaws.internal.SdkInternalList<String>) allowedMethods .getItems(); if (!allowedMethodsItemsList.isEmpty() || !allowedMethodsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String allowedMethodsItemsListValue : allowedMethodsItemsList) { xmlWriter.startElement("Method"); xmlWriter.value(allowedMethodsItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } CachedMethods cachedMethods = allowedMethods.getCachedMethods(); if (cachedMethods != null) { xmlWriter.startElement("CachedMethods"); if (cachedMethods.getQuantity() != null) { xmlWriter.startElement("Quantity").value(cachedMethods.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> cachedMethodsItemsList = (com.amazonaws.internal.SdkInternalList<String>) cachedMethods .getItems(); if (!cachedMethodsItemsList.isEmpty() || !cachedMethodsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String cachedMethodsItemsListValue : cachedMethodsItemsList) { xmlWriter.startElement("Method"); xmlWriter.value(cachedMethodsItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (cacheBehaviorsItemsListValue.getSmoothStreaming() != null) { xmlWriter.startElement("SmoothStreaming").value(cacheBehaviorsItemsListValue.getSmoothStreaming()).endElement(); } if (cacheBehaviorsItemsListValue.getDefaultTTL() != null) { xmlWriter.startElement("DefaultTTL").value(cacheBehaviorsItemsListValue.getDefaultTTL()).endElement(); } if (cacheBehaviorsItemsListValue.getMaxTTL() != null) { xmlWriter.startElement("MaxTTL").value(cacheBehaviorsItemsListValue.getMaxTTL()).endElement(); } if (cacheBehaviorsItemsListValue.getCompress() != null) { xmlWriter.startElement("Compress").value(cacheBehaviorsItemsListValue.getCompress()).endElement(); } LambdaFunctionAssociations lambdaFunctionAssociations = cacheBehaviorsItemsListValue.getLambdaFunctionAssociations(); if (lambdaFunctionAssociations != null) { xmlWriter.startElement("LambdaFunctionAssociations"); if (lambdaFunctionAssociations.getQuantity() != null) { xmlWriter.startElement("Quantity").value(lambdaFunctionAssociations.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<LambdaFunctionAssociation> lambdaFunctionAssociationsItemsList = (com.amazonaws.internal.SdkInternalList<LambdaFunctionAssociation>) lambdaFunctionAssociations .getItems(); if (!lambdaFunctionAssociationsItemsList.isEmpty() || !lambdaFunctionAssociationsItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (LambdaFunctionAssociation lambdaFunctionAssociationsItemsListValue : lambdaFunctionAssociationsItemsList) { xmlWriter.startElement("LambdaFunctionAssociation"); if (lambdaFunctionAssociationsItemsListValue.getLambdaFunctionARN() != null) { xmlWriter.startElement("LambdaFunctionARN").value(lambdaFunctionAssociationsItemsListValue.getLambdaFunctionARN()) .endElement(); } if (lambdaFunctionAssociationsItemsListValue.getEventType() != null) { xmlWriter.startElement("EventType").value(lambdaFunctionAssociationsItemsListValue.getEventType()).endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } CustomErrorResponses customErrorResponses = distributionConfig.getCustomErrorResponses(); if (customErrorResponses != null) { xmlWriter.startElement("CustomErrorResponses"); if (customErrorResponses.getQuantity() != null) { xmlWriter.startElement("Quantity").value(customErrorResponses.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<CustomErrorResponse> customErrorResponsesItemsList = (com.amazonaws.internal.SdkInternalList<CustomErrorResponse>) customErrorResponses .getItems(); if (!customErrorResponsesItemsList.isEmpty() || !customErrorResponsesItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (CustomErrorResponse customErrorResponsesItemsListValue : customErrorResponsesItemsList) { xmlWriter.startElement("CustomErrorResponse"); if (customErrorResponsesItemsListValue.getErrorCode() != null) { xmlWriter.startElement("ErrorCode").value(customErrorResponsesItemsListValue.getErrorCode()).endElement(); } if (customErrorResponsesItemsListValue.getResponsePagePath() != null) { xmlWriter.startElement("ResponsePagePath").value(customErrorResponsesItemsListValue.getResponsePagePath()).endElement(); } if (customErrorResponsesItemsListValue.getResponseCode() != null) { xmlWriter.startElement("ResponseCode").value(customErrorResponsesItemsListValue.getResponseCode()).endElement(); } if (customErrorResponsesItemsListValue.getErrorCachingMinTTL() != null) { xmlWriter.startElement("ErrorCachingMinTTL").value(customErrorResponsesItemsListValue.getErrorCachingMinTTL()).endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (distributionConfig.getComment() != null) { xmlWriter.startElement("Comment").value(distributionConfig.getComment()).endElement(); } LoggingConfig logging = distributionConfig.getLogging(); if (logging != null) { xmlWriter.startElement("Logging"); if (logging.getEnabled() != null) { xmlWriter.startElement("Enabled").value(logging.getEnabled()).endElement(); } if (logging.getIncludeCookies() != null) { xmlWriter.startElement("IncludeCookies").value(logging.getIncludeCookies()).endElement(); } if (logging.getBucket() != null) { xmlWriter.startElement("Bucket").value(logging.getBucket()).endElement(); } if (logging.getPrefix() != null) { xmlWriter.startElement("Prefix").value(logging.getPrefix()).endElement(); } xmlWriter.endElement(); } if (distributionConfig.getPriceClass() != null) { xmlWriter.startElement("PriceClass").value(distributionConfig.getPriceClass()).endElement(); } if (distributionConfig.getEnabled() != null) { xmlWriter.startElement("Enabled").value(distributionConfig.getEnabled()).endElement(); } ViewerCertificate viewerCertificate = distributionConfig.getViewerCertificate(); if (viewerCertificate != null) { xmlWriter.startElement("ViewerCertificate"); if (viewerCertificate.getCloudFrontDefaultCertificate() != null) { xmlWriter.startElement("CloudFrontDefaultCertificate").value(viewerCertificate.getCloudFrontDefaultCertificate()).endElement(); } if (viewerCertificate.getIAMCertificateId() != null) { xmlWriter.startElement("IAMCertificateId").value(viewerCertificate.getIAMCertificateId()).endElement(); } if (viewerCertificate.getACMCertificateArn() != null) { xmlWriter.startElement("ACMCertificateArn").value(viewerCertificate.getACMCertificateArn()).endElement(); } if (viewerCertificate.getSSLSupportMethod() != null) { xmlWriter.startElement("SSLSupportMethod").value(viewerCertificate.getSSLSupportMethod()).endElement(); } if (viewerCertificate.getMinimumProtocolVersion() != null) { xmlWriter.startElement("MinimumProtocolVersion").value(viewerCertificate.getMinimumProtocolVersion()).endElement(); } if (viewerCertificate.getCertificate() != null) { xmlWriter.startElement("Certificate").value(viewerCertificate.getCertificate()).endElement(); } if (viewerCertificate.getCertificateSource() != null) { xmlWriter.startElement("CertificateSource").value(viewerCertificate.getCertificateSource()).endElement(); } xmlWriter.endElement(); } Restrictions restrictions = distributionConfig.getRestrictions(); if (restrictions != null) { xmlWriter.startElement("Restrictions"); GeoRestriction geoRestriction = restrictions.getGeoRestriction(); if (geoRestriction != null) { xmlWriter.startElement("GeoRestriction"); if (geoRestriction.getRestrictionType() != null) { xmlWriter.startElement("RestrictionType").value(geoRestriction.getRestrictionType()).endElement(); } if (geoRestriction.getQuantity() != null) { xmlWriter.startElement("Quantity").value(geoRestriction.getQuantity()).endElement(); } com.amazonaws.internal.SdkInternalList<String> geoRestrictionItemsList = (com.amazonaws.internal.SdkInternalList<String>) geoRestriction .getItems(); if (!geoRestrictionItemsList.isEmpty() || !geoRestrictionItemsList.isAutoConstruct()) { xmlWriter.startElement("Items"); for (String geoRestrictionItemsListValue : geoRestrictionItemsList) { xmlWriter.startElement("Location"); xmlWriter.value(geoRestrictionItemsListValue); xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } xmlWriter.endElement(); } if (distributionConfig.getWebACLId() != null) { xmlWriter.startElement("WebACLId").value(distributionConfig.getWebACLId()).endElement(); } if (distributionConfig.getHttpVersion() != null) { xmlWriter.startElement("HttpVersion").value(distributionConfig.getHttpVersion()).endElement(); } if (distributionConfig.getIsIPV6Enabled() != null) { xmlWriter.startElement("IsIPV6Enabled").value(distributionConfig.getIsIPV6Enabled()).endElement(); } xmlWriter.endElement(); } request.setContent(new StringInputStream(stringWriter.getBuffer().toString())); request.addHeader("Content-Length", Integer.toString(stringWriter.getBuffer().toString().getBytes(UTF8).length)); if (!request.getHeaders().containsKey("Content-Type")) { request.addHeader("Content-Type", "application/xml"); } } catch (Throwable t) { throw new SdkClientException("Unable to marshall request to XML: " + t.getMessage(), t); } return request; } }