/* * 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; } } }