/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the dms-2016-01-01.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.DatabaseMigrationService.Model
{
///
/// Provides information that defines a Microsoft SQL Server endpoint.
///
public partial class MicrosoftSQLServerSettings
{
private int? _bcpPacketSize;
private string _controlTablesFileGroup;
private string _databaseName;
private bool? _forceLobLookup;
private string _password;
private int? _port;
private bool? _querySingleAlwaysOnNode;
private bool? _readBackupOnly;
private SafeguardPolicy _safeguardPolicy;
private string _secretsManagerAccessRoleArn;
private string _secretsManagerSecretId;
private string _serverName;
private TlogAccessMode _tlogAccessMode;
private bool? _trimSpaceInChar;
private bool? _useBcpFullLoad;
private string _username;
private bool? _useThirdPartyBackupDevice;
///
/// Gets and sets the property BcpPacketSize.
///
/// The maximum size of the packets (in bytes) used to transfer data using BCP.
///
///
public int BcpPacketSize
{
get { return this._bcpPacketSize.GetValueOrDefault(); }
set { this._bcpPacketSize = value; }
}
// Check to see if BcpPacketSize property is set
internal bool IsSetBcpPacketSize()
{
return this._bcpPacketSize.HasValue;
}
///
/// Gets and sets the property ControlTablesFileGroup.
///
/// Specifies a file group for the DMS internal tables. When the replication task starts,
/// all the internal DMS control tables (awsdms_ apply_exception, awsdms_apply, awsdms_changes)
/// are created for the specified file group.
///
///
public string ControlTablesFileGroup
{
get { return this._controlTablesFileGroup; }
set { this._controlTablesFileGroup = value; }
}
// Check to see if ControlTablesFileGroup property is set
internal bool IsSetControlTablesFileGroup()
{
return this._controlTablesFileGroup != null;
}
///
/// Gets and sets the property DatabaseName.
///
/// Database name for the endpoint.
///
///
public string DatabaseName
{
get { return this._databaseName; }
set { this._databaseName = value; }
}
// Check to see if DatabaseName property is set
internal bool IsSetDatabaseName()
{
return this._databaseName != null;
}
///
/// Gets and sets the property ForceLobLookup.
///
/// Forces LOB lookup on inline LOB.
///
///
public bool ForceLobLookup
{
get { return this._forceLobLookup.GetValueOrDefault(); }
set { this._forceLobLookup = value; }
}
// Check to see if ForceLobLookup property is set
internal bool IsSetForceLobLookup()
{
return this._forceLobLookup.HasValue;
}
///
/// Gets and sets the property Password.
///
/// Endpoint connection password.
///
///
[AWSProperty(Sensitive=true)]
public string Password
{
get { return this._password; }
set { this._password = value; }
}
// Check to see if Password property is set
internal bool IsSetPassword()
{
return this._password != null;
}
///
/// Gets and sets the property Port.
///
/// Endpoint TCP port.
///
///
public int Port
{
get { return this._port.GetValueOrDefault(); }
set { this._port = value; }
}
// Check to see if Port property is set
internal bool IsSetPort()
{
return this._port.HasValue;
}
///
/// Gets and sets the property QuerySingleAlwaysOnNode.
///
/// 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.
///
///
public bool QuerySingleAlwaysOnNode
{
get { return this._querySingleAlwaysOnNode.GetValueOrDefault(); }
set { this._querySingleAlwaysOnNode = value; }
}
// Check to see if QuerySingleAlwaysOnNode property is set
internal bool IsSetQuerySingleAlwaysOnNode()
{
return this._querySingleAlwaysOnNode.HasValue;
}
///
/// Gets and sets the property ReadBackupOnly.
///
/// When this attribute is set to Y
, 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 Y
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.
///
///
public bool ReadBackupOnly
{
get { return this._readBackupOnly.GetValueOrDefault(); }
set { this._readBackupOnly = value; }
}
// Check to see if ReadBackupOnly property is set
internal bool IsSetReadBackupOnly()
{
return this._readBackupOnly.HasValue;
}
///
/// Gets and sets the property SafeguardPolicy.
///
/// Use this attribute to minimize the need to access the backup log and enable DMS to
/// prevent truncation using one of the following two methods.
///
///
///
/// Start transactions in the database: This is the default method. When this
/// method is used, 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.
///
///
///
/// Exclusively use sp_repldone within a single task: When this method is used,
/// 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 DMS task can access the database at any given time. Therefore, if
/// you need to run parallel DMS tasks against the same database, use the default method.
///
///
public SafeguardPolicy SafeguardPolicy
{
get { return this._safeguardPolicy; }
set { this._safeguardPolicy = value; }
}
// Check to see if SafeguardPolicy property is set
internal bool IsSetSafeguardPolicy()
{
return this._safeguardPolicy != null;
}
///
/// Gets and sets the property SecretsManagerAccessRoleArn.
///
/// The full Amazon Resource Name (ARN) of the IAM role that specifies DMS as the trusted
/// entity and grants the required permissions to access the value in SecretsManagerSecret
.
/// The role must allow the iam:PassRole
action. SecretsManagerSecret
/// has the value of the Amazon Web Services Secrets Manager secret that allows access
/// to the SQL Server endpoint.
///
///
///
/// You can specify one of two sets of values for these permissions. You can specify the
/// values for this setting and SecretsManagerSecretId
. Or you can specify
/// clear-text values for UserName
, Password
, ServerName
,
/// and Port
. You can't specify both. For more information on creating this
/// SecretsManagerSecret
and the SecretsManagerAccessRoleArn
/// and SecretsManagerSecretId
required to access it, see Using
/// secrets to access Database Migration Service resources in the Database Migration
/// Service User Guide.
///
///
///
public string SecretsManagerAccessRoleArn
{
get { return this._secretsManagerAccessRoleArn; }
set { this._secretsManagerAccessRoleArn = value; }
}
// Check to see if SecretsManagerAccessRoleArn property is set
internal bool IsSetSecretsManagerAccessRoleArn()
{
return this._secretsManagerAccessRoleArn != null;
}
///
/// Gets and sets the property SecretsManagerSecretId.
///
/// The full ARN, partial ARN, or friendly name of the SecretsManagerSecret
/// that contains the SQL Server endpoint connection details.
///
///
public string SecretsManagerSecretId
{
get { return this._secretsManagerSecretId; }
set { this._secretsManagerSecretId = value; }
}
// Check to see if SecretsManagerSecretId property is set
internal bool IsSetSecretsManagerSecretId()
{
return this._secretsManagerSecretId != null;
}
///
/// Gets and sets the property ServerName.
///
/// Fully qualified domain name of the endpoint. For an Amazon RDS SQL Server instance,
/// this is the output of DescribeDBInstances,
/// in the Endpoint.Address
/// field.
///
///
public string ServerName
{
get { return this._serverName; }
set { this._serverName = value; }
}
// Check to see if ServerName property is set
internal bool IsSetServerName()
{
return this._serverName != null;
}
///
/// Gets and sets the property TlogAccessMode.
///
/// Indicates the mode used to fetch CDC data.
///
///
public TlogAccessMode TlogAccessMode
{
get { return this._tlogAccessMode; }
set { this._tlogAccessMode = value; }
}
// Check to see if TlogAccessMode property is set
internal bool IsSetTlogAccessMode()
{
return this._tlogAccessMode != null;
}
///
/// Gets and sets the property TrimSpaceInChar.
///
/// Use the TrimSpaceInChar
source endpoint setting to trim data on CHAR
/// and NCHAR data types during migration. The default value is true
.
///
///
public bool TrimSpaceInChar
{
get { return this._trimSpaceInChar.GetValueOrDefault(); }
set { this._trimSpaceInChar = value; }
}
// Check to see if TrimSpaceInChar property is set
internal bool IsSetTrimSpaceInChar()
{
return this._trimSpaceInChar.HasValue;
}
///
/// Gets and sets the property UseBcpFullLoad.
///
/// 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.
///
///
public bool UseBcpFullLoad
{
get { return this._useBcpFullLoad.GetValueOrDefault(); }
set { this._useBcpFullLoad = value; }
}
// Check to see if UseBcpFullLoad property is set
internal bool IsSetUseBcpFullLoad()
{
return this._useBcpFullLoad.HasValue;
}
///
/// Gets and sets the property Username.
///
/// Endpoint connection user name.
///
///
public string Username
{
get { return this._username; }
set { this._username = value; }
}
// Check to see if Username property is set
internal bool IsSetUsername()
{
return this._username != null;
}
///
/// Gets and sets the property UseThirdPartyBackupDevice.
///
/// When this attribute is set to Y
, DMS processes third-party transaction
/// log backups if they are created in native format.
///
///
public bool UseThirdPartyBackupDevice
{
get { return this._useThirdPartyBackupDevice.GetValueOrDefault(); }
set { this._useThirdPartyBackupDevice = value; }
}
// Check to see if UseThirdPartyBackupDevice property is set
internal bool IsSetUseThirdPartyBackupDevice()
{
return this._useThirdPartyBackupDevice.HasValue;
}
}
}