/* * 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 { /// <summary> /// Permissions designate which private CA actions can be performed by an Amazon Web Services /// service or entity. In order for ACM to automatically renew private certificates, you /// must give the ACM service principal all available permissions (<code>IssueCertificate</code>, /// <code>GetCertificate</code>, and <code>ListPermissions</code>). Permissions can be /// assigned with the <a href="https://docs.aws.amazon.com/privateca/latest/APIReference/API_CreatePermission.html">CreatePermission</a> /// action, removed with the <a href="https://docs.aws.amazon.com/privateca/latest/APIReference/API_DeletePermission.html">DeletePermission</a> /// action, and listed with the <a href="https://docs.aws.amazon.com/privateca/latest/APIReference/API_ListPermissions.html">ListPermissions</a> /// action. /// </summary> public partial class Permission { private List<string> _actions = new List<string>(); private string _certificateAuthorityArn; private DateTime? _createdAt; private string _policy; private string _principal; private string _sourceAccount; /// <summary> /// Gets and sets the property Actions. /// <para> /// The private CA actions that can be performed by the designated Amazon Web Services /// service. /// </para> /// </summary> [AWSProperty(Min=1, Max=3)] public List<string> Actions { get { return this._actions; } set { this._actions = value; } } // Check to see if Actions property is set internal bool IsSetActions() { return this._actions != null && this._actions.Count > 0; } /// <summary> /// Gets and sets the property CertificateAuthorityArn. /// <para> /// The Amazon Resource Number (ARN) of the private CA from which the permission was issued. /// </para> /// </summary> [AWSProperty(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; } /// <summary> /// Gets and sets the property CreatedAt. /// <para> /// The time at which the permission was created. /// </para> /// </summary> public DateTime CreatedAt { get { return this._createdAt.GetValueOrDefault(); } set { this._createdAt = value; } } // Check to see if CreatedAt property is set internal bool IsSetCreatedAt() { return this._createdAt.HasValue; } /// <summary> /// Gets and sets the property Policy. /// <para> /// The name of the policy that is associated with the permission. /// </para> /// </summary> [AWSProperty(Min=1, Max=20480)] public string Policy { get { return this._policy; } set { this._policy = value; } } // Check to see if Policy property is set internal bool IsSetPolicy() { return this._policy != null; } /// <summary> /// Gets and sets the property Principal. /// <para> /// The Amazon Web Services service or entity that holds the permission. At this time, /// the only valid principal is <code>acm.amazonaws.com</code>. /// </para> /// </summary> [AWSProperty(Min=0, Max=128)] public string Principal { get { return this._principal; } set { this._principal = value; } } // Check to see if Principal property is set internal bool IsSetPrincipal() { return this._principal != null; } /// <summary> /// Gets and sets the property SourceAccount. /// <para> /// The ID of the account that assigned the permission. /// </para> /// </summary> [AWSProperty(Min=12, Max=12)] public string SourceAccount { get { return this._sourceAccount; } set { this._sourceAccount = value; } } // Check to see if SourceAccount property is set internal bool IsSetSourceAccount() { return this._sourceAccount != null; } } }