<filename>sdk/dotnet/CS/Outputs/KubernetesPermissionPermission.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.CS.Outputs
{

    [OutputType]
    public sealed class KubernetesPermissionPermission
    {
        /// <summary>
        /// The ID of the cluster that you want to manage.
        /// </summary>
        public readonly string Cluster;
        /// <summary>
        /// Specifies whether to perform a custom authorization. To perform a custom authorization, set `role_name` to a custom cluster role.
        /// </summary>
        public readonly bool? IsCustom;
        /// <summary>
        /// Specifies whether the permissions are granted to a RAM role. When `uid` is ram role id, the value of `is_ram_role` must be `true`.
        /// </summary>
        public readonly bool? IsRamRole;
        /// <summary>
        /// The namespace to which the permissions are scoped. This parameter is required only if you set role_type to namespace.
        /// </summary>
        public readonly string? Namespace;
        /// <summary>
        /// Specifies the predefined role that you want to assign. Valid values `admin`, `ops`, `dev`, `restricted` and the custom cluster roles.
        /// </summary>
        public readonly string RoleName;
        /// <summary>
        /// The authorization type. Valid values `cluster`, `namespace`.
        /// </summary>
        public readonly string RoleType;

        [OutputConstructor]
        private KubernetesPermissionPermission(
            string cluster,

            bool? isCustom,

            bool? isRamRole,

            string? @namespace,

            string roleName,

            string roleType)
        {
            Cluster = cluster;
            IsCustom = isCustom;
            IsRamRole = isRamRole;
            Namespace = @namespace;
            RoleName = roleName;
            RoleType = roleType;
        }
    }
}
