import { Value } from '../../../cloudformation/Value';
import { RequiredClaimProps } from './RequiredClaimProps';
/**
  An object representing the configuration for an OpenID Connect (OIDC) identity provider.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-identityproviderconfig-oidcidentityproviderconfig.html">the AWS Docs</a>
*/
export interface OidcIdentityProviderConfigProps {
    /** <code>UsernamePrefix</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-usernameprefix"></a>
  The prefix that is prepended to username claims to prevent clashes with existing names. The prefix can’t contain <code>system:</code><br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    usernamePrefix?: Value<string>;
    /** <code>GroupsPrefix</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-groupsprefix"></a>
  The prefix that is prepended to group claims to prevent clashes with existing names (such as <code>system:</code> groups). For example, the value<code> oidc:</code> creates group names like <code>oidc:engineering</code> and <code>oidc:infra</code>. The prefix can’t contain <code>system:</code><br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    groupsPrefix?: Value<string>;
    /** <code>IssuerUrl</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-issuerurl"></a>
  The URL of the OIDC identity provider that allows the API server to discover public signing keys for verifying tokens.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    issuerUrl: Value<string>;
    /** <code>RequiredClaims</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-requiredclaims"></a>
  The key-value pairs that describe required claims in the identity token. If set, each claim is verified to be present in the token with a matching value.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    requiredClaims?: RequiredClaimProps[];
    /** <code>ClientId</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-clientid"></a>
  This is also known as
  audience: The ID of the client application that makes authentication requests to the OIDC identity provider.<br />
  
  Required: Yes<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    clientId: Value<string>;
    /** <code>GroupsClaim</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-groupsclaim"></a>
  The JSON web token (JWT) claim that the provider uses to return your groups.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    groupsClaim?: Value<string>;
    /** <code>UsernameClaim</code>  <a name="cfn-eks-identityproviderconfig-oidcidentityproviderconfig-usernameclaim"></a>
  The JSON Web token (JWT) claim that is used as the username.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    usernameClaim?: Value<string>;
}
