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

    [OutputType]
    public sealed class K8sClusterOpenIdConnectConfig
    {
        /// <summary>
        /// A client id that all tokens must be issued for
        /// </summary>
        public readonly string ClientId;
        /// <summary>
        /// JWT claim to use as the user's group
        /// </summary>
        public readonly ImmutableArray<string> GroupsClaims;
        /// <summary>
        /// Prefix prepended to group claims
        /// </summary>
        public readonly string? GroupsPrefix;
        /// <summary>
        /// URL of the provider which allows the API server to discover public signing keys
        /// </summary>
        public readonly string IssuerUrl;
        /// <summary>
        /// Multiple key=value pairs that describes a required claim in the ID Token
        /// </summary>
        public readonly ImmutableArray<string> RequiredClaims;
        /// <summary>
        /// JWT claim to use as the user name
        /// </summary>
        public readonly string? UsernameClaim;
        /// <summary>
        /// Prefix prepended to username
        /// </summary>
        public readonly string? UsernamePrefix;

        [OutputConstructor]
        private K8sClusterOpenIdConnectConfig(
            string clientId,

            ImmutableArray<string> groupsClaims,

            string? groupsPrefix,

            string issuerUrl,

            ImmutableArray<string> requiredClaims,

            string? usernameClaim,

            string? usernamePrefix)
        {
            ClientId = clientId;
            GroupsClaims = groupsClaims;
            GroupsPrefix = groupsPrefix;
            IssuerUrl = issuerUrl;
            RequiredClaims = requiredClaims;
            UsernameClaim = usernameClaim;
            UsernamePrefix = usernamePrefix;
        }
    }
}
