/* * Copyright 2018-2023 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; import java.io.Serializable; import javax.annotation.Generated; /** *
* A summary of the information about a CloudFront distribution. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class DistributionSummary implements Serializable, Cloneable { /** *
* The identifier for the distribution. For example: EDFDVBD632BHDS5
.
*
* The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where 123456789012
is
* your Amazon Web Services account ID.
*
* The current status of the distribution. When the status is Deployed
, the distribution's information
* is propagated to all CloudFront edge locations.
*
* The date and time the distribution was last modified. *
*/ private java.util.Date lastModifiedTime; /** *
* The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net
.
*
* A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution. *
*/ private Aliases aliases; /** ** A complex type that contains information about origins for this distribution. *
*/ private Origins origins; /** ** A complex type that contains information about origin groups for this distribution. *
*/ private OriginGroups originGroups; /** *
* A complex type that describes the default cache behavior if you don't specify a CacheBehavior
* element or if files don't match any of the values of PathPattern
in CacheBehavior
* elements. You must create exactly one default cache behavior.
*
* A complex type that contains zero or more CacheBehavior
elements.
*
* A complex type that contains zero or more CustomErrorResponses
elements.
*
* The comment originally specified when this distribution was created. *
*/ private String comment; /** ** A complex type that contains information about price class for this streaming distribution. *
*/ private String priceClass; /** ** Whether the distribution is enabled to accept user requests for content. *
*/ private Boolean enabled; /** ** A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. *
*/ private ViewerCertificate viewerCertificate; /** ** A complex type that identifies ways in which you want to restrict distribution of your content. *
*/ private Restrictions restrictions; /** ** The Web ACL Id (if any) associated with the distribution. *
*/ private String webACLId; /** *
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
* Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. *
*/ private Boolean isIPV6Enabled; /** ** Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal if they * want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to * CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions. *
** For more information about ICP recordals, see Signup, Accounts, and * Credentials in Getting Started with Amazon Web Services services in China. *
*/ private com.amazonaws.internal.SdkInternalList* Whether the primary distribution has a staging distribution enabled. *
*/ private Boolean staging; /** *
* The identifier for the distribution. For example: EDFDVBD632BHDS5
.
*
EDFDVBD632BHDS5
.
*/
public void setId(String id) {
this.id = id;
}
/**
*
* The identifier for the distribution. For example: EDFDVBD632BHDS5
.
*
EDFDVBD632BHDS5
.
*/
public String getId() {
return this.id;
}
/**
*
* The identifier for the distribution. For example: EDFDVBD632BHDS5
.
*
EDFDVBD632BHDS5
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withId(String id) {
setId(id);
return this;
}
/**
*
* The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where 123456789012
is
* your Amazon Web Services account ID.
*
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
* 123456789012
is your Amazon Web Services account ID.
*/
public void setARN(String aRN) {
this.aRN = aRN;
}
/**
*
* The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where 123456789012
is
* your Amazon Web Services account ID.
*
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
* 123456789012
is your Amazon Web Services account ID.
*/
public String getARN() {
return this.aRN;
}
/**
*
* The ARN (Amazon Resource Name) for the distribution. For example:
* arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where 123456789012
is
* your Amazon Web Services account ID.
*
arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5
, where
* 123456789012
is your Amazon Web Services account ID.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withARN(String aRN) {
setARN(aRN);
return this;
}
/**
*
* The current status of the distribution. When the status is Deployed
, the distribution's information
* is propagated to all CloudFront edge locations.
*
Deployed
, the distribution's
* information is propagated to all CloudFront edge locations.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The current status of the distribution. When the status is Deployed
, the distribution's information
* is propagated to all CloudFront edge locations.
*
Deployed
, the distribution's
* information is propagated to all CloudFront edge locations.
*/
public String getStatus() {
return this.status;
}
/**
*
* The current status of the distribution. When the status is Deployed
, the distribution's information
* is propagated to all CloudFront edge locations.
*
Deployed
, the distribution's
* information is propagated to all CloudFront edge locations.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withStatus(String status) {
setStatus(status);
return this;
}
/**
* * The date and time the distribution was last modified. *
* * @param lastModifiedTime * The date and time the distribution was last modified. */ public void setLastModifiedTime(java.util.Date lastModifiedTime) { this.lastModifiedTime = lastModifiedTime; } /** ** The date and time the distribution was last modified. *
* * @return The date and time the distribution was last modified. */ public java.util.Date getLastModifiedTime() { return this.lastModifiedTime; } /** ** The date and time the distribution was last modified. *
* * @param lastModifiedTime * The date and time the distribution was last modified. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withLastModifiedTime(java.util.Date lastModifiedTime) { setLastModifiedTime(lastModifiedTime); return this; } /** *
* The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net
.
*
d111111abcdef8.cloudfront.net
.
*/
public void setDomainName(String domainName) {
this.domainName = domainName;
}
/**
*
* The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net
.
*
d111111abcdef8.cloudfront.net
.
*/
public String getDomainName() {
return this.domainName;
}
/**
*
* The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net
.
*
d111111abcdef8.cloudfront.net
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withDomainName(String domainName) {
setDomainName(domainName);
return this;
}
/**
* * A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution. *
* * @param aliases * A complex type that contains information about CNAMEs (alternate domain names), if any, for this * distribution. */ public void setAliases(Aliases aliases) { this.aliases = aliases; } /** ** A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution. *
* * @return A complex type that contains information about CNAMEs (alternate domain names), if any, for this * distribution. */ public Aliases getAliases() { return this.aliases; } /** ** A complex type that contains information about CNAMEs (alternate domain names), if any, for this distribution. *
* * @param aliases * A complex type that contains information about CNAMEs (alternate domain names), if any, for this * distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withAliases(Aliases aliases) { setAliases(aliases); return this; } /** ** A complex type that contains information about origins for this distribution. *
* * @param origins * A complex type that contains information about origins for this distribution. */ public void setOrigins(Origins origins) { this.origins = origins; } /** ** A complex type that contains information about origins for this distribution. *
* * @return A complex type that contains information about origins for this distribution. */ public Origins getOrigins() { return this.origins; } /** ** A complex type that contains information about origins for this distribution. *
* * @param origins * A complex type that contains information about origins for this distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withOrigins(Origins origins) { setOrigins(origins); return this; } /** ** A complex type that contains information about origin groups for this distribution. *
* * @param originGroups * A complex type that contains information about origin groups for this distribution. */ public void setOriginGroups(OriginGroups originGroups) { this.originGroups = originGroups; } /** ** A complex type that contains information about origin groups for this distribution. *
* * @return A complex type that contains information about origin groups for this distribution. */ public OriginGroups getOriginGroups() { return this.originGroups; } /** ** A complex type that contains information about origin groups for this distribution. *
* * @param originGroups * A complex type that contains information about origin groups for this distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withOriginGroups(OriginGroups originGroups) { setOriginGroups(originGroups); return this; } /** *
* A complex type that describes the default cache behavior if you don't specify a CacheBehavior
* element or if files don't match any of the values of PathPattern
in CacheBehavior
* elements. You must create exactly one default cache behavior.
*
CacheBehavior
* element or if files don't match any of the values of PathPattern
in
* CacheBehavior
elements. You must create exactly one default cache behavior.
*/
public void setDefaultCacheBehavior(DefaultCacheBehavior defaultCacheBehavior) {
this.defaultCacheBehavior = defaultCacheBehavior;
}
/**
*
* A complex type that describes the default cache behavior if you don't specify a CacheBehavior
* element or if files don't match any of the values of PathPattern
in CacheBehavior
* elements. You must create exactly one default cache behavior.
*
CacheBehavior
element or if files don't match any of the values of PathPattern
* in CacheBehavior
elements. You must create exactly one default cache behavior.
*/
public DefaultCacheBehavior getDefaultCacheBehavior() {
return this.defaultCacheBehavior;
}
/**
*
* A complex type that describes the default cache behavior if you don't specify a CacheBehavior
* element or if files don't match any of the values of PathPattern
in CacheBehavior
* elements. You must create exactly one default cache behavior.
*
CacheBehavior
* element or if files don't match any of the values of PathPattern
in
* CacheBehavior
elements. You must create exactly one default cache behavior.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withDefaultCacheBehavior(DefaultCacheBehavior defaultCacheBehavior) {
setDefaultCacheBehavior(defaultCacheBehavior);
return this;
}
/**
*
* A complex type that contains zero or more CacheBehavior
elements.
*
CacheBehavior
elements.
*/
public void setCacheBehaviors(CacheBehaviors cacheBehaviors) {
this.cacheBehaviors = cacheBehaviors;
}
/**
*
* A complex type that contains zero or more CacheBehavior
elements.
*
CacheBehavior
elements.
*/
public CacheBehaviors getCacheBehaviors() {
return this.cacheBehaviors;
}
/**
*
* A complex type that contains zero or more CacheBehavior
elements.
*
CacheBehavior
elements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withCacheBehaviors(CacheBehaviors cacheBehaviors) {
setCacheBehaviors(cacheBehaviors);
return this;
}
/**
*
* A complex type that contains zero or more CustomErrorResponses
elements.
*
CustomErrorResponses
elements.
*/
public void setCustomErrorResponses(CustomErrorResponses customErrorResponses) {
this.customErrorResponses = customErrorResponses;
}
/**
*
* A complex type that contains zero or more CustomErrorResponses
elements.
*
CustomErrorResponses
elements.
*/
public CustomErrorResponses getCustomErrorResponses() {
return this.customErrorResponses;
}
/**
*
* A complex type that contains zero or more CustomErrorResponses
elements.
*
CustomErrorResponses
elements.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withCustomErrorResponses(CustomErrorResponses customErrorResponses) {
setCustomErrorResponses(customErrorResponses);
return this;
}
/**
* * The comment originally specified when this distribution was created. *
* * @param comment * The comment originally specified when this distribution was created. */ public void setComment(String comment) { this.comment = comment; } /** ** The comment originally specified when this distribution was created. *
* * @return The comment originally specified when this distribution was created. */ public String getComment() { return this.comment; } /** ** The comment originally specified when this distribution was created. *
* * @param comment * The comment originally specified when this distribution was created. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withComment(String comment) { setComment(comment); return this; } /** ** A complex type that contains information about price class for this streaming distribution. *
* * @param priceClass * A complex type that contains information about price class for this streaming distribution. * @see PriceClass */ public void setPriceClass(String priceClass) { this.priceClass = priceClass; } /** ** A complex type that contains information about price class for this streaming distribution. *
* * @return A complex type that contains information about price class for this streaming distribution. * @see PriceClass */ public String getPriceClass() { return this.priceClass; } /** ** A complex type that contains information about price class for this streaming distribution. *
* * @param priceClass * A complex type that contains information about price class for this streaming distribution. * @return Returns a reference to this object so that method calls can be chained together. * @see PriceClass */ public DistributionSummary withPriceClass(String priceClass) { setPriceClass(priceClass); return this; } /** ** A complex type that contains information about price class for this streaming distribution. *
* * @param priceClass * A complex type that contains information about price class for this streaming distribution. * @see PriceClass */ public void setPriceClass(PriceClass priceClass) { withPriceClass(priceClass); } /** ** A complex type that contains information about price class for this streaming distribution. *
* * @param priceClass * A complex type that contains information about price class for this streaming distribution. * @return Returns a reference to this object so that method calls can be chained together. * @see PriceClass */ public DistributionSummary withPriceClass(PriceClass priceClass) { this.priceClass = priceClass.toString(); return this; } /** ** Whether the distribution is enabled to accept user requests for content. *
* * @param enabled * Whether the distribution is enabled to accept user requests for content. */ public void setEnabled(Boolean enabled) { this.enabled = enabled; } /** ** Whether the distribution is enabled to accept user requests for content. *
* * @return Whether the distribution is enabled to accept user requests for content. */ public Boolean getEnabled() { return this.enabled; } /** ** Whether the distribution is enabled to accept user requests for content. *
* * @param enabled * Whether the distribution is enabled to accept user requests for content. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withEnabled(Boolean enabled) { setEnabled(enabled); return this; } /** ** Whether the distribution is enabled to accept user requests for content. *
* * @return Whether the distribution is enabled to accept user requests for content. */ public Boolean isEnabled() { return this.enabled; } /** ** A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. *
* * @param viewerCertificate * A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. */ public void setViewerCertificate(ViewerCertificate viewerCertificate) { this.viewerCertificate = viewerCertificate; } /** ** A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. *
* * @return A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. */ public ViewerCertificate getViewerCertificate() { return this.viewerCertificate; } /** ** A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. *
* * @param viewerCertificate * A complex type that determines the distribution's SSL/TLS configuration for communicating with viewers. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withViewerCertificate(ViewerCertificate viewerCertificate) { setViewerCertificate(viewerCertificate); return this; } /** ** A complex type that identifies ways in which you want to restrict distribution of your content. *
* * @param restrictions * A complex type that identifies ways in which you want to restrict distribution of your content. */ public void setRestrictions(Restrictions restrictions) { this.restrictions = restrictions; } /** ** A complex type that identifies ways in which you want to restrict distribution of your content. *
* * @return A complex type that identifies ways in which you want to restrict distribution of your content. */ public Restrictions getRestrictions() { return this.restrictions; } /** ** A complex type that identifies ways in which you want to restrict distribution of your content. *
* * @param restrictions * A complex type that identifies ways in which you want to restrict distribution of your content. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withRestrictions(Restrictions restrictions) { setRestrictions(restrictions); return this; } /** ** The Web ACL Id (if any) associated with the distribution. *
* * @param webACLId * The Web ACL Id (if any) associated with the distribution. */ public void setWebACLId(String webACLId) { this.webACLId = webACLId; } /** ** The Web ACL Id (if any) associated with the distribution. *
* * @return The Web ACL Id (if any) associated with the distribution. */ public String getWebACLId() { return this.webACLId; } /** ** The Web ACL Id (if any) associated with the distribution. *
* * @param webACLId * The Web ACL Id (if any) associated with the distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withWebACLId(String webACLId) { setWebACLId(webACLId); return this; } /** *
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
* @see HttpVersion
*/
public void setHttpVersion(String httpVersion) {
this.httpVersion = httpVersion;
}
/**
*
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
http2
. Viewers that don't support HTTP/2
* will automatically use an earlier version.
* @see HttpVersion
*/
public String getHttpVersion() {
return this.httpVersion;
}
/**
*
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
* @return Returns a reference to this object so that method calls can be chained together.
* @see HttpVersion
*/
public DistributionSummary withHttpVersion(String httpVersion) {
setHttpVersion(httpVersion);
return this;
}
/**
*
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
* @see HttpVersion
*/
public void setHttpVersion(HttpVersion httpVersion) {
withHttpVersion(httpVersion);
}
/**
*
* Specify the maximum HTTP version that you want viewers to use to communicate with CloudFront. The default value
* for new web distributions is http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
*
http2
. Viewers that don't support HTTP/2
will
* automatically use an earlier version.
* @return Returns a reference to this object so that method calls can be chained together.
* @see HttpVersion
*/
public DistributionSummary withHttpVersion(HttpVersion httpVersion) {
this.httpVersion = httpVersion.toString();
return this;
}
/**
* * Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. *
* * @param isIPV6Enabled * Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. */ public void setIsIPV6Enabled(Boolean isIPV6Enabled) { this.isIPV6Enabled = isIPV6Enabled; } /** ** Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. *
* * @return Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. */ public Boolean getIsIPV6Enabled() { return this.isIPV6Enabled; } /** ** Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. *
* * @param isIPV6Enabled * Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. * @return Returns a reference to this object so that method calls can be chained together. */ public DistributionSummary withIsIPV6Enabled(Boolean isIPV6Enabled) { setIsIPV6Enabled(isIPV6Enabled); return this; } /** ** Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. *
* * @return Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution. */ public Boolean isIPV6Enabled() { return this.isIPV6Enabled; } /** ** Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal if they * want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to * CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions. *
** For more information about ICP recordals, see Signup, Accounts, and * Credentials in Getting Started with Amazon Web Services services in China. *
* * @return Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal * if they want to serve content publicly on an alternate domain name, also known as a CNAME, that they've * added to CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with * distributions. *
* For more information about ICP recordals, see Signup,
* Accounts, and Credentials in Getting Started with Amazon Web Services services in China.
*/
public java.util.List
* Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal if they
* want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to
* CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.
*
* For more information about ICP recordals, see Signup, Accounts, and
* Credentials in Getting Started with Amazon Web Services services in China.
*
* For more information about ICP recordals, see Signup,
* Accounts, and Credentials in Getting Started with Amazon Web Services services in China.
*/
public void setAliasICPRecordals(java.util.Collection
* Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal if they
* want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to
* CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.
*
* For more information about ICP recordals, see Signup, Accounts, and
* Credentials in Getting Started with Amazon Web Services services in China.
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAliasICPRecordals(java.util.Collection)} or {@link #withAliasICPRecordals(java.util.Collection)} if
* you want to override the existing values.
*
* For more information about ICP recordals, see Signup,
* Accounts, and Credentials in Getting Started with Amazon Web Services services in China.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withAliasICPRecordals(AliasICPRecordal... aliasICPRecordals) {
if (this.aliasICPRecordals == null) {
setAliasICPRecordals(new com.amazonaws.internal.SdkInternalList
* Amazon Web Services services in China customers must file for an Internet Content Provider (ICP) recordal if they
* want to serve content publicly on an alternate domain name, also known as a CNAME, that they've added to
* CloudFront. AliasICPRecordal provides the ICP recordal status for CNAMEs associated with distributions.
*
* For more information about ICP recordals, see Signup, Accounts, and
* Credentials in Getting Started with Amazon Web Services services in China.
*
* For more information about ICP recordals, see Signup,
* Accounts, and Credentials in Getting Started with Amazon Web Services services in China.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public DistributionSummary withAliasICPRecordals(java.util.Collection
* Whether the primary distribution has a staging distribution enabled.
*
* Whether the primary distribution has a staging distribution enabled.
*
* Whether the primary distribution has a staging distribution enabled.
*
* Whether the primary distribution has a staging distribution enabled.
*