import { CertificateAuthenticationRequestProps } from './CertificateAuthenticationRequestProps';
import { Value } from '../../../cloudformation/Value';
import { FederatedAuthenticationRequestProps } from './FederatedAuthenticationRequestProps';
import { DirectoryServiceAuthenticationRequestProps } from './DirectoryServiceAuthenticationRequestProps';
/**
  Describes the authentication method to be used by a Client VPN endpoint. For more information, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication">Authentication</a> in the * AWS Client VPN Administrator Guide*.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-clientvpnendpoint-clientauthenticationrequest.html">the AWS Docs</a>
*/
export interface ClientAuthenticationRequestProps {
    /** <code>MutualAuthentication</code>  <a name="cfn-ec2-clientvpnendpoint-clientauthenticationrequest-mutualauthentication"></a>
  Information about the authentication certificates to be used, if applicable. You must provide this information if <strong>Type</strong> is <code>certificate-authentication</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-no-interrupt">No interruption</a> */
    mutualAuthentication?: CertificateAuthenticationRequestProps;
    /** <code>Type</code>  <a name="cfn-ec2-clientvpnendpoint-clientauthenticationrequest-type"></a>
  The type of client authentication to be used.<br />
  
  Required: Yes<br />
  
  Allowed values: <code>certificate-authentication | directory-service-authentication | federated-authentication</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    type: Value<'certificate-authentication' | 'directory-service-authentication' | 'federated-authentication'>;
    /** <code>FederatedAuthentication</code>  <a name="cfn-ec2-clientvpnendpoint-clientauthenticationrequest-federatedauthentication"></a>
  Information about the IAM SAML identity provider, if applicable.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    federatedAuthentication?: FederatedAuthenticationRequestProps;
    /** <code>ActiveDirectory</code>  <a name="cfn-ec2-clientvpnendpoint-clientauthenticationrequest-activedirectory"></a>
  Information about the Active Directory to be used, if applicable. You must provide this information if <strong>Type</strong> is <code>directory-service-authentication</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-no-interrupt">No interruption</a> */
    activeDirectory?: DirectoryServiceAuthenticationRequestProps;
}
