import { Value } from '../../../cloudformation/Value';
/**
  Required when <code>IdentityProviderType</code> is set to <code>AWS_DIRECTORY_SERVICE</code>, <code> AWS_LAMBDA</code> or <code>API_GATEWAY</code>. Accepts an array containing all of the information required to use a directory in <code>AWS_DIRECTORY_SERVICE</code> or invoke a customer-supplied authentication API, including the API Gateway URL. Not required when <code>IdentityProviderType</code> is set to <code>SERVICE_MANAGED</code>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html">the AWS Docs</a>
*/
export interface IdentityProviderDetailsProps {
    /** <code>Function</code>  <a name="cfn-transfer-server-identityproviderdetails-function"></a>
  The ARN for a Lambda function to use for the Identity provider.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>170</code><br />
  
  Pattern: <code>^arn:[a-z-]+:lambda:.*$</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> */
    function?: Value<string>;
    /** <code>DirectoryId</code>  <a name="cfn-transfer-server-identityproviderdetails-directoryid"></a>
  The identifier of the AWS Directory Service directory that you want to stop sharing.<br />
  
  Required: No<br />
  
  Minimum: <code>12</code><br />
  
  Maximum: <code>12</code><br />
  
  Pattern: <code>^d-[0-9a-f]{10}$</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> */
    directoryId?: Value<string>;
    /** <code>InvocationRole</code>  <a name="cfn-transfer-server-identityproviderdetails-invocationrole"></a>
  This parameter is only applicable if your <code>IdentityProviderType</code> is <code>API_GATEWAY</code>. Provides the type of <code>InvocationRole</code> used to authenticate the user account.<br />
  
  Required: No<br />
  
  Minimum: <code>20</code><br />
  
  Maximum: <code>2048</code><br />
  
  Pattern: <code>arn:.*role/.*</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> */
    invocationRole?: Value<string>;
    /** <code>Url</code>  <a name="cfn-transfer-server-identityproviderdetails-url"></a>
  Provides the location of the service endpoint used to authenticate users.<br />
  
  Required: No<br />
  
  Maximum: <code>255</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> */
    url?: Value<string>;
    /** <code>SftpAuthenticationMethods</code>  <a name="cfn-transfer-server-identityproviderdetails-sftpauthenticationmethods"></a>
  For SFTP-enabled servers, and for custom identity providers
  only: you can specify whether to authenticate using a password, SSH key pair, or both. */
    sftpAuthenticationMethods?: Value<string>;
}
