/*
* 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 acm-pca-2017-08-22.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.ACMPCA.Model
{
///
/// Container for the parameters to the UpdateCertificateAuthority operation.
/// Updates the status or configuration of a private certificate authority (CA). Your
/// private CA must be in the ACTIVE
or DISABLED
state before
/// you can update it. You can disable a private CA that is in the ACTIVE
/// state or make a CA that is in the DISABLED
state active again.
///
///
///
/// Both Amazon Web Services Private CA and the IAM principal must have permission to
/// write to the S3 bucket that you specify. If the IAM principal making the call does
/// not have permission to write to the bucket, then an exception is thrown. For more
/// information, see Access
/// policies for CRLs in Amazon S3.
///
///
///
public partial class UpdateCertificateAuthorityRequest : AmazonACMPCARequest
{
private string _certificateAuthorityArn;
private RevocationConfiguration _revocationConfiguration;
private CertificateAuthorityStatus _status;
///
/// Gets and sets the property CertificateAuthorityArn.
///
/// Amazon Resource Name (ARN) of the private CA that issued the certificate to be revoked.
/// This must be of the form:
///
///
///
/// arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
///
///
///
[AWSProperty(Required=true, Min=5, Max=200)]
public string CertificateAuthorityArn
{
get { return this._certificateAuthorityArn; }
set { this._certificateAuthorityArn = value; }
}
// Check to see if CertificateAuthorityArn property is set
internal bool IsSetCertificateAuthorityArn()
{
return this._certificateAuthorityArn != null;
}
///
/// Gets and sets the property RevocationConfiguration.
///
/// Contains information to enable Online Certificate Status Protocol (OCSP) support,
/// to enable a certificate revocation list (CRL), to enable both, or to enable neither.
/// If this parameter is not supplied, existing capibilites remain unchanged. For more
/// information, see the OcspConfiguration
/// and CrlConfiguration
/// types.
///
///
///
/// The following requirements apply to revocation configurations.
///
/// -
///
/// A configuration disabling CRLs or OCSP must contain only the
Enabled=False
/// parameter, and will fail if other parameters such as CustomCname
or ExpirationInDays
/// are included.
///
/// -
///
/// In a CRL configuration, the
S3BucketName
parameter must conform to Amazon
/// S3 bucket naming rules.
///
/// -
///
/// A configuration containing a custom Canonical Name (CNAME) parameter for CRLs or OCSP
/// must conform to RFC2396 restrictions
/// on the use of special characters in a CNAME.
///
///
-
///
/// In a CRL or OCSP configuration, the value of a CNAME parameter must not include a
/// protocol prefix such as "http://" or "https://".
///
///
///
public RevocationConfiguration RevocationConfiguration
{
get { return this._revocationConfiguration; }
set { this._revocationConfiguration = value; }
}
// Check to see if RevocationConfiguration property is set
internal bool IsSetRevocationConfiguration()
{
return this._revocationConfiguration != null;
}
///
/// Gets and sets the property Status.
///
/// Status of your private CA.
///
///
public CertificateAuthorityStatus Status
{
get { return this._status; }
set { this._status = value; }
}
// Check to see if Status property is set
internal bool IsSetStatus()
{
return this._status != null;
}
}
}