import { Value } from '../../../cloudformation/Value';
/**
  Provides information that defines a Microsoft SQL Server endpoint. This information includes the output format of records applied to the endpoint and details of transaction and control table data information. For information about other available settings, see <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a source for AWS DMS</a> and <a href="https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib"> Extra connection attributes when using SQL Server as a target 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-microsoftsqlserversettings.html">the AWS Docs</a>
*/
export interface MicrosoftSqlServerSettingsProps {
    /** <code>ReadBackupOnly</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-readbackuponly"></a>
  When this attribute is set to <code>Y</code>, AWS DMS only reads changes from transaction log backups and doesn’t read from the active transaction log file during ongoing replication. Setting this parameter to <code>Y</code> enables you to control active transaction log file growth during full load and ongoing replication tasks. However, it can add some source latency to ongoing replication.<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> */
    readBackupOnly?: Value<boolean>;
    /** <code>TlogAccessMode</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-tlogaccessmode"></a>
  Indicates the mode used to fetch CDC data.<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> */
    tlogAccessMode?: Value<string>;
    /** <code>BcpPacketSize</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-bcppacketsize"></a>
  The maximum size of the packets (in bytes) used to transfer data using BCP.<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> */
    bcpPacketSize?: Value<number>;
    /** <code>Port</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-port"></a>
  Endpoint TCP port.<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>SafeguardPolicy</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-safeguardpolicy"></a>
  Use this attribute to minimize the need to access the backup log and enable AWS DMS to prevent truncation using one of the following two methods.<br />
  
  Start transactions in the database:: his is the default method. When this method is used, AWS DMS prevents TLOG truncation by mimicking a transaction in the database. As long as such a transaction is open, changes that appear after the transaction started aren’t truncated. If you need Microsoft Replication to be enabled in your database, then you must choose this method.<br />
  
  Exclusively use sp_repldone within a single task: When this method is used, AWS DMS reads the changes and then uses sp_repldone to mark the TLOG transactions as ready for truncation. Although this method doesn’t involve any transactional activities, it can only be used when Microsoft Replication isn’t running. Also, when using this method, only one AWS DMS task can access the database at any given time. Therefore, if you need to run parallel AWS DMS tasks against the same database, use the default method.<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> */
    safeguardPolicy?: Value<string>;
    /** <code>UseThirdPartyBackupDevice</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-usethirdpartybackupdevice"></a>
  When this attribute is set to <code>Y</code>, DMS processes third-party transaction log backups if they are created in native format.<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> */
    useThirdPartyBackupDevice?: Value<boolean>;
    /** <code>DatabaseName</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-databasename"></a>
  Database name for the 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>UseBcpFullLoad</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-usebcpfullload"></a>
  Use this to attribute to transfer data for full-load operations using BCP. When the target table contains an identity column that does not exist in the source table, you must disable the use BCP for loading table option.<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> */
    useBcpFullLoad?: Value<boolean>;
    /** <code>Username</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-username"></a>
  Endpoint connection user name.<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>QuerySingleAlwaysOnNode</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-querysinglealwaysonnode"></a>
  Cleans and recreates table metadata information on the replication instance when a mismatch occurs. An example is a situation where running an alter DDL statement on a table might result in different information about the table cached in the replication instance.<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> */
    querySingleAlwaysOnNode?: Value<boolean>;
    /** <code>ServerName</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-servername"></a>
  Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance, this is the output of <a href="https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html">DescribeDBInstances</a>, in the <code> [Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html).Address</code> field.<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-microsoftsqlserversettings-secretsmanagersecretid"></a>
  The full ARN, partial ARN, or display name of the <code>SecretsManagerSecret</code> that contains the MicrosoftSQLServer 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>ControlTablesFileGroup</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-controltablesfilegroup"></a>
  Specifies a file group for the AWS DMS internal tables. When the replication task starts, all the internal AWS DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes) are created for the specified file group.<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> */
    controlTablesFileGroup?: Value<string>;
    /** <code>ForceLobLookup</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-forceloblookup"></a>
  Forces LOB lookup on inline LOB.<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> */
    forceLobLookup?: Value<boolean>;
    /** <code>SecretsManagerAccessRoleArn</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-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 SQL Server 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>TrimSpaceInChar</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-trimspaceinchar"></a>
  Use the <code>TrimSpaceInChar</code> source endpoint setting to right-trim data on CHAR and NCHAR data types during migration. Setting <code>TrimSpaceInChar</code> does not left-trim data. The default value is <code>true</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> */
    trimSpaceInChar?: Value<boolean>;
    /** <code>Password</code>  <a name="cfn-dms-endpoint-microsoftsqlserversettings-password"></a>
  Endpoint connection password.<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>;
}
