/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the cloudfront-2020-05-31.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CloudFront.Model
{
///
/// A summary of the information about a CloudFront distribution.
///
public partial class DistributionSummary
{
private Aliases _aliases;
private List _aliasICPRecordals = new List();
private string _arn;
private CacheBehaviors _cacheBehaviors;
private string _comment;
private CustomErrorResponses _customErrorResponses;
private DefaultCacheBehavior _defaultCacheBehavior;
private string _domainName;
private bool? _enabled;
private HttpVersion _httpVersion;
private string _id;
private bool? _isIPV6Enabled;
private DateTime? _lastModifiedTime;
private OriginGroups _originGroups;
private Origins _origins;
private PriceClass _priceClass;
private Restrictions _restrictions;
private bool? _staging;
private string _status;
private ViewerCertificate _viewerCertificate;
private string _webACLId;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public DistributionSummary() { }
///
/// Gets and sets the property Aliases.
///
/// A complex type that contains information about CNAMEs (alternate domain names), if
/// any, for this distribution.
///
///
[AWSProperty(Required=true)]
public Aliases Aliases
{
get { return this._aliases; }
set { this._aliases = value; }
}
// Check to see if Aliases property is set
internal bool IsSetAliases()
{
return this._aliases != null;
}
///
/// Gets and sets the property AliasICPRecordals.
///
/// 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 List AliasICPRecordals
{
get { return this._aliasICPRecordals; }
set { this._aliasICPRecordals = value; }
}
// Check to see if AliasICPRecordals property is set
internal bool IsSetAliasICPRecordals()
{
return this._aliasICPRecordals != null && this._aliasICPRecordals.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public string ARN
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if ARN property is set
internal bool IsSetARN()
{
return this._arn != null;
}
///
/// Gets and sets the property CacheBehaviors.
///
/// A complex type that contains zero or more CacheBehavior
elements.
///
///
[AWSProperty(Required=true)]
public CacheBehaviors CacheBehaviors
{
get { return this._cacheBehaviors; }
set { this._cacheBehaviors = value; }
}
// Check to see if CacheBehaviors property is set
internal bool IsSetCacheBehaviors()
{
return this._cacheBehaviors != null;
}
///
/// Gets and sets the property Comment.
///
/// The comment originally specified when this distribution was created.
///
///
[AWSProperty(Required=true)]
public string Comment
{
get { return this._comment; }
set { this._comment = value; }
}
// Check to see if Comment property is set
internal bool IsSetComment()
{
return this._comment != null;
}
///
/// Gets and sets the property CustomErrorResponses.
///
/// A complex type that contains zero or more CustomErrorResponses
elements.
///
///
[AWSProperty(Required=true)]
public CustomErrorResponses CustomErrorResponses
{
get { return this._customErrorResponses; }
set { this._customErrorResponses = value; }
}
// Check to see if CustomErrorResponses property is set
internal bool IsSetCustomErrorResponses()
{
return this._customErrorResponses != null;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public DefaultCacheBehavior DefaultCacheBehavior
{
get { return this._defaultCacheBehavior; }
set { this._defaultCacheBehavior = value; }
}
// Check to see if DefaultCacheBehavior property is set
internal bool IsSetDefaultCacheBehavior()
{
return this._defaultCacheBehavior != null;
}
///
/// Gets and sets the property DomainName.
///
/// The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net
.
///
///
[AWSProperty(Required=true)]
public string DomainName
{
get { return this._domainName; }
set { this._domainName = value; }
}
// Check to see if DomainName property is set
internal bool IsSetDomainName()
{
return this._domainName != null;
}
///
/// Gets and sets the property Enabled.
///
/// Whether the distribution is enabled to accept user requests for content.
///
///
[AWSProperty(Required=true)]
public bool Enabled
{
get { return this._enabled.GetValueOrDefault(); }
set { this._enabled = value; }
}
// Check to see if Enabled property is set
internal bool IsSetEnabled()
{
return this._enabled.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Required=true)]
public HttpVersion HttpVersion
{
get { return this._httpVersion; }
set { this._httpVersion = value; }
}
// Check to see if HttpVersion property is set
internal bool IsSetHttpVersion()
{
return this._httpVersion != null;
}
///
/// Gets and sets the property Id.
///
/// The identifier for the distribution. For example: EDFDVBD632BHDS5
.
///
///
[AWSProperty(Required=true)]
public string Id
{
get { return this._id; }
set { this._id = value; }
}
// Check to see if Id property is set
internal bool IsSetId()
{
return this._id != null;
}
///
/// Gets and sets the property IsIPV6Enabled.
///
/// Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.
///
///
[AWSProperty(Required=true)]
public bool IsIPV6Enabled
{
get { return this._isIPV6Enabled.GetValueOrDefault(); }
set { this._isIPV6Enabled = value; }
}
// Check to see if IsIPV6Enabled property is set
internal bool IsSetIsIPV6Enabled()
{
return this._isIPV6Enabled.HasValue;
}
///
/// Gets and sets the property LastModifiedTime.
///
/// The date and time the distribution was last modified.
///
///
[AWSProperty(Required=true)]
public DateTime LastModifiedTime
{
get { return this._lastModifiedTime.GetValueOrDefault(); }
set { this._lastModifiedTime = value; }
}
// Check to see if LastModifiedTime property is set
internal bool IsSetLastModifiedTime()
{
return this._lastModifiedTime.HasValue;
}
///
/// Gets and sets the property OriginGroups.
///
/// A complex type that contains information about origin groups for this distribution.
///
///
public OriginGroups OriginGroups
{
get { return this._originGroups; }
set { this._originGroups = value; }
}
// Check to see if OriginGroups property is set
internal bool IsSetOriginGroups()
{
return this._originGroups != null;
}
///
/// Gets and sets the property Origins.
///
/// A complex type that contains information about origins for this distribution.
///
///
[AWSProperty(Required=true)]
public Origins Origins
{
get { return this._origins; }
set { this._origins = value; }
}
// Check to see if Origins property is set
internal bool IsSetOrigins()
{
return this._origins != null;
}
///
/// Gets and sets the property PriceClass.
///
/// A complex type that contains information about price class for this streaming distribution.
///
///
[AWSProperty(Required=true)]
public PriceClass PriceClass
{
get { return this._priceClass; }
set { this._priceClass = value; }
}
// Check to see if PriceClass property is set
internal bool IsSetPriceClass()
{
return this._priceClass != null;
}
///
/// Gets and sets the property Restrictions.
///
/// A complex type that identifies ways in which you want to restrict distribution of
/// your content.
///
///
[AWSProperty(Required=true)]
public Restrictions Restrictions
{
get { return this._restrictions; }
set { this._restrictions = value; }
}
// Check to see if Restrictions property is set
internal bool IsSetRestrictions()
{
return this._restrictions != null;
}
///
/// Gets and sets the property Staging.
///
/// Whether the primary distribution has a staging distribution enabled.
///
///
[AWSProperty(Required=true)]
public bool Staging
{
get { return this._staging.GetValueOrDefault(); }
set { this._staging = value; }
}
// Check to see if Staging property is set
internal bool IsSetStaging()
{
return this._staging.HasValue;
}
///
/// Gets and sets the property Status.
///
/// The current status of the distribution. When the status is Deployed
,
/// the distribution's information is propagated to all CloudFront edge locations.
///
///
[AWSProperty(Required=true)]
public string Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
///
/// Gets and sets the property ViewerCertificate.
///
/// A complex type that determines the distribution's SSL/TLS configuration for communicating
/// with viewers.
///
///
[AWSProperty(Required=true)]
public ViewerCertificate ViewerCertificate
{
get { return this._viewerCertificate; }
set { this._viewerCertificate = value; }
}
// Check to see if ViewerCertificate property is set
internal bool IsSetViewerCertificate()
{
return this._viewerCertificate != null;
}
///
/// Gets and sets the property WebACLId.
///
/// The Web ACL Id (if any) associated with the distribution.
///
///
[AWSProperty(Required=true)]
public string WebACLId
{
get { return this._webACLId; }
set { this._webACLId = value; }
}
// Check to see if WebACLId property is set
internal bool IsSetWebACLId()
{
return this._webACLId != null;
}
}
}