import { Value } from '../../../cloudformation/Value';
/**
  Provides information that defines a MongoDB endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For more information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration"> Endpoint configuration settings when using MongoDB as a source for AWS DMS</a> in the <em>AWS Database Migration Service User Guide</em>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dms-endpoint-mongodbsettings.html">the AWS Docs</a>
*/
export interface MongoDbSettingsProps {
    /** <code>Port</code>  <a name="cfn-dms-endpoint-mongodbsettings-port"></a>
  The port value for the MongoDB source endpoint.<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> */
    port?: Value<number>;
    /** <code>ExtractDocId</code>  <a name="cfn-dms-endpoint-mongodbsettings-extractdocid"></a>
  Specifies the document ID. Use this setting when <code>NestingLevel</code> is set to <code>&quot;none&quot;</code>.<br />
  Default value is <code>&quot;false&quot;</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> */
    extractDocId?: Value<string>;
    /** <code>DatabaseName</code>  <a name="cfn-dms-endpoint-mongodbsettings-databasename"></a>
  The database name on the MongoDB source endpoint.<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> */
    databaseName?: Value<string>;
    /** <code>AuthSource</code>  <a name="cfn-dms-endpoint-mongodbsettings-authsource"></a>
  The MongoDB database name. This setting isn’t used when <code>AuthType</code> is set to <code>&quot;no&quot;</code>.<br />
  The default is <code>&quot;admin&quot;</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> */
    authSource?: Value<string>;
    /** <code>AuthMechanism</code>  <a name="cfn-dms-endpoint-mongodbsettings-authmechanism"></a>
  The authentication mechanism you use to access the MongoDB source endpoint.<br />
  For the default value, in MongoDB version 2.x, <code>&quot;default&quot;</code> is <code>&quot;mongodb_cr&quot;</code>. For MongoDB version 3.x or later, <code>&quot;default&quot;</code> is <code>&quot;scram_sha_1&quot;</code>. This setting isn’t used when <code>AuthType</code> is set to <code>&quot;no&quot;</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>default | mongodb_cr | scram_sha_1</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> */
    authMechanism?: Value<'default' | 'mongodb_cr' | 'scram_sha_1'>;
    /** <code>Username</code>  <a name="cfn-dms-endpoint-mongodbsettings-username"></a>
  The user name you use to access the MongoDB source endpoint.<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> */
    username?: Value<string>;
    /** <code>DocsToInvestigate</code>  <a name="cfn-dms-endpoint-mongodbsettings-docstoinvestigate"></a>
  Indicates the number of documents to preview to determine the document organization. Use this setting when <code>NestingLevel</code> is set to <code>&quot;one&quot;</code>.<br />
  Must be a positive value greater than <code>0</code>. Default value is <code>1000</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> */
    docsToInvestigate?: Value<string>;
    /** <code>ServerName</code>  <a name="cfn-dms-endpoint-mongodbsettings-servername"></a>
  The name of the server on the MongoDB source endpoint.<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> */
    serverName?: Value<string>;
    /** <code>SecretsManagerSecretId</code>  <a name="cfn-dms-endpoint-mongodbsettings-secretsmanagersecretid"></a>
  The full ARN, partial ARN, or display name of the <code>SecretsManagerSecret</code> that contains the MongoDB endpoint connection details.<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> */
    secretsManagerSecretId?: Value<string>;
    /** <code>AuthType</code>  <a name="cfn-dms-endpoint-mongodbsettings-authtype"></a>
  The authentication type you use to access the MongoDB source endpoint.<br />
  When set to <code>&quot;no&quot;</code>, user name and password parameters are not used and can be empty.<br />
  
  Required: No<br />
  
  Allowed values: <code>no | password</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> */
    authType?: Value<'no' | 'password'>;
    /** <code>SecretsManagerAccessRoleArn</code>  <a name="cfn-dms-endpoint-mongodbsettings-secretsmanageraccessrolearn"></a>
  The full Amazon Resource Name (ARN) of the IAM role that specifies AWS DMS as the trusted entity and grants the required permissions to access the value in <code>SecretsManagerSecret</code>. The role must allow the <code>iam:PassRole</code> action. <code>SecretsManagerSecret</code> has the value of the AWS Secrets Manager secret that allows access to the MongoDB endpoint.<br />
  You can specify one of two sets of values for these permissions. You can specify the values for this setting and <code>SecretsManagerSecretId</code>. Or you can specify clear-text values for <code>UserName</code>, <code>Password</code>, <code>ServerName</code>, and <code>Port</code>. You can’t specify both.<br />
  For more information on creating this <code>SecretsManagerSecret</code>, the corresponding <code>SecretsManagerAccessRoleArn</code>, and the <code>SecretsManagerSecretId</code> that is required to access it, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager"> Using secrets to access AWS Database Migration Service resources</a> in the
  AWS Database Migration Service User Guide:
  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> */
    secretsManagerAccessRoleArn?: Value<string>;
    /** <code>Password</code>  <a name="cfn-dms-endpoint-mongodbsettings-password"></a>
  The password for the user account you use to access the MongoDB source endpoint.<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> */
    password?: Value<string>;
    /** <code>NestingLevel</code>  <a name="cfn-dms-endpoint-mongodbsettings-nestinglevel"></a>
  Specifies either document or table mode.<br />
  Default value is <code>&quot;none&quot;</code>. Specify <code>&quot;none&quot;</code> to use document mode. Specify <code>&quot;one&quot;</code> to use table mode.<br />
  
  Required: No<br />
  
  Allowed values: <code>none | one</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> */
    nestingLevel?: Value<'none' | 'one'>;
}
