Class: AWSCDK::DMS::CfnEndpoint::MicrosoftSqlServerSettingsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dms/cfn_endpoint.rb

Overview

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 Extra connection attributes when using SQL Server as a source for AWS DMS and Extra connection attributes when using SQL Server as a target for AWS DMS in the AWS Database Migration Service User Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(bcp_packet_size: nil, control_tables_file_group: nil, database_name: nil, force_lob_lookup: nil, password: nil, port: nil, query_single_always_on_node: nil, read_backup_only: nil, safeguard_policy: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil, server_name: nil, tlog_access_mode: nil, trim_space_in_char: nil, use_bcp_full_load: nil, username: nil, use_third_party_backup_device: nil) ⇒ MicrosoftSqlServerSettingsProperty

Returns a new instance of MicrosoftSqlServerSettingsProperty.

Parameters:

  • bcp_packet_size (Numeric, nil) (defaults to: nil)

    The maximum size of the packets (in bytes) used to transfer data using BCP.

  • control_tables_file_group (String, nil) (defaults to: nil)

    Specifies a file group for the AWS DMS internal tables.

  • database_name (String, nil) (defaults to: nil)

    Database name for the endpoint.

  • force_lob_lookup (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Forces LOB lookup on inline LOB.

  • password (String, nil) (defaults to: nil)

    Endpoint connection password.

  • port (Numeric, nil) (defaults to: nil)

    Endpoint TCP port.

  • query_single_always_on_node (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Cleans and recreates table metadata information on the replication instance when a mismatch occurs.

  • read_backup_only (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    When this attribute is set to Y , AWS DMS only reads changes from transaction log backups and doesn't read from the active transaction log file during ongoing replication.

  • safeguard_policy (String, nil) (defaults to: nil)

    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.

  • secrets_manager_access_role_arn (String, nil) (defaults to: nil)

    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 SecretsManagerSecret .

  • secrets_manager_secret_id (String, nil) (defaults to: nil)

    The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the MicrosoftSQLServer endpoint connection details.

  • server_name (String, nil) (defaults to: nil)

    Fully qualified domain name of the endpoint.

  • tlog_access_mode (String, nil) (defaults to: nil)

    Indicates the mode used to fetch CDC data.

  • trim_space_in_char (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Use the TrimSpaceInChar source endpoint setting to right-trim data on CHAR and NCHAR data types during migration.

  • use_bcp_full_load (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Use this to attribute to transfer data for full-load operations using BCP.

  • username (String, nil) (defaults to: nil)

    Endpoint connection user name.

  • use_third_party_backup_device (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    When this attribute is set to Y , DMS processes third-party transaction log backups if they are created in native format.



1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
# File 'dms/cfn_endpoint.rb', line 1842

def initialize(bcp_packet_size: nil, control_tables_file_group: nil, database_name: nil, force_lob_lookup: nil, password: nil, port: nil, query_single_always_on_node: nil, read_backup_only: nil, safeguard_policy: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil, server_name: nil, tlog_access_mode: nil, trim_space_in_char: nil, use_bcp_full_load: nil, username: nil, use_third_party_backup_device: nil)
  @bcp_packet_size = bcp_packet_size
  Jsii::Type.check_type(@bcp_packet_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "bcpPacketSize") unless @bcp_packet_size.nil?
  @control_tables_file_group = control_tables_file_group
  Jsii::Type.check_type(@control_tables_file_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "controlTablesFileGroup") unless @control_tables_file_group.nil?
  @database_name = database_name
  Jsii::Type.check_type(@database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseName") unless @database_name.nil?
  @force_lob_lookup = force_lob_lookup
  Jsii::Type.check_type(@force_lob_lookup, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "forceLobLookup") unless @force_lob_lookup.nil?
  @password = password
  Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil?
  @port = port
  Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil?
  @query_single_always_on_node = query_single_always_on_node
  Jsii::Type.check_type(@query_single_always_on_node, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "querySingleAlwaysOnNode") unless @query_single_always_on_node.nil?
  @read_backup_only = read_backup_only
  Jsii::Type.check_type(@read_backup_only, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "readBackupOnly") unless @read_backup_only.nil?
  @safeguard_policy = safeguard_policy
  Jsii::Type.check_type(@safeguard_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "safeguardPolicy") unless @safeguard_policy.nil?
  @secrets_manager_access_role_arn = secrets_manager_access_role_arn
  Jsii::Type.check_type(@secrets_manager_access_role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretsManagerAccessRoleArn") unless @secrets_manager_access_role_arn.nil?
  @secrets_manager_secret_id = secrets_manager_secret_id
  Jsii::Type.check_type(@secrets_manager_secret_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "secretsManagerSecretId") unless @secrets_manager_secret_id.nil?
  @server_name = server_name
  Jsii::Type.check_type(@server_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "serverName") unless @server_name.nil?
  @tlog_access_mode = tlog_access_mode
  Jsii::Type.check_type(@tlog_access_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "tlogAccessMode") unless @tlog_access_mode.nil?
  @trim_space_in_char = trim_space_in_char
  Jsii::Type.check_type(@trim_space_in_char, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "trimSpaceInChar") unless @trim_space_in_char.nil?
  @use_bcp_full_load = use_bcp_full_load
  Jsii::Type.check_type(@use_bcp_full_load, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useBcpFullLoad") unless @use_bcp_full_load.nil?
  @username = username
  Jsii::Type.check_type(@username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "username") unless @username.nil?
  @use_third_party_backup_device = use_third_party_backup_device
  Jsii::Type.check_type(@use_third_party_backup_device, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "useThirdPartyBackupDevice") unless @use_third_party_backup_device.nil?
end

Instance Attribute Details

#bcp_packet_sizeNumeric? (readonly)

The maximum size of the packets (in bytes) used to transfer data using BCP.



1883
1884
1885
# File 'dms/cfn_endpoint.rb', line 1883

def bcp_packet_size
  @bcp_packet_size
end

#control_tables_file_groupString? (readonly)

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.



1890
1891
1892
# File 'dms/cfn_endpoint.rb', line 1890

def control_tables_file_group
  @control_tables_file_group
end

#database_nameString? (readonly)

Database name for the endpoint.



1895
1896
1897
# File 'dms/cfn_endpoint.rb', line 1895

def database_name
  @database_name
end

#force_lob_lookupBoolean, ... (readonly)

Forces LOB lookup on inline LOB.



1900
1901
1902
# File 'dms/cfn_endpoint.rb', line 1900

def force_lob_lookup
  @force_lob_lookup
end

#passwordString? (readonly)

Endpoint connection password.



1905
1906
1907
# File 'dms/cfn_endpoint.rb', line 1905

def password
  @password
end

#portNumeric? (readonly)

Endpoint TCP port.



1910
1911
1912
# File 'dms/cfn_endpoint.rb', line 1910

def port
  @port
end

#query_single_always_on_nodeBoolean, ... (readonly)

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.



1917
1918
1919
# File 'dms/cfn_endpoint.rb', line 1917

def query_single_always_on_node
  @query_single_always_on_node
end

#read_backup_onlyBoolean, ... (readonly)

When this attribute is set to Y , 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 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.



1924
1925
1926
# File 'dms/cfn_endpoint.rb', line 1924

def read_backup_only
  @read_backup_only
end

#safeguard_policyString? (readonly)

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.

Start transactions in the database: This 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.

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.



1933
1934
1935
# File 'dms/cfn_endpoint.rb', line 1933

def safeguard_policy
  @safeguard_policy
end

#secrets_manager_access_role_arnString? (readonly)

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 SecretsManagerSecret .

The role must allow the iam:PassRole action. SecretsManagerSecret has the value of the AWS 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 , the corresponding SecretsManagerAccessRoleArn , and the SecretsManagerSecretId that is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide .



1944
1945
1946
# File 'dms/cfn_endpoint.rb', line 1944

def secrets_manager_access_role_arn
  @secrets_manager_access_role_arn
end

#secrets_manager_secret_idString? (readonly)

The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the MicrosoftSQLServer endpoint connection details.



1949
1950
1951
# File 'dms/cfn_endpoint.rb', line 1949

def secrets_manager_secret_id
  @secrets_manager_secret_id
end

#server_nameString? (readonly)

Fully qualified domain name of the endpoint.

For an Amazon RDS SQL Server instance, this is the output of DescribeDBInstances , in the [Endpoint](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_Endpoint.html) .Address field.



1956
1957
1958
# File 'dms/cfn_endpoint.rb', line 1956

def server_name
  @server_name
end

#tlog_access_modeString? (readonly)

Indicates the mode used to fetch CDC data.



1961
1962
1963
# File 'dms/cfn_endpoint.rb', line 1961

def tlog_access_mode
  @tlog_access_mode
end

#trim_space_in_charBoolean, ... (readonly)

Use the TrimSpaceInChar source endpoint setting to right-trim data on CHAR and NCHAR data types during migration.

Setting TrimSpaceInChar does not left-trim data. The default value is true .



1968
1969
1970
# File 'dms/cfn_endpoint.rb', line 1968

def trim_space_in_char
  @trim_space_in_char
end

#use_bcp_full_loadBoolean, ... (readonly)

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.



1975
1976
1977
# File 'dms/cfn_endpoint.rb', line 1975

def use_bcp_full_load
  @use_bcp_full_load
end

#use_third_party_backup_deviceBoolean, ... (readonly)

When this attribute is set to Y , DMS processes third-party transaction log backups if they are created in native format.



1985
1986
1987
# File 'dms/cfn_endpoint.rb', line 1985

def use_third_party_backup_device
  @use_third_party_backup_device
end

#usernameString? (readonly)

Endpoint connection user name.



1980
1981
1982
# File 'dms/cfn_endpoint.rb', line 1980

def username
  @username
end

Class Method Details

.jsii_propertiesObject



1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
# File 'dms/cfn_endpoint.rb', line 1987

def self.jsii_properties
  {
    :bcp_packet_size => "bcpPacketSize",
    :control_tables_file_group => "controlTablesFileGroup",
    :database_name => "databaseName",
    :force_lob_lookup => "forceLobLookup",
    :password => "password",
    :port => "port",
    :query_single_always_on_node => "querySingleAlwaysOnNode",
    :read_backup_only => "readBackupOnly",
    :safeguard_policy => "safeguardPolicy",
    :secrets_manager_access_role_arn => "secretsManagerAccessRoleArn",
    :secrets_manager_secret_id => "secretsManagerSecretId",
    :server_name => "serverName",
    :tlog_access_mode => "tlogAccessMode",
    :trim_space_in_char => "trimSpaceInChar",
    :use_bcp_full_load => "useBcpFullLoad",
    :username => "username",
    :use_third_party_backup_device => "useThirdPartyBackupDevice",
  }
end

Instance Method Details

#to_jsiiObject



2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
# File 'dms/cfn_endpoint.rb', line 2009

def to_jsii
  result = {}
  result.merge!({
    "bcpPacketSize" => @bcp_packet_size,
    "controlTablesFileGroup" => @control_tables_file_group,
    "databaseName" => @database_name,
    "forceLobLookup" => @force_lob_lookup,
    "password" => @password,
    "port" => @port,
    "querySingleAlwaysOnNode" => @query_single_always_on_node,
    "readBackupOnly" => @read_backup_only,
    "safeguardPolicy" => @safeguard_policy,
    "secretsManagerAccessRoleArn" => @secrets_manager_access_role_arn,
    "secretsManagerSecretId" => @secrets_manager_secret_id,
    "serverName" => @server_name,
    "tlogAccessMode" => @tlog_access_mode,
    "trimSpaceInChar" => @trim_space_in_char,
    "useBcpFullLoad" => @use_bcp_full_load,
    "username" => @username,
    "useThirdPartyBackupDevice" => @use_third_party_backup_device,
  })
  result.compact
end