/*
* Copyright 2010-2014 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 iam-2010-05-08.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.IdentityManagement.Model
{
///
/// Contains information about an X.509 signing certificate.
///
///
///
/// This data type is used as a response element in the UploadSigningCertificate
/// and ListSigningCertificates operations.
///
///
public partial class SigningCertificate
{
private string _certificateBody;
private string _certificateId;
private StatusType _status;
private DateTime? _uploadDate;
private string _userName;
///
/// Empty constructor used to set properties independently even when a simple constructor is available
///
public SigningCertificate() { }
///
/// Instantiates SigningCertificate with the parameterized properties
///
/// The name of the user the signing certificate is associated with.
/// The ID for the signing certificate.
/// The contents of the signing certificate.
/// The status of the signing certificate. Active means that the key is valid for API calls, while Inactive means it is not.
public SigningCertificate(string userName, string certificateId, string certificateBody, StatusType status)
{
_userName = userName;
_certificateId = certificateId;
_certificateBody = certificateBody;
_status = status;
}
///
/// Gets and sets the property CertificateBody.
///
/// The contents of the signing certificate.
///
///
[AWSProperty(Required=true, Min=1, Max=16384)]
public string CertificateBody
{
get { return this._certificateBody; }
set { this._certificateBody = value; }
}
// Check to see if CertificateBody property is set
internal bool IsSetCertificateBody()
{
return this._certificateBody != null;
}
///
/// Gets and sets the property CertificateId.
///
/// The ID for the signing certificate.
///
///
[AWSProperty(Required=true, Min=24, Max=128)]
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 Status.
///
/// The status of the signing certificate. Active means that the key is valid
/// for API calls, while Inactive means it is not.
///
///
[AWSProperty(Required=true)]
public StatusType 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 UploadDate.
///
/// The date when the signing certificate was uploaded.
///
///
public DateTime UploadDate
{
get { return this._uploadDate.GetValueOrDefault(); }
set { this._uploadDate = value; }
}
// Check to see if UploadDate property is set
internal bool IsSetUploadDate()
{
return this._uploadDate.HasValue;
}
///
/// Gets and sets the property UserName.
///
/// The name of the user the signing certificate is associated with.
///
///
[AWSProperty(Required=true, Min=1, Max=64)]
public string UserName
{
get { return this._userName; }
set { this._userName = value; }
}
// Check to see if UserName property is set
internal bool IsSetUserName()
{
return this._userName != null;
}
}
}