/* * 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 PostgreSQL endpoint. /// public partial class PostgreSQLSettings { private string _afterConnectScript; private string _babelfishDatabaseName; private bool? _captureDdls; private DatabaseMode _databaseMode; private string _databaseName; private string _ddlArtifactsSchema; private int? _executeTimeout; private bool? _failTasksOnLobTruncation; private bool? _heartbeatEnable; private int? _heartbeatFrequency; private string _heartbeatSchema; private bool? _mapBooleanAsBoolean; private bool? _mapJsonbAsClob; private LongVarcharMappingType _mapLongVarcharAs; private int? _maxFileSize; private string _password; private PluginNameValue _pluginName; private int? _port; private string _secretsManagerAccessRoleArn; private string _secretsManagerSecretId; private string _serverName; private string _slotName; private bool? _trimSpaceInChar; private string _username; /// /// Gets and sets the property AfterConnectScript. /// /// For use with change data capture (CDC) only, this attribute has DMS bypass foreign /// keys and user triggers to reduce the time it takes to bulk load data. /// /// /// /// Example: afterConnectScript=SET session_replication_role='replica' /// /// public string AfterConnectScript { get { return this._afterConnectScript; } set { this._afterConnectScript = value; } } // Check to see if AfterConnectScript property is set internal bool IsSetAfterConnectScript() { return this._afterConnectScript != null; } /// /// Gets and sets the property BabelfishDatabaseName. /// /// The Babelfish for Aurora PostgreSQL database name for the endpoint. /// /// public string BabelfishDatabaseName { get { return this._babelfishDatabaseName; } set { this._babelfishDatabaseName = value; } } // Check to see if BabelfishDatabaseName property is set internal bool IsSetBabelfishDatabaseName() { return this._babelfishDatabaseName != null; } /// /// Gets and sets the property CaptureDdls. /// /// To capture DDL events, DMS creates various artifacts in the PostgreSQL database when /// the task starts. You can later remove these artifacts. /// /// /// /// If this value is set to N, you don't have to create tables or triggers /// on the source database. /// /// public bool CaptureDdls { get { return this._captureDdls.GetValueOrDefault(); } set { this._captureDdls = value; } } // Check to see if CaptureDdls property is set internal bool IsSetCaptureDdls() { return this._captureDdls.HasValue; } /// /// Gets and sets the property DatabaseMode. /// /// Specifies whether to use default or custom replication behavior for PostgreSQL-compatible /// endpoints. You can use this setting to specify replication behavior for endpoints /// that require additional configuration, such as Babelfish endpoints. /// /// public DatabaseMode DatabaseMode { get { return this._databaseMode; } set { this._databaseMode = value; } } // Check to see if DatabaseMode property is set internal bool IsSetDatabaseMode() { return this._databaseMode != 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 DdlArtifactsSchema. /// /// The schema in which the operational DDL database artifacts are created. /// /// /// /// Example: ddlArtifactsSchema=xyzddlschema; /// /// public string DdlArtifactsSchema { get { return this._ddlArtifactsSchema; } set { this._ddlArtifactsSchema = value; } } // Check to see if DdlArtifactsSchema property is set internal bool IsSetDdlArtifactsSchema() { return this._ddlArtifactsSchema != null; } /// /// Gets and sets the property ExecuteTimeout. /// /// Sets the client statement timeout for the PostgreSQL instance, in seconds. The default /// value is 60 seconds. /// /// /// /// Example: executeTimeout=100; /// /// public int ExecuteTimeout { get { return this._executeTimeout.GetValueOrDefault(); } set { this._executeTimeout = value; } } // Check to see if ExecuteTimeout property is set internal bool IsSetExecuteTimeout() { return this._executeTimeout.HasValue; } /// /// Gets and sets the property FailTasksOnLobTruncation. /// /// 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. /// /// /// /// If task is set to Limited LOB mode and this option is set to true, the task fails /// instead of truncating the LOB data. /// /// public bool FailTasksOnLobTruncation { get { return this._failTasksOnLobTruncation.GetValueOrDefault(); } set { this._failTasksOnLobTruncation = value; } } // Check to see if FailTasksOnLobTruncation property is set internal bool IsSetFailTasksOnLobTruncation() { return this._failTasksOnLobTruncation.HasValue; } /// /// Gets and sets the property HeartbeatEnable. /// /// 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. /// /// public bool HeartbeatEnable { get { return this._heartbeatEnable.GetValueOrDefault(); } set { this._heartbeatEnable = value; } } // Check to see if HeartbeatEnable property is set internal bool IsSetHeartbeatEnable() { return this._heartbeatEnable.HasValue; } /// /// Gets and sets the property HeartbeatFrequency. /// /// Sets the WAL heartbeat frequency (in minutes). /// /// public int HeartbeatFrequency { get { return this._heartbeatFrequency.GetValueOrDefault(); } set { this._heartbeatFrequency = value; } } // Check to see if HeartbeatFrequency property is set internal bool IsSetHeartbeatFrequency() { return this._heartbeatFrequency.HasValue; } /// /// Gets and sets the property HeartbeatSchema. /// /// Sets the schema in which the heartbeat artifacts are created. /// /// public string HeartbeatSchema { get { return this._heartbeatSchema; } set { this._heartbeatSchema = value; } } // Check to see if HeartbeatSchema property is set internal bool IsSetHeartbeatSchema() { return this._heartbeatSchema != null; } /// /// Gets and sets the property MapBooleanAsBoolean. /// /// When true, lets PostgreSQL migrate the boolean type as boolean. By default, PostgreSQL /// migrates booleans as varchar(5). /// /// public bool MapBooleanAsBoolean { get { return this._mapBooleanAsBoolean.GetValueOrDefault(); } set { this._mapBooleanAsBoolean = value; } } // Check to see if MapBooleanAsBoolean property is set internal bool IsSetMapBooleanAsBoolean() { return this._mapBooleanAsBoolean.HasValue; } /// /// Gets and sets the property MapJsonbAsClob. /// /// When true, DMS migrates JSONB values as CLOB. /// /// public bool MapJsonbAsClob { get { return this._mapJsonbAsClob.GetValueOrDefault(); } set { this._mapJsonbAsClob = value; } } // Check to see if MapJsonbAsClob property is set internal bool IsSetMapJsonbAsClob() { return this._mapJsonbAsClob.HasValue; } /// /// Gets and sets the property MapLongVarcharAs. /// /// When true, DMS migrates LONG values as VARCHAR. /// /// public LongVarcharMappingType MapLongVarcharAs { get { return this._mapLongVarcharAs; } set { this._mapLongVarcharAs = value; } } // Check to see if MapLongVarcharAs property is set internal bool IsSetMapLongVarcharAs() { return this._mapLongVarcharAs != null; } /// /// Gets and sets the property MaxFileSize. /// /// Specifies the maximum size (in KB) of any .csv file used to transfer data to PostgreSQL. /// /// /// /// Example: maxFileSize=512 /// /// public int MaxFileSize { get { return this._maxFileSize.GetValueOrDefault(); } set { this._maxFileSize = value; } } // Check to see if MaxFileSize property is set internal bool IsSetMaxFileSize() { return this._maxFileSize.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 PluginName. /// /// Specifies the plugin to use to create a replication slot. /// /// public PluginNameValue PluginName { get { return this._pluginName; } set { this._pluginName = value; } } // Check to see if PluginName property is set internal bool IsSetPluginName() { return this._pluginName != null; } /// /// Gets and sets the property Port. /// /// Endpoint TCP port. The default is 5432. /// /// 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 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 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 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 PostgreSQL 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. /// /// The host name of the endpoint database. /// /// /// /// For an Amazon RDS PostgreSQL instance, this is the output of DescribeDBInstances, /// in the Endpoint.Address /// field. /// /// /// /// For an Aurora PostgreSQL instance, this is the output of DescribeDBClusters, /// in the Endpoint 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 SlotName. /// /// 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 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 Database Migration Service User Guide. /// For more information about using CdcStartPosition, see CreateReplicationTask, /// StartReplicationTask, /// and ModifyReplicationTask. /// /// public string SlotName { get { return this._slotName; } set { this._slotName = value; } } // Check to see if SlotName property is set internal bool IsSetSlotName() { return this._slotName != 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 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; } } }