// *** 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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Cam.Outputs
{

    [OutputType]
    public sealed class GetUserPolicyAttachmentsUserPolicyAttachmentListResult
    {
        /// <summary>
        /// Mode of Creation of the CAM user policy attachment. `1` means the CAM policy attachment is created by production, and the others indicate syntax strategy ways.
        /// </summary>
        public readonly int CreateMode;
        /// <summary>
        /// The create time of the CAM user policy attachment.
        /// </summary>
        public readonly string CreateTime;
        /// <summary>
        /// ID of CAM policy to be queried.
        /// </summary>
        public readonly string PolicyId;
        /// <summary>
        /// The name of the policy.
        /// </summary>
        public readonly string PolicyName;
        /// <summary>
        /// Type of the policy strategy. 'User' means customer strategy and 'QCS' means preset strategy.
        /// </summary>
        public readonly string PolicyType;
        /// <summary>
        /// It has been deprecated from version 1.59.6. Use `user_name` instead. ID of the attached CAM user to be queried.
        /// </summary>
        public readonly string UserId;
        /// <summary>
        /// Name of the attached CAM user as unique key to be queried.
        /// </summary>
        public readonly string UserName;

        [OutputConstructor]
        private GetUserPolicyAttachmentsUserPolicyAttachmentListResult(
            int createMode,

            string createTime,

            string policyId,

            string policyName,

            string policyType,

            string userId,

            string userName)
        {
            CreateMode = createMode;
            CreateTime = createTime;
            PolicyId = policyId;
            PolicyName = policyName;
            PolicyType = policyType;
            UserId = userId;
            UserName = userName;
        }
    }
}
