/* * 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 a managed policy. /// /// /// /// This data type is used as a response element in the CreatePolicy, GetPolicy, /// and ListPolicies operations. /// /// /// /// For more information about managed policies, refer to Managed /// Policies and Inline Policies in the IAM User Guide. /// /// public partial class ManagedPolicy { private string _arn; private int? _attachmentCount; private DateTime? _createDate; private string _defaultVersionId; private string _description; private bool? _isAttachable; private string _path; private int? _permissionsBoundaryUsageCount; private string _policyId; private string _policyName; private DateTime? _updateDate; /// /// Gets and sets the property Arn. /// [AWSProperty(Min=20, Max=2048)] 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 AttachmentCount. /// /// The number of entities (users, groups, and roles) that the policy is attached to. /// /// public int AttachmentCount { get { return this._attachmentCount.GetValueOrDefault(); } set { this._attachmentCount = value; } } // Check to see if AttachmentCount property is set internal bool IsSetAttachmentCount() { return this._attachmentCount.HasValue; } /// /// Gets and sets the property CreateDate. /// /// The date and time, in ISO 8601 date-time /// format, when the policy was created. /// /// public DateTime CreateDate { get { return this._createDate.GetValueOrDefault(); } set { this._createDate = value; } } // Check to see if CreateDate property is set internal bool IsSetCreateDate() { return this._createDate.HasValue; } /// /// Gets and sets the property DefaultVersionId. /// /// The identifier for the version of the policy that is set as the default version. /// /// public string DefaultVersionId { get { return this._defaultVersionId; } set { this._defaultVersionId = value; } } // Check to see if DefaultVersionId property is set internal bool IsSetDefaultVersionId() { return this._defaultVersionId != null; } /// /// Gets and sets the property Description. /// /// A friendly description of the policy. /// /// /// /// This element is included in the response to the GetPolicy operation. It is /// not included in the response to the ListPolicies operation. /// /// [AWSProperty(Max=1000)] public string Description { get { return this._description; } set { this._description = value; } } // Check to see if Description property is set internal bool IsSetDescription() { return this._description != null; } /// /// Gets and sets the property IsAttachable. /// /// Specifies whether the policy can be attached to an IAM user, group, or role. /// /// public bool IsAttachable { get { return this._isAttachable.GetValueOrDefault(); } set { this._isAttachable = value; } } // Check to see if IsAttachable property is set internal bool IsSetIsAttachable() { return this._isAttachable.HasValue; } /// /// Gets and sets the property Path. /// /// The path to the policy. /// /// /// /// For more information about paths, see IAM /// Identifiers in the IAM User Guide. /// /// [AWSProperty(Min=1, Max=512)] public string Path { get { return this._path; } set { this._path = value; } } // Check to see if Path property is set internal bool IsSetPath() { return this._path != null; } /// /// Gets and sets the property PermissionsBoundaryUsageCount. /// /// The number of entities (users and roles) for which the policy is used to set the permissions /// boundary. /// /// /// /// For more information about permissions boundaries, see Permissions /// Boundaries for IAM Identities in the IAM User Guide. /// /// public int PermissionsBoundaryUsageCount { get { return this._permissionsBoundaryUsageCount.GetValueOrDefault(); } set { this._permissionsBoundaryUsageCount = value; } } // Check to see if PermissionsBoundaryUsageCount property is set internal bool IsSetPermissionsBoundaryUsageCount() { return this._permissionsBoundaryUsageCount.HasValue; } /// /// Gets and sets the property PolicyId. /// /// The stable and unique string identifying the policy. /// /// /// /// For more information about IDs, see IAM /// Identifiers in the IAM User Guide. /// /// [AWSProperty(Min=16, Max=128)] public string PolicyId { get { return this._policyId; } set { this._policyId = value; } } // Check to see if PolicyId property is set internal bool IsSetPolicyId() { return this._policyId != null; } /// /// Gets and sets the property PolicyName. /// /// The friendly name (not ARN) identifying the policy. /// /// [AWSProperty(Min=1, Max=128)] public string PolicyName { get { return this._policyName; } set { this._policyName = value; } } // Check to see if PolicyName property is set internal bool IsSetPolicyName() { return this._policyName != null; } /// /// Gets and sets the property UpdateDate. /// /// The date and time, in ISO 8601 date-time /// format, when the policy was last updated. /// /// /// /// When a policy has only one version, this field contains the date and time when the /// policy was created. When a policy has more than one version, this field contains the /// date and time when the most recent policy version was created. /// /// public DateTime UpdateDate { get { return this._updateDate.GetValueOrDefault(); } set { this._updateDate = value; } } // Check to see if UpdateDate property is set internal bool IsSetUpdateDate() { return this._updateDate.HasValue; } } }