Class: AWSCDK::DMS::CfnEndpoint::PostgreSqlSettingsProperty
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::DMS::CfnEndpoint::PostgreSqlSettingsProperty
- Defined in:
- dms/cfn_endpoint.rb
Overview
Provides information that defines a PostgreSQL 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 PostgreSQL as a source for AWS DMS and Extra connection attributes when using PostgreSQL as a target for AWS DMS in the AWS Database Migration Service User Guide .
Instance Attribute Summary collapse
-
#after_connect_script ⇒ String?
readonly
For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.
-
#babelfish_database_name ⇒ String?
readonly
The Babelfish for Aurora PostgreSQL database name for the endpoint.
-
#capture_ddls ⇒ Boolean, ...
readonly
To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts.
-
#database_mode ⇒ String?
readonly
Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
-
#ddl_artifacts_schema ⇒ String?
readonly
The schema in which the operational DDL database artifacts are created.
-
#execute_timeout ⇒ Numeric?
readonly
Sets the client statement timeout for the PostgreSQL instance, in seconds.
-
#fail_tasks_on_lob_truncation ⇒ Boolean, ...
readonly
When set to
true, this value causes a task to fail if the actual size of a LOB column is greater than the specifiedLobMaxSize. -
#heartbeat_enable ⇒ Boolean, ...
readonly
The write-ahead log (WAL) heartbeat feature mimics a dummy transaction.
-
#heartbeat_frequency ⇒ Numeric?
readonly
Sets the WAL heartbeat frequency (in minutes).
-
#heartbeat_schema ⇒ String?
readonly
Sets the schema in which the heartbeat artifacts are created.
-
#map_boolean_as_boolean ⇒ Boolean, ...
readonly
When true, lets PostgreSQL migrate the boolean type as boolean.
-
#max_file_size ⇒ Numeric?
readonly
Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.
-
#plugin_name ⇒ String?
readonly
Specifies the plugin to use to create a replication slot.
-
#secrets_manager_access_role_arn ⇒ String?
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. -
#secrets_manager_secret_id ⇒ String?
readonly
The full ARN, partial ARN, or display name of the
SecretsManagerSecretthat contains the PostgreSQL endpoint connection details. -
#slot_name ⇒ String?
readonly
Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(after_connect_script: nil, babelfish_database_name: nil, capture_ddls: nil, database_mode: nil, ddl_artifacts_schema: nil, execute_timeout: nil, fail_tasks_on_lob_truncation: nil, heartbeat_enable: nil, heartbeat_frequency: nil, heartbeat_schema: nil, map_boolean_as_boolean: nil, max_file_size: nil, plugin_name: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil, slot_name: nil) ⇒ PostgreSqlSettingsProperty
constructor
A new instance of PostgreSqlSettingsProperty.
- #to_jsii ⇒ Object
Constructor Details
#initialize(after_connect_script: nil, babelfish_database_name: nil, capture_ddls: nil, database_mode: nil, ddl_artifacts_schema: nil, execute_timeout: nil, fail_tasks_on_lob_truncation: nil, heartbeat_enable: nil, heartbeat_frequency: nil, heartbeat_schema: nil, map_boolean_as_boolean: nil, max_file_size: nil, plugin_name: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil, slot_name: nil) ⇒ PostgreSqlSettingsProperty
Returns a new instance of PostgreSqlSettingsProperty.
2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 |
# File 'dms/cfn_endpoint.rb', line 2948 def initialize(after_connect_script: nil, babelfish_database_name: nil, capture_ddls: nil, database_mode: nil, ddl_artifacts_schema: nil, execute_timeout: nil, fail_tasks_on_lob_truncation: nil, heartbeat_enable: nil, heartbeat_frequency: nil, heartbeat_schema: nil, map_boolean_as_boolean: nil, max_file_size: nil, plugin_name: nil, secrets_manager_access_role_arn: nil, secrets_manager_secret_id: nil, slot_name: nil) @after_connect_script = after_connect_script Jsii::Type.check_type(@after_connect_script, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "afterConnectScript") unless @after_connect_script.nil? @babelfish_database_name = babelfish_database_name Jsii::Type.check_type(@babelfish_database_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "babelfishDatabaseName") unless @babelfish_database_name.nil? @capture_ddls = capture_ddls Jsii::Type.check_type(@capture_ddls, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "captureDdls") unless @capture_ddls.nil? @database_mode = database_mode Jsii::Type.check_type(@database_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "databaseMode") unless @database_mode.nil? @ddl_artifacts_schema = ddl_artifacts_schema Jsii::Type.check_type(@ddl_artifacts_schema, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "ddlArtifactsSchema") unless @ddl_artifacts_schema.nil? @execute_timeout = execute_timeout Jsii::Type.check_type(@execute_timeout, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "executeTimeout") unless @execute_timeout.nil? @fail_tasks_on_lob_truncation = fail_tasks_on_lob_truncation Jsii::Type.check_type(@fail_tasks_on_lob_truncation, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "failTasksOnLobTruncation") unless @fail_tasks_on_lob_truncation.nil? @heartbeat_enable = heartbeat_enable Jsii::Type.check_type(@heartbeat_enable, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "heartbeatEnable") unless @heartbeat_enable.nil? @heartbeat_frequency = heartbeat_frequency Jsii::Type.check_type(@heartbeat_frequency, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "heartbeatFrequency") unless @heartbeat_frequency.nil? @heartbeat_schema = heartbeat_schema Jsii::Type.check_type(@heartbeat_schema, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "heartbeatSchema") unless @heartbeat_schema.nil? @map_boolean_as_boolean = map_boolean_as_boolean Jsii::Type.check_type(@map_boolean_as_boolean, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "mapBooleanAsBoolean") unless @map_boolean_as_boolean.nil? @max_file_size = max_file_size Jsii::Type.check_type(@max_file_size, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "maxFileSize") unless @max_file_size.nil? @plugin_name = plugin_name Jsii::Type.check_type(@plugin_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "pluginName") unless @plugin_name.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? @slot_name = slot_name Jsii::Type.check_type(@slot_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "slotName") unless @slot_name.nil? end |
Instance Attribute Details
#after_connect_script ⇒ String? (readonly)
For use with change data capture (CDC) only, this attribute has AWS DMS bypass foreign keys and user triggers to reduce the time it takes to bulk load data.
Example: afterConnectScript=SET session_replication_role='replica'
2989 2990 2991 |
# File 'dms/cfn_endpoint.rb', line 2989 def after_connect_script @after_connect_script end |
#babelfish_database_name ⇒ String? (readonly)
The Babelfish for Aurora PostgreSQL database name for the endpoint.
2994 2995 2996 |
# File 'dms/cfn_endpoint.rb', line 2994 def babelfish_database_name @babelfish_database_name end |
#capture_ddls ⇒ Boolean, ... (readonly)
To capture DDL events, AWS DMS creates various artifacts in the PostgreSQL database when the task starts.
You can later remove these artifacts.
If this value is set to True , you don't have to create tables or triggers on the source database.
3003 3004 3005 |
# File 'dms/cfn_endpoint.rb', line 3003 def capture_ddls @capture_ddls end |
#database_mode ⇒ String? (readonly)
Specifies the default behavior of the replication's handling of PostgreSQL- compatible endpoints that require some additional configuration, such as Babelfish endpoints.
3008 3009 3010 |
# File 'dms/cfn_endpoint.rb', line 3008 def database_mode @database_mode end |
#ddl_artifacts_schema ⇒ String? (readonly)
The schema in which the operational DDL database artifacts are created.
The default value is public .
Example: ddlArtifactsSchema=xyzddlschema;
3017 3018 3019 |
# File 'dms/cfn_endpoint.rb', line 3017 def ddl_artifacts_schema @ddl_artifacts_schema end |
#execute_timeout ⇒ Numeric? (readonly)
Sets the client statement timeout for the PostgreSQL instance, in seconds. The default value is 60 seconds.
Example: executeTimeout=100;
3024 3025 3026 |
# File 'dms/cfn_endpoint.rb', line 3024 def execute_timeout @execute_timeout end |
#fail_tasks_on_lob_truncation ⇒ Boolean, ... (readonly)
When set to true , this value causes a task to fail if the actual size of a LOB column is greater than the specified LobMaxSize .
The default value is false .
If task is set to Limited LOB mode and this option is set to true, the task fails instead of truncating the LOB data.
3033 3034 3035 |
# File 'dms/cfn_endpoint.rb', line 3033 def fail_tasks_on_lob_truncation @fail_tasks_on_lob_truncation end |
#heartbeat_enable ⇒ Boolean, ... (readonly)
The write-ahead log (WAL) heartbeat feature mimics a dummy transaction.
By doing this, it prevents idle logical replication slots from holding onto old WAL logs, which can result in storage full situations on the source. This heartbeat keeps restart_lsn moving and prevents storage full scenarios.
The default value is false .
3042 3043 3044 |
# File 'dms/cfn_endpoint.rb', line 3042 def heartbeat_enable @heartbeat_enable end |
#heartbeat_frequency ⇒ Numeric? (readonly)
Sets the WAL heartbeat frequency (in minutes).
The default value is 5 minutes.
3049 3050 3051 |
# File 'dms/cfn_endpoint.rb', line 3049 def heartbeat_frequency @heartbeat_frequency end |
#heartbeat_schema ⇒ String? (readonly)
Sets the schema in which the heartbeat artifacts are created.
The default value is public .
3056 3057 3058 |
# File 'dms/cfn_endpoint.rb', line 3056 def heartbeat_schema @heartbeat_schema end |
#map_boolean_as_boolean ⇒ Boolean, ... (readonly)
When true, lets PostgreSQL migrate the boolean type as boolean.
By default, PostgreSQL migrates booleans as varchar(5) . You must set this setting on both the source and target endpoints for it to take effect.
The default value is false .
3065 3066 3067 |
# File 'dms/cfn_endpoint.rb', line 3065 def map_boolean_as_boolean @map_boolean_as_boolean end |
#max_file_size ⇒ Numeric? (readonly)
Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL.
The default value is 32,768 KB (32 MB).
Example: maxFileSize=512
3074 3075 3076 |
# File 'dms/cfn_endpoint.rb', line 3074 def max_file_size @max_file_size end |
#plugin_name ⇒ String? (readonly)
Specifies the plugin to use to create a replication slot.
The default value is pglogical .
3081 3082 3083 |
# File 'dms/cfn_endpoint.rb', line 3081 def plugin_name @plugin_name end |
#secrets_manager_access_role_arn ⇒ String? (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 PostgreSQL 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 forUserName,Password,ServerName, andPort. You can't specify both.For more information on creating this
SecretsManagerSecret, the correspondingSecretsManagerAccessRoleArn, and theSecretsManagerSecretIdthat is required to access it, see Using secrets to access AWS Database Migration Service resources in the AWS Database Migration Service User Guide .
3092 3093 3094 |
# File 'dms/cfn_endpoint.rb', line 3092 def secrets_manager_access_role_arn @secrets_manager_access_role_arn end |
#secrets_manager_secret_id ⇒ String? (readonly)
The full ARN, partial ARN, or display name of the SecretsManagerSecret that contains the PostgreSQL endpoint connection details.
3097 3098 3099 |
# File 'dms/cfn_endpoint.rb', line 3097 def secrets_manager_secret_id @secrets_manager_secret_id end |
#slot_name ⇒ String? (readonly)
Sets the name of a previously created logical replication slot for a change data capture (CDC) load of the PostgreSQL source instance.
When used with the CdcStartPosition request parameter for the AWS DMS API , this attribute also makes it possible to use native CDC start points. DMS verifies that the specified logical replication slot exists before starting the CDC load task. It also verifies that the task was created with a valid setting of CdcStartPosition . If the specified slot doesn't exist or the task doesn't have a valid CdcStartPosition setting, DMS raises an error.
For more information about setting the CdcStartPosition request parameter, see Determining a CDC native start point in the AWS Database Migration Service User Guide . For more information about using CdcStartPosition , see CreateReplicationTask , StartReplicationTask , and ModifyReplicationTask .
3106 3107 3108 |
# File 'dms/cfn_endpoint.rb', line 3106 def slot_name @slot_name end |
Class Method Details
.jsii_properties ⇒ Object
3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 |
# File 'dms/cfn_endpoint.rb', line 3108 def self.jsii_properties { :after_connect_script => "afterConnectScript", :babelfish_database_name => "babelfishDatabaseName", :capture_ddls => "captureDdls", :database_mode => "databaseMode", :ddl_artifacts_schema => "ddlArtifactsSchema", :execute_timeout => "executeTimeout", :fail_tasks_on_lob_truncation => "failTasksOnLobTruncation", :heartbeat_enable => "heartbeatEnable", :heartbeat_frequency => "heartbeatFrequency", :heartbeat_schema => "heartbeatSchema", :map_boolean_as_boolean => "mapBooleanAsBoolean", :max_file_size => "maxFileSize", :plugin_name => "pluginName", :secrets_manager_access_role_arn => "secretsManagerAccessRoleArn", :secrets_manager_secret_id => "secretsManagerSecretId", :slot_name => "slotName", } end |
Instance Method Details
#to_jsii ⇒ Object
3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 |
# File 'dms/cfn_endpoint.rb', line 3129 def to_jsii result = {} result.merge!({ "afterConnectScript" => @after_connect_script, "babelfishDatabaseName" => @babelfish_database_name, "captureDdls" => @capture_ddls, "databaseMode" => @database_mode, "ddlArtifactsSchema" => @ddl_artifacts_schema, "executeTimeout" => @execute_timeout, "failTasksOnLobTruncation" => @fail_tasks_on_lob_truncation, "heartbeatEnable" => @heartbeat_enable, "heartbeatFrequency" => @heartbeat_frequency, "heartbeatSchema" => @heartbeat_schema, "mapBooleanAsBoolean" => @map_boolean_as_boolean, "maxFileSize" => @max_file_size, "pluginName" => @plugin_name, "secretsManagerAccessRoleArn" => @secrets_manager_access_role_arn, "secretsManagerSecretId" => @secrets_manager_secret_id, "slotName" => @slot_name, }) result.compact end |