/*
* 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 distribution tells CloudFront where you want content to be delivered from, and the
/// details about how to track and manage content delivery.
///
public partial class Distribution
{
private ActiveTrustedKeyGroups _activeTrustedKeyGroups;
private ActiveTrustedSigners _activeTrustedSigners;
private List _aliasICPRecordals = new List();
private string _arn;
private DistributionConfig _distributionConfig;
private string _domainName;
private string _id;
private int? _inProgressInvalidationBatches;
private DateTime? _lastModifiedTime;
private string _status;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public Distribution() { }
///
/// Instantiates Distribution with the parameterized properties
///
/// The distribution's identifier. For example: E1U5RQF7T870K0
.
/// The distribution's status. When the status is Deployed
, the distribution's information is fully propagated to all CloudFront edge locations.
/// The distribution's CloudFront domain name. For example: d111111abcdef8.cloudfront.net
.
public Distribution(string id, string status, string domainName)
{
_id = id;
_status = status;
_domainName = domainName;
}
///
/// Gets and sets the property ActiveTrustedKeyGroups.
///
/// This field contains a list of key groups and the public keys in each key group that
/// CloudFront can use to verify the signatures of signed URLs or signed cookies.
///
///
public ActiveTrustedKeyGroups ActiveTrustedKeyGroups
{
get { return this._activeTrustedKeyGroups; }
set { this._activeTrustedKeyGroups = value; }
}
// Check to see if ActiveTrustedKeyGroups property is set
internal bool IsSetActiveTrustedKeyGroups()
{
return this._activeTrustedKeyGroups != null;
}
///
/// Gets and sets the property ActiveTrustedSigners.
///
/// We recommend using TrustedKeyGroups
instead of TrustedSigners
.
///
///
///
/// This field contains a list of Amazon Web Services account IDs and the active CloudFront
/// key pairs in each account that CloudFront can use to verify the signatures of signed
/// URLs or signed cookies.
///
///
public ActiveTrustedSigners ActiveTrustedSigners
{
get { return this._activeTrustedSigners; }
set { this._activeTrustedSigners = value; }
}
// Check to see if ActiveTrustedSigners property is set
internal bool IsSetActiveTrustedSigners()
{
return this._activeTrustedSigners != 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 distribution's Amazon Resource Name (ARN).
///
///
[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 DistributionConfig.
///
/// The distribution's configuration.
///
///
[AWSProperty(Required=true)]
public DistributionConfig DistributionConfig
{
get { return this._distributionConfig; }
set { this._distributionConfig = value; }
}
// Check to see if DistributionConfig property is set
internal bool IsSetDistributionConfig()
{
return this._distributionConfig != null;
}
///
/// Gets and sets the property DomainName.
///
/// The distribution's CloudFront domain name. 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 Id.
///
/// The distribution's identifier. For example: E1U5RQF7T870K0
.
///
///
[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 InProgressInvalidationBatches.
///
/// The number of invalidation batches currently in progress.
///
///
[AWSProperty(Required=true)]
public int InProgressInvalidationBatches
{
get { return this._inProgressInvalidationBatches.GetValueOrDefault(); }
set { this._inProgressInvalidationBatches = value; }
}
// Check to see if InProgressInvalidationBatches property is set
internal bool IsSetInProgressInvalidationBatches()
{
return this._inProgressInvalidationBatches.HasValue;
}
///
/// Gets and sets the property LastModifiedTime.
///
/// The date and time when 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 Status.
///
/// The distribution's status. When the status is Deployed
, the distribution's
/// information is fully 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;
}
}
}