<filename>sdk/dotnet/ResourceManager/Outputs/GetPolicyAttachmentsAttachmentResult.cs// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.AliCloud.ResourceManager.Outputs
{

    [OutputType]
    public sealed class GetPolicyAttachmentsAttachmentResult
    {
        /// <summary>
        /// The time when the policy was attached.
        /// </summary>
        public readonly string AttachDate;
        /// <summary>
        /// The description of the policy.
        /// </summary>
        public readonly string Description;
        /// <summary>
        /// The ID of the Resource Manager Policy Attachment.
        /// * `policy_name`- The name of the policy.
        /// * `policy_type`- The type of the policy.
        /// * `principal_name`- The name of the object to which the policy is attached.
        /// * `principal_type`- The type of the object to which the policy is attached.
        /// </summary>
        public readonly string Id;
        /// <summary>
        /// The name of the policy. The name must be 1 to 128 characters in length and can contain letters, digits, and hyphens (-).
        /// </summary>
        public readonly string PolicyName;
        /// <summary>
        /// The type of the policy. Valid values: `Custom` and `System`.
        /// </summary>
        public readonly string PolicyType;
        /// <summary>
        /// The name of the object to which the policy is attached.
        /// </summary>
        public readonly string PrincipalName;
        /// <summary>
        /// The type of the object to which the policy is attached. If you do not specify this parameter, the system lists all types of objects. Valid values: `IMSUser`: RAM user, `IMSGroup`: RAM user group, `ServiceRole`: RAM role.
        /// </summary>
        public readonly string PrincipalType;
        /// <summary>
        /// The ID of the resource group or the ID of the Alibaba Cloud account to which the resource group belongs. If you do not specify this parameter, the system lists all policy attachment records under the current account.
        /// </summary>
        public readonly string ResourceGroupId;

        [OutputConstructor]
        private GetPolicyAttachmentsAttachmentResult(
            string attachDate,

            string description,

            string id,

            string policyName,

            string policyType,

            string principalName,

            string principalType,

            string resourceGroupId)
        {
            AttachDate = attachDate;
            Description = description;
            Id = id;
            PolicyName = policyName;
            PolicyType = policyType;
            PrincipalName = principalName;
            PrincipalType = principalType;
            ResourceGroupId = resourceGroupId;
        }
    }
}
