// *** 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.ServiceMesh.Outputs
{

    [OutputType]
    public sealed class UserPermissionPermission
    {
        /// <summary>
        /// Whether the grant object is a RAM role.
        /// </summary>
        public readonly bool? IsCustom;
        /// <summary>
        /// Whether the grant object is an entity.
        /// </summary>
        public readonly bool? IsRamRole;
        /// <summary>
        /// The permission name. Valid values: `istio-admin`, `istio-ops`, `istio-readonly`.
        /// - `istio-admin`:  The administrator.
        /// - `istio-ops`: The administrator of the service mesh resource.
        /// - `istio-readonly`: The read only permission.
        /// </summary>
        public readonly string? RoleName;
        /// <summary>
        /// The role type. Valid Value: `custom`.
        /// </summary>
        public readonly string? RoleType;
        /// <summary>
        /// The service mesh id.
        /// </summary>
        public readonly string? ServiceMeshId;

        [OutputConstructor]
        private UserPermissionPermission(
            bool? isCustom,

            bool? isRamRole,

            string? roleName,

            string? roleType,

            string? serviceMeshId)
        {
            IsCustom = isCustom;
            IsRamRole = isRamRole;
            RoleName = roleName;
            RoleType = roleType;
            ServiceMeshId = serviceMeshId;
        }
    }
}
