/*
* 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 iot-2015-05-28.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.IoT.Model
{
///
/// Describes a certificate.
///
public partial class CertificateDescription
{
private string _caCertificateId;
private string _certificateArn;
private string _certificateId;
private CertificateMode _certificateMode;
private string _certificatePem;
private DateTime? _creationDate;
private int? _customerVersion;
private string _generationId;
private DateTime? _lastModifiedDate;
private string _ownedBy;
private string _previousOwnedBy;
private CertificateStatus _status;
private TransferData _transferData;
private CertificateValidity _validity;
///
/// Gets and sets the property CaCertificateId.
///
/// The certificate ID of the CA certificate used to sign this certificate.
///
///
[AWSProperty(Min=64, Max=64)]
public string CaCertificateId
{
get { return this._caCertificateId; }
set { this._caCertificateId = value; }
}
// Check to see if CaCertificateId property is set
internal bool IsSetCaCertificateId()
{
return this._caCertificateId != null;
}
///
/// Gets and sets the property CertificateArn.
///
/// The ARN of the certificate.
///
///
public string CertificateArn
{
get { return this._certificateArn; }
set { this._certificateArn = value; }
}
// Check to see if CertificateArn property is set
internal bool IsSetCertificateArn()
{
return this._certificateArn != null;
}
///
/// Gets and sets the property CertificateId.
///
/// The ID of the certificate.
///
///
[AWSProperty(Min=64, Max=64)]
public string CertificateId
{
get { return this._certificateId; }
set { this._certificateId = value; }
}
// Check to see if CertificateId property is set
internal bool IsSetCertificateId()
{
return this._certificateId != null;
}
///
/// Gets and sets the property CertificateMode.
///
/// The mode of the certificate.
///
///
///
/// DEFAULT
: A certificate in DEFAULT
mode is either generated
/// by Amazon Web Services IoT Core or registered with an issuer certificate authority
/// (CA) in DEFAULT
mode. Devices with certificates in DEFAULT
/// mode aren't required to send the Server Name Indication (SNI) extension when connecting
/// to Amazon Web Services IoT Core. However, to use features such as custom domains and
/// VPC endpoints, we recommend that you use the SNI extension when connecting to Amazon
/// Web Services IoT Core.
///
///
///
/// SNI_ONLY
: A certificate in SNI_ONLY
mode is registered
/// without an issuer CA. Devices with certificates in SNI_ONLY
mode must
/// send the SNI extension when connecting to Amazon Web Services IoT Core.
///
///
///
/// For more information about the value for SNI extension, see Transport
/// security in IoT.
///
///
public CertificateMode CertificateMode
{
get { return this._certificateMode; }
set { this._certificateMode = value; }
}
// Check to see if CertificateMode property is set
internal bool IsSetCertificateMode()
{
return this._certificateMode != null;
}
///
/// Gets and sets the property CertificatePem.
///
/// The certificate data, in PEM format.
///
///
[AWSProperty(Min=1, Max=65536)]
public string CertificatePem
{
get { return this._certificatePem; }
set { this._certificatePem = value; }
}
// Check to see if CertificatePem property is set
internal bool IsSetCertificatePem()
{
return this._certificatePem != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The date and time the certificate was created.
///
///
public DateTime CreationDate
{
get { return this._creationDate.GetValueOrDefault(); }
set { this._creationDate = value; }
}
// Check to see if CreationDate property is set
internal bool IsSetCreationDate()
{
return this._creationDate.HasValue;
}
///
/// Gets and sets the property CustomerVersion.
///
/// The customer version of the certificate.
///
///
[AWSProperty(Min=1)]
public int CustomerVersion
{
get { return this._customerVersion.GetValueOrDefault(); }
set { this._customerVersion = value; }
}
// Check to see if CustomerVersion property is set
internal bool IsSetCustomerVersion()
{
return this._customerVersion.HasValue;
}
///
/// Gets and sets the property GenerationId.
///
/// The generation ID of the certificate.
///
///
public string GenerationId
{
get { return this._generationId; }
set { this._generationId = value; }
}
// Check to see if GenerationId property is set
internal bool IsSetGenerationId()
{
return this._generationId != null;
}
///
/// Gets and sets the property LastModifiedDate.
///
/// The date and time the certificate was last modified.
///
///
public DateTime LastModifiedDate
{
get { return this._lastModifiedDate.GetValueOrDefault(); }
set { this._lastModifiedDate = value; }
}
// Check to see if LastModifiedDate property is set
internal bool IsSetLastModifiedDate()
{
return this._lastModifiedDate.HasValue;
}
///
/// Gets and sets the property OwnedBy.
///
/// The ID of the Amazon Web Services account that owns the certificate.
///
///
[AWSProperty(Min=12, Max=12)]
public string OwnedBy
{
get { return this._ownedBy; }
set { this._ownedBy = value; }
}
// Check to see if OwnedBy property is set
internal bool IsSetOwnedBy()
{
return this._ownedBy != null;
}
///
/// Gets and sets the property PreviousOwnedBy.
///
/// The ID of the Amazon Web Services account of the previous owner of the certificate.
///
///
[AWSProperty(Min=12, Max=12)]
public string PreviousOwnedBy
{
get { return this._previousOwnedBy; }
set { this._previousOwnedBy = value; }
}
// Check to see if PreviousOwnedBy property is set
internal bool IsSetPreviousOwnedBy()
{
return this._previousOwnedBy != null;
}
///
/// Gets and sets the property Status.
///
/// The status of the certificate.
///
///
public CertificateStatus 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 TransferData.
///
/// The transfer data.
///
///
public TransferData TransferData
{
get { return this._transferData; }
set { this._transferData = value; }
}
// Check to see if TransferData property is set
internal bool IsSetTransferData()
{
return this._transferData != null;
}
///
/// Gets and sets the property Validity.
///
/// When the certificate is valid.
///
///
public CertificateValidity Validity
{
get { return this._validity; }
set { this._validity = value; }
}
// Check to see if Validity property is set
internal bool IsSetValidity()
{
return this._validity != null;
}
}
}