{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DMS.Types.OracleSettings
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.DMS.Types.OracleSettings where

import qualified Amazonka.Core as Core
import Amazonka.DMS.Types.CharLengthSemantics
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude

-- | Provides information that defines an Oracle endpoint.
--
-- /See:/ 'newOracleSettings' smart constructor.
data OracleSettings = OracleSettings'
  { -- | Set this attribute to Y to capture change data using the Binary Reader
    -- utility. Set @UseLogminerReader@ to N to set this attribute to Y. To use
    -- Binary Reader with Amazon RDS for Oracle as the source, you set
    -- additional attributes. For more information about using this setting
    -- with Oracle Automatic Storage Management (ASM), see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>.
    OracleSettings -> Maybe Bool
useBFile :: Prelude.Maybe Prelude.Bool,
    -- | Use this attribute to specify a time in minutes for the delay in standby
    -- sync. If the source is an Oracle Active Data Guard standby database, use
    -- this attribute to specify the time lag between primary and standby
    -- databases.
    --
    -- In DMS, you can create an Oracle CDC task that uses an Active Data Guard
    -- standby instance as a source for replicating ongoing changes. Doing this
    -- eliminates the need to connect to an active database that might be in
    -- production.
    OracleSettings -> Maybe Int
standbyDelayTime :: Prelude.Maybe Prelude.Int,
    -- | When set to @true@, this attribute causes a task to fail if the actual
    -- size of an LOB column is greater than the specified @LobMaxSize@.
    --
    -- If a task is set to limited LOB mode and this option is set to @true@,
    -- the task fails instead of truncating the LOB data.
    OracleSettings -> Maybe Bool
failTasksOnLobTruncation :: Prelude.Maybe Prelude.Bool,
    -- | Fully qualified domain name of the endpoint.
    OracleSettings -> Maybe Text
serverName :: Prelude.Maybe Prelude.Text,
    -- | When set to @true@, this attribute helps to increase the commit rate on
    -- the Oracle target database by writing directly to tables and not writing
    -- a trail to database logs.
    OracleSettings -> Maybe Bool
directPathNoLog :: Prelude.Maybe Prelude.Bool,
    -- | Specifies the IDs of one more destinations for one or more archived redo
    -- logs. These IDs are the values of the @dest_id@ column in the
    -- @v$archived_log@ view. Use this setting with the @archivedLogDestId@
    -- extra connection attribute in a primary-to-single setup or a
    -- primary-to-multiple-standby setup.
    --
    -- This setting is useful in a switchover when you use an Oracle Data Guard
    -- database as a source. In this case, DMS needs information about what
    -- destination to get archive redo logs from to read changes. DMS needs
    -- this because after the switchover the previous primary is a standby
    -- instance. For example, in a primary-to-single standby setup you might
    -- apply the following settings.
    --
    -- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2]@
    --
    -- In a primary-to-multiple-standby setup, you might apply the following
    -- settings.
    --
    -- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]@
    --
    -- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
    -- the database, never use @RESETLOGS@ unless it\'s necessary. For more
    -- information about @RESETLOGS@, see
    -- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
    -- in the /Oracle Database Backup and Recovery User\'s Guide/.
    OracleSettings -> Maybe [Int]
extraArchivedLogDestIds :: Prelude.Maybe [Prelude.Int],
    -- | For an Oracle source endpoint, the name of a key used for the
    -- transparent data encryption (TDE) of the columns and tablespaces in an
    -- Oracle source database that is encrypted using TDE. The key value is the
    -- value of the @SecurityDbEncryption@ setting. For more information on
    -- setting the key name value of @SecurityDbEncryptionName@, see the
    -- information and example for setting the @securityDbEncryptionName@ extra
    -- connection attribute in
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
    -- in the /Database Migration Service User Guide/.
    OracleSettings -> Maybe Text
securityDbEncryptionName :: Prelude.Maybe Prelude.Text,
    -- | Set this string attribute to the required value in order to use the
    -- Binary Reader to capture change data for an Amazon RDS for Oracle as the
    -- source. This value specifies the default Oracle root used to access the
    -- redo logs.
    OracleSettings -> Maybe Text
oraclePathPrefix :: Prelude.Maybe Prelude.Text,
    -- | 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 Oracle 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
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
    -- in the /Database Migration Service User Guide/.
    OracleSettings -> Maybe Text
secretsManagerAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | Set this attribute to Y to have DMS use a direct path full load. Specify
    -- this value to use the direct path protocol in the Oracle Call Interface
    -- (OCI). By using this OCI protocol, you can bulk-load Oracle target
    -- tables during a full load.
    OracleSettings -> Maybe Bool
useDirectPathFullLoad :: Prelude.Maybe Prelude.Bool,
    -- | Endpoint connection user name.
    OracleSettings -> Maybe Text
username :: Prelude.Maybe Prelude.Text,
    -- | Set this attribute to @true@ to enable replication of Oracle tables
    -- containing columns that are nested tables or defined types.
    OracleSettings -> Maybe Bool
allowSelectNestedTables :: Prelude.Maybe Prelude.Bool,
    -- | Set this attribute to change the number of read-ahead blocks that DMS
    -- configures to perform a change data capture (CDC) load using Oracle
    -- Automatic Storage Management (ASM). You can specify an integer value
    -- between 1000 (the default) and 200,000 (the maximum).
    OracleSettings -> Maybe Int
readAheadBlocks :: Prelude.Maybe Prelude.Int,
    -- | Specifies the ID of the destination for the archived redo logs. This
    -- value should be the same as a number in the dest_id column of the
    -- v$archived_log view. If you work with an additional redo log
    -- destination, use the @AdditionalArchivedLogDestId@ option to specify the
    -- additional destination ID. Doing this improves performance by ensuring
    -- that the correct logs are accessed from the outset.
    OracleSettings -> Maybe Int
archivedLogDestId :: Prelude.Maybe Prelude.Int,
    -- | Set this attribute to true in order to use the Binary Reader to capture
    -- change data for an Amazon RDS for Oracle as the source. This setting
    -- tells DMS instance to replace the default Oracle root with the specified
    -- @usePathPrefix@ setting to access the redo logs.
    OracleSettings -> Maybe Bool
replacePathPrefix :: Prelude.Maybe Prelude.Bool,
    -- | Set this attribute to @false@ in order to use the Binary Reader to
    -- capture change data for an Amazon RDS for Oracle as the source. This
    -- tells the DMS instance to not access redo logs through any specified
    -- path prefix replacement using direct file access.
    OracleSettings -> Maybe Bool
accessAlternateDirectly :: Prelude.Maybe Prelude.Bool,
    -- | Required only if your Oracle endpoint uses Advanced Storage Manager
    -- (ASM). The full ARN, partial ARN, or friendly name of the
    -- @SecretsManagerOracleAsmSecret@ that contains the Oracle ASM connection
    -- details for the Oracle endpoint.
    OracleSettings -> Maybe Text
secretsManagerOracleAsmSecretId :: Prelude.Maybe Prelude.Text,
    -- | For an Oracle source endpoint, the transparent data encryption (TDE)
    -- password required by AWM DMS to access Oracle redo logs encrypted by TDE
    -- using Binary Reader. It is also the @ TDE_Password @ part of the
    -- comma-separated value you set to the @Password@ request parameter when
    -- you create the endpoint. The @SecurityDbEncryptian@ setting is related
    -- to this @SecurityDbEncryptionName@ setting. For more information, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
    -- in the /Database Migration Service User Guide/.
    OracleSettings -> Maybe (Sensitive Text)
securityDbEncryption :: Prelude.Maybe (Core.Sensitive Prelude.Text),
    -- | Set this attribute to Y to capture change data using the Oracle LogMiner
    -- utility (the default). Set this attribute to N if you want to access the
    -- redo logs as a binary file. When you set @UseLogminerReader@ to N, also
    -- set @UseBfile@ to Y. For more information on this setting and using
    -- Oracle ASM, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>
    -- in the /DMS User Guide/.
    OracleSettings -> Maybe Bool
useLogminerReader :: Prelude.Maybe Prelude.Bool,
    -- | When set to @true@, this attribute supports tablespace replication.
    OracleSettings -> Maybe Bool
readTableSpaceName :: Prelude.Maybe Prelude.Bool,
    -- | Specifies the number of seconds that the system waits before resending a
    -- query.
    --
    -- Example: @retryInterval=6;@
    OracleSettings -> Maybe Int
retryInterval :: Prelude.Maybe Prelude.Int,
    -- | Endpoint connection password.
    OracleSettings -> Maybe (Sensitive Text)
password :: Prelude.Maybe (Core.Sensitive Prelude.Text),
    -- | Use this attribute to convert @SDO_GEOMETRY@ to @GEOJSON@ format. By
    -- default, DMS calls the @SDO2GEOJSON@ custom function if present and
    -- accessible. Or you can create your own custom function that mimics the
    -- operation of @SDOGEOJSON@ and set
    -- @SpatialDataOptionToGeoJsonFunctionName@ to call it instead.
    OracleSettings -> Maybe Text
spatialDataOptionToGeoJsonFunctionName :: Prelude.Maybe Prelude.Text,
    -- | Database name for the endpoint.
    OracleSettings -> Maybe Text
databaseName :: Prelude.Maybe Prelude.Text,
    -- | Set this attribute to set up table-level supplemental logging for the
    -- Oracle database. This attribute enables PRIMARY KEY supplemental logging
    -- on all tables selected for a migration task.
    --
    -- If you use this option, you still need to enable database-level
    -- supplemental logging.
    OracleSettings -> Maybe Bool
addSupplementalLogging :: Prelude.Maybe Prelude.Bool,
    -- | Required only if your Oracle endpoint uses Advanced Storage Manager
    -- (ASM). The full ARN of the IAM role that specifies DMS as the trusted
    -- entity and grants the required permissions to access the
    -- @SecretsManagerOracleAsmSecret@. This @SecretsManagerOracleAsmSecret@
    -- has the secret value that allows access to the Oracle ASM of the
    -- endpoint.
    --
    -- You can specify one of two sets of values for these permissions. You can
    -- specify the values for this setting and
    -- @SecretsManagerOracleAsmSecretId@. Or you can specify clear-text values
    -- for @AsmUserName@, @AsmPassword@, and @AsmServerName@. You can\'t
    -- specify both. For more information on creating this
    -- @SecretsManagerOracleAsmSecret@ and the
    -- @SecretsManagerOracleAsmAccessRoleArn@ and
    -- @SecretsManagerOracleAsmSecretId@ required to access it, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
    -- in the /Database Migration Service User Guide/.
    OracleSettings -> Maybe Text
secretsManagerOracleAsmAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | For an Oracle source endpoint, your ASM server address. You can set this
    -- value from the @asm_server@ value. You set @asm_server@ as part of the
    -- extra connection attribute string to access an Oracle server with Binary
    -- Reader that uses ASM. For more information, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
    OracleSettings -> Maybe Text
asmServer :: Prelude.Maybe Prelude.Text,
    -- | Specifies whether the length of a character column is in bytes or in
    -- characters. To indicate that the character column length is in
    -- characters, set this attribute to @CHAR@. Otherwise, the character
    -- column length is in bytes.
    --
    -- Example: @charLengthSemantics=CHAR;@
    OracleSettings -> Maybe CharLengthSemantics
charLengthSemantics :: Prelude.Maybe CharLengthSemantics,
    -- | When this field is set to @Y@, DMS only accesses the archived redo logs.
    -- If the archived redo logs are stored on Oracle ASM only, the DMS user
    -- account needs to be granted ASM privileges.
    OracleSettings -> Maybe Bool
archivedLogsOnly :: Prelude.Maybe Prelude.Bool,
    -- | When set to @true@, this attribute specifies a parallel load when
    -- @useDirectPathFullLoad@ is set to @Y@. This attribute also only applies
    -- when you use the DMS parallel load feature. Note that the target table
    -- cannot have any constraints or indexes.
    OracleSettings -> Maybe Bool
directPathParallelLoad :: Prelude.Maybe Prelude.Bool,
    -- | The full ARN, partial ARN, or friendly name of the
    -- @SecretsManagerSecret@ that contains the Oracle endpoint connection
    -- details.
    OracleSettings -> Maybe Text
secretsManagerSecretId :: Prelude.Maybe Prelude.Text,
    -- | Set this attribute with @ArchivedLogDestId@ in a primary\/ standby
    -- setup. This attribute is useful in the case of a switchover. In this
    -- case, DMS needs to know which destination to get archive redo logs from
    -- to read changes. This need arises because the previous primary instance
    -- is now a standby instance after switchover.
    --
    -- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
    -- the database, never use @RESETLOGS@ unless necessary. For additional
    -- information about @RESETLOGS@, see
    -- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
    -- in the /Oracle Database Backup and Recovery User\'s Guide/.
    OracleSettings -> Maybe Int
additionalArchivedLogDestId :: Prelude.Maybe Prelude.Int,
    -- | For an Oracle source endpoint, your Oracle Automatic Storage Management
    -- (ASM) password. You can set this value from the @ asm_user_password @
    -- value. You set this value as part of the comma-separated value that you
    -- set to the @Password@ request parameter when you create the endpoint to
    -- access transaction logs using Binary Reader. For more information, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
    OracleSettings -> Maybe (Sensitive Text)
asmPassword :: Prelude.Maybe (Core.Sensitive Prelude.Text),
    -- | Set this attribute to enable homogenous tablespace replication and
    -- create existing tables or indexes under the same tablespace on the
    -- target.
    OracleSettings -> Maybe Bool
enableHomogenousTablespace :: Prelude.Maybe Prelude.Bool,
    -- | Set this attribute to change the number of threads that DMS configures
    -- to perform a change data capture (CDC) load using Oracle Automatic
    -- Storage Management (ASM). You can specify an integer value between 2
    -- (the default) and 8 (the maximum). Use this attribute together with the
    -- @readAheadBlocks@ attribute.
    OracleSettings -> Maybe Int
parallelAsmReadThreads :: Prelude.Maybe Prelude.Int,
    -- | Specifies the number scale. You can select a scale up to 38, or you can
    -- select FLOAT. By default, the NUMBER data type is converted to precision
    -- 38, scale 10.
    --
    -- Example: @numberDataTypeScale=12@
    OracleSettings -> Maybe Int
numberDatatypeScale :: Prelude.Maybe Prelude.Int,
    -- | Set this string attribute to the required value in order to use the
    -- Binary Reader to capture change data for an Amazon RDS for Oracle as the
    -- source. This value specifies the path prefix used to replace the default
    -- Oracle root to access the redo logs.
    OracleSettings -> Maybe Text
usePathPrefix :: Prelude.Maybe Prelude.Text,
    -- | For an Oracle source endpoint, your ASM user name. You can set this
    -- value from the @asm_user@ value. You set @asm_user@ as part of the extra
    -- connection attribute string to access an Oracle server with Binary
    -- Reader that uses ASM. For more information, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
    OracleSettings -> Maybe Text
asmUser :: Prelude.Maybe Prelude.Text,
    -- | Set this attribute to @true@ in order to use the Binary Reader to
    -- capture change data for an Amazon RDS for Oracle as the source. This
    -- tells the DMS instance to use any specified prefix replacement to access
    -- all online redo logs.
    OracleSettings -> Maybe Bool
useAlternateFolderForOnline :: Prelude.Maybe Prelude.Bool,
    -- | Endpoint TCP port.
    OracleSettings -> Maybe Int
port :: Prelude.Maybe Prelude.Int
  }
  deriving (OracleSettings -> OracleSettings -> Bool
(OracleSettings -> OracleSettings -> Bool)
-> (OracleSettings -> OracleSettings -> Bool) -> Eq OracleSettings
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: OracleSettings -> OracleSettings -> Bool
$c/= :: OracleSettings -> OracleSettings -> Bool
== :: OracleSettings -> OracleSettings -> Bool
$c== :: OracleSettings -> OracleSettings -> Bool
Prelude.Eq, Int -> OracleSettings -> ShowS
[OracleSettings] -> ShowS
OracleSettings -> String
(Int -> OracleSettings -> ShowS)
-> (OracleSettings -> String)
-> ([OracleSettings] -> ShowS)
-> Show OracleSettings
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [OracleSettings] -> ShowS
$cshowList :: [OracleSettings] -> ShowS
show :: OracleSettings -> String
$cshow :: OracleSettings -> String
showsPrec :: Int -> OracleSettings -> ShowS
$cshowsPrec :: Int -> OracleSettings -> ShowS
Prelude.Show, (forall x. OracleSettings -> Rep OracleSettings x)
-> (forall x. Rep OracleSettings x -> OracleSettings)
-> Generic OracleSettings
forall x. Rep OracleSettings x -> OracleSettings
forall x. OracleSettings -> Rep OracleSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep OracleSettings x -> OracleSettings
$cfrom :: forall x. OracleSettings -> Rep OracleSettings x
Prelude.Generic)

-- |
-- Create a value of 'OracleSettings' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'useBFile', 'oracleSettings_useBFile' - Set this attribute to Y to capture change data using the Binary Reader
-- utility. Set @UseLogminerReader@ to N to set this attribute to Y. To use
-- Binary Reader with Amazon RDS for Oracle as the source, you set
-- additional attributes. For more information about using this setting
-- with Oracle Automatic Storage Management (ASM), see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>.
--
-- 'standbyDelayTime', 'oracleSettings_standbyDelayTime' - Use this attribute to specify a time in minutes for the delay in standby
-- sync. If the source is an Oracle Active Data Guard standby database, use
-- this attribute to specify the time lag between primary and standby
-- databases.
--
-- In DMS, you can create an Oracle CDC task that uses an Active Data Guard
-- standby instance as a source for replicating ongoing changes. Doing this
-- eliminates the need to connect to an active database that might be in
-- production.
--
-- 'failTasksOnLobTruncation', 'oracleSettings_failTasksOnLobTruncation' - When set to @true@, this attribute causes a task to fail if the actual
-- size of an LOB column is greater than the specified @LobMaxSize@.
--
-- If a task is set to limited LOB mode and this option is set to @true@,
-- the task fails instead of truncating the LOB data.
--
-- 'serverName', 'oracleSettings_serverName' - Fully qualified domain name of the endpoint.
--
-- 'directPathNoLog', 'oracleSettings_directPathNoLog' - When set to @true@, this attribute helps to increase the commit rate on
-- the Oracle target database by writing directly to tables and not writing
-- a trail to database logs.
--
-- 'extraArchivedLogDestIds', 'oracleSettings_extraArchivedLogDestIds' - Specifies the IDs of one more destinations for one or more archived redo
-- logs. These IDs are the values of the @dest_id@ column in the
-- @v$archived_log@ view. Use this setting with the @archivedLogDestId@
-- extra connection attribute in a primary-to-single setup or a
-- primary-to-multiple-standby setup.
--
-- This setting is useful in a switchover when you use an Oracle Data Guard
-- database as a source. In this case, DMS needs information about what
-- destination to get archive redo logs from to read changes. DMS needs
-- this because after the switchover the previous primary is a standby
-- instance. For example, in a primary-to-single standby setup you might
-- apply the following settings.
--
-- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2]@
--
-- In a primary-to-multiple-standby setup, you might apply the following
-- settings.
--
-- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]@
--
-- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
-- the database, never use @RESETLOGS@ unless it\'s necessary. For more
-- information about @RESETLOGS@, see
-- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
-- in the /Oracle Database Backup and Recovery User\'s Guide/.
--
-- 'securityDbEncryptionName', 'oracleSettings_securityDbEncryptionName' - For an Oracle source endpoint, the name of a key used for the
-- transparent data encryption (TDE) of the columns and tablespaces in an
-- Oracle source database that is encrypted using TDE. The key value is the
-- value of the @SecurityDbEncryption@ setting. For more information on
-- setting the key name value of @SecurityDbEncryptionName@, see the
-- information and example for setting the @securityDbEncryptionName@ extra
-- connection attribute in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
-- in the /Database Migration Service User Guide/.
--
-- 'oraclePathPrefix', 'oracleSettings_oraclePathPrefix' - Set this string attribute to the required value in order to use the
-- Binary Reader to capture change data for an Amazon RDS for Oracle as the
-- source. This value specifies the default Oracle root used to access the
-- redo logs.
--
-- 'secretsManagerAccessRoleArn', 'oracleSettings_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 Oracle 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
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
-- in the /Database Migration Service User Guide/.
--
-- 'useDirectPathFullLoad', 'oracleSettings_useDirectPathFullLoad' - Set this attribute to Y to have DMS use a direct path full load. Specify
-- this value to use the direct path protocol in the Oracle Call Interface
-- (OCI). By using this OCI protocol, you can bulk-load Oracle target
-- tables during a full load.
--
-- 'username', 'oracleSettings_username' - Endpoint connection user name.
--
-- 'allowSelectNestedTables', 'oracleSettings_allowSelectNestedTables' - Set this attribute to @true@ to enable replication of Oracle tables
-- containing columns that are nested tables or defined types.
--
-- 'readAheadBlocks', 'oracleSettings_readAheadBlocks' - Set this attribute to change the number of read-ahead blocks that DMS
-- configures to perform a change data capture (CDC) load using Oracle
-- Automatic Storage Management (ASM). You can specify an integer value
-- between 1000 (the default) and 200,000 (the maximum).
--
-- 'archivedLogDestId', 'oracleSettings_archivedLogDestId' - Specifies the ID of the destination for the archived redo logs. This
-- value should be the same as a number in the dest_id column of the
-- v$archived_log view. If you work with an additional redo log
-- destination, use the @AdditionalArchivedLogDestId@ option to specify the
-- additional destination ID. Doing this improves performance by ensuring
-- that the correct logs are accessed from the outset.
--
-- 'replacePathPrefix', 'oracleSettings_replacePathPrefix' - Set this attribute to true in order to use the Binary Reader to capture
-- change data for an Amazon RDS for Oracle as the source. This setting
-- tells DMS instance to replace the default Oracle root with the specified
-- @usePathPrefix@ setting to access the redo logs.
--
-- 'accessAlternateDirectly', 'oracleSettings_accessAlternateDirectly' - Set this attribute to @false@ in order to use the Binary Reader to
-- capture change data for an Amazon RDS for Oracle as the source. This
-- tells the DMS instance to not access redo logs through any specified
-- path prefix replacement using direct file access.
--
-- 'secretsManagerOracleAsmSecretId', 'oracleSettings_secretsManagerOracleAsmSecretId' - Required only if your Oracle endpoint uses Advanced Storage Manager
-- (ASM). The full ARN, partial ARN, or friendly name of the
-- @SecretsManagerOracleAsmSecret@ that contains the Oracle ASM connection
-- details for the Oracle endpoint.
--
-- 'securityDbEncryption', 'oracleSettings_securityDbEncryption' - For an Oracle source endpoint, the transparent data encryption (TDE)
-- password required by AWM DMS to access Oracle redo logs encrypted by TDE
-- using Binary Reader. It is also the @ TDE_Password @ part of the
-- comma-separated value you set to the @Password@ request parameter when
-- you create the endpoint. The @SecurityDbEncryptian@ setting is related
-- to this @SecurityDbEncryptionName@ setting. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
-- in the /Database Migration Service User Guide/.
--
-- 'useLogminerReader', 'oracleSettings_useLogminerReader' - Set this attribute to Y to capture change data using the Oracle LogMiner
-- utility (the default). Set this attribute to N if you want to access the
-- redo logs as a binary file. When you set @UseLogminerReader@ to N, also
-- set @UseBfile@ to Y. For more information on this setting and using
-- Oracle ASM, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>
-- in the /DMS User Guide/.
--
-- 'readTableSpaceName', 'oracleSettings_readTableSpaceName' - When set to @true@, this attribute supports tablespace replication.
--
-- 'retryInterval', 'oracleSettings_retryInterval' - Specifies the number of seconds that the system waits before resending a
-- query.
--
-- Example: @retryInterval=6;@
--
-- 'password', 'oracleSettings_password' - Endpoint connection password.
--
-- 'spatialDataOptionToGeoJsonFunctionName', 'oracleSettings_spatialDataOptionToGeoJsonFunctionName' - Use this attribute to convert @SDO_GEOMETRY@ to @GEOJSON@ format. By
-- default, DMS calls the @SDO2GEOJSON@ custom function if present and
-- accessible. Or you can create your own custom function that mimics the
-- operation of @SDOGEOJSON@ and set
-- @SpatialDataOptionToGeoJsonFunctionName@ to call it instead.
--
-- 'databaseName', 'oracleSettings_databaseName' - Database name for the endpoint.
--
-- 'addSupplementalLogging', 'oracleSettings_addSupplementalLogging' - Set this attribute to set up table-level supplemental logging for the
-- Oracle database. This attribute enables PRIMARY KEY supplemental logging
-- on all tables selected for a migration task.
--
-- If you use this option, you still need to enable database-level
-- supplemental logging.
--
-- 'secretsManagerOracleAsmAccessRoleArn', 'oracleSettings_secretsManagerOracleAsmAccessRoleArn' - Required only if your Oracle endpoint uses Advanced Storage Manager
-- (ASM). The full ARN of the IAM role that specifies DMS as the trusted
-- entity and grants the required permissions to access the
-- @SecretsManagerOracleAsmSecret@. This @SecretsManagerOracleAsmSecret@
-- has the secret value that allows access to the Oracle ASM of the
-- endpoint.
--
-- You can specify one of two sets of values for these permissions. You can
-- specify the values for this setting and
-- @SecretsManagerOracleAsmSecretId@. Or you can specify clear-text values
-- for @AsmUserName@, @AsmPassword@, and @AsmServerName@. You can\'t
-- specify both. For more information on creating this
-- @SecretsManagerOracleAsmSecret@ and the
-- @SecretsManagerOracleAsmAccessRoleArn@ and
-- @SecretsManagerOracleAsmSecretId@ required to access it, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
-- in the /Database Migration Service User Guide/.
--
-- 'asmServer', 'oracleSettings_asmServer' - For an Oracle source endpoint, your ASM server address. You can set this
-- value from the @asm_server@ value. You set @asm_server@ as part of the
-- extra connection attribute string to access an Oracle server with Binary
-- Reader that uses ASM. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
--
-- 'charLengthSemantics', 'oracleSettings_charLengthSemantics' - Specifies whether the length of a character column is in bytes or in
-- characters. To indicate that the character column length is in
-- characters, set this attribute to @CHAR@. Otherwise, the character
-- column length is in bytes.
--
-- Example: @charLengthSemantics=CHAR;@
--
-- 'archivedLogsOnly', 'oracleSettings_archivedLogsOnly' - When this field is set to @Y@, DMS only accesses the archived redo logs.
-- If the archived redo logs are stored on Oracle ASM only, the DMS user
-- account needs to be granted ASM privileges.
--
-- 'directPathParallelLoad', 'oracleSettings_directPathParallelLoad' - When set to @true@, this attribute specifies a parallel load when
-- @useDirectPathFullLoad@ is set to @Y@. This attribute also only applies
-- when you use the DMS parallel load feature. Note that the target table
-- cannot have any constraints or indexes.
--
-- 'secretsManagerSecretId', 'oracleSettings_secretsManagerSecretId' - The full ARN, partial ARN, or friendly name of the
-- @SecretsManagerSecret@ that contains the Oracle endpoint connection
-- details.
--
-- 'additionalArchivedLogDestId', 'oracleSettings_additionalArchivedLogDestId' - Set this attribute with @ArchivedLogDestId@ in a primary\/ standby
-- setup. This attribute is useful in the case of a switchover. In this
-- case, DMS needs to know which destination to get archive redo logs from
-- to read changes. This need arises because the previous primary instance
-- is now a standby instance after switchover.
--
-- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
-- the database, never use @RESETLOGS@ unless necessary. For additional
-- information about @RESETLOGS@, see
-- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
-- in the /Oracle Database Backup and Recovery User\'s Guide/.
--
-- 'asmPassword', 'oracleSettings_asmPassword' - For an Oracle source endpoint, your Oracle Automatic Storage Management
-- (ASM) password. You can set this value from the @ asm_user_password @
-- value. You set this value as part of the comma-separated value that you
-- set to the @Password@ request parameter when you create the endpoint to
-- access transaction logs using Binary Reader. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
--
-- 'enableHomogenousTablespace', 'oracleSettings_enableHomogenousTablespace' - Set this attribute to enable homogenous tablespace replication and
-- create existing tables or indexes under the same tablespace on the
-- target.
--
-- 'parallelAsmReadThreads', 'oracleSettings_parallelAsmReadThreads' - Set this attribute to change the number of threads that DMS configures
-- to perform a change data capture (CDC) load using Oracle Automatic
-- Storage Management (ASM). You can specify an integer value between 2
-- (the default) and 8 (the maximum). Use this attribute together with the
-- @readAheadBlocks@ attribute.
--
-- 'numberDatatypeScale', 'oracleSettings_numberDatatypeScale' - Specifies the number scale. You can select a scale up to 38, or you can
-- select FLOAT. By default, the NUMBER data type is converted to precision
-- 38, scale 10.
--
-- Example: @numberDataTypeScale=12@
--
-- 'usePathPrefix', 'oracleSettings_usePathPrefix' - Set this string attribute to the required value in order to use the
-- Binary Reader to capture change data for an Amazon RDS for Oracle as the
-- source. This value specifies the path prefix used to replace the default
-- Oracle root to access the redo logs.
--
-- 'asmUser', 'oracleSettings_asmUser' - For an Oracle source endpoint, your ASM user name. You can set this
-- value from the @asm_user@ value. You set @asm_user@ as part of the extra
-- connection attribute string to access an Oracle server with Binary
-- Reader that uses ASM. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
--
-- 'useAlternateFolderForOnline', 'oracleSettings_useAlternateFolderForOnline' - Set this attribute to @true@ in order to use the Binary Reader to
-- capture change data for an Amazon RDS for Oracle as the source. This
-- tells the DMS instance to use any specified prefix replacement to access
-- all online redo logs.
--
-- 'port', 'oracleSettings_port' - Endpoint TCP port.
newOracleSettings ::
  OracleSettings
newOracleSettings :: OracleSettings
newOracleSettings =
  OracleSettings' :: Maybe Bool
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe [Int]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe (Sensitive Text)
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe (Sensitive Text)
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe CharLengthSemantics
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe (Sensitive Text)
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> OracleSettings
OracleSettings'
    { $sel:useBFile:OracleSettings' :: Maybe Bool
useBFile = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:standbyDelayTime:OracleSettings' :: Maybe Int
standbyDelayTime = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:failTasksOnLobTruncation:OracleSettings' :: Maybe Bool
failTasksOnLobTruncation = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:serverName:OracleSettings' :: Maybe Text
serverName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:directPathNoLog:OracleSettings' :: Maybe Bool
directPathNoLog = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:extraArchivedLogDestIds:OracleSettings' :: Maybe [Int]
extraArchivedLogDestIds = Maybe [Int]
forall a. Maybe a
Prelude.Nothing,
      $sel:securityDbEncryptionName:OracleSettings' :: Maybe Text
securityDbEncryptionName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:oraclePathPrefix:OracleSettings' :: Maybe Text
oraclePathPrefix = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:secretsManagerAccessRoleArn:OracleSettings' :: Maybe Text
secretsManagerAccessRoleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:useDirectPathFullLoad:OracleSettings' :: Maybe Bool
useDirectPathFullLoad = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:username:OracleSettings' :: Maybe Text
username = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:allowSelectNestedTables:OracleSettings' :: Maybe Bool
allowSelectNestedTables = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:readAheadBlocks:OracleSettings' :: Maybe Int
readAheadBlocks = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:archivedLogDestId:OracleSettings' :: Maybe Int
archivedLogDestId = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:replacePathPrefix:OracleSettings' :: Maybe Bool
replacePathPrefix = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:accessAlternateDirectly:OracleSettings' :: Maybe Bool
accessAlternateDirectly = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:secretsManagerOracleAsmSecretId:OracleSettings' :: Maybe Text
secretsManagerOracleAsmSecretId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:securityDbEncryption:OracleSettings' :: Maybe (Sensitive Text)
securityDbEncryption = Maybe (Sensitive Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:useLogminerReader:OracleSettings' :: Maybe Bool
useLogminerReader = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:readTableSpaceName:OracleSettings' :: Maybe Bool
readTableSpaceName = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:retryInterval:OracleSettings' :: Maybe Int
retryInterval = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:password:OracleSettings' :: Maybe (Sensitive Text)
password = Maybe (Sensitive Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:spatialDataOptionToGeoJsonFunctionName:OracleSettings' :: Maybe Text
spatialDataOptionToGeoJsonFunctionName =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:databaseName:OracleSettings' :: Maybe Text
databaseName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:addSupplementalLogging:OracleSettings' :: Maybe Bool
addSupplementalLogging = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:secretsManagerOracleAsmAccessRoleArn:OracleSettings' :: Maybe Text
secretsManagerOracleAsmAccessRoleArn =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:asmServer:OracleSettings' :: Maybe Text
asmServer = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:charLengthSemantics:OracleSettings' :: Maybe CharLengthSemantics
charLengthSemantics = Maybe CharLengthSemantics
forall a. Maybe a
Prelude.Nothing,
      $sel:archivedLogsOnly:OracleSettings' :: Maybe Bool
archivedLogsOnly = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:directPathParallelLoad:OracleSettings' :: Maybe Bool
directPathParallelLoad = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:secretsManagerSecretId:OracleSettings' :: Maybe Text
secretsManagerSecretId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:additionalArchivedLogDestId:OracleSettings' :: Maybe Int
additionalArchivedLogDestId = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:asmPassword:OracleSettings' :: Maybe (Sensitive Text)
asmPassword = Maybe (Sensitive Text)
forall a. Maybe a
Prelude.Nothing,
      $sel:enableHomogenousTablespace:OracleSettings' :: Maybe Bool
enableHomogenousTablespace = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:parallelAsmReadThreads:OracleSettings' :: Maybe Int
parallelAsmReadThreads = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:numberDatatypeScale:OracleSettings' :: Maybe Int
numberDatatypeScale = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:usePathPrefix:OracleSettings' :: Maybe Text
usePathPrefix = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:asmUser:OracleSettings' :: Maybe Text
asmUser = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:useAlternateFolderForOnline:OracleSettings' :: Maybe Bool
useAlternateFolderForOnline = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:port:OracleSettings' :: Maybe Int
port = Maybe Int
forall a. Maybe a
Prelude.Nothing
    }

-- | Set this attribute to Y to capture change data using the Binary Reader
-- utility. Set @UseLogminerReader@ to N to set this attribute to Y. To use
-- Binary Reader with Amazon RDS for Oracle as the source, you set
-- additional attributes. For more information about using this setting
-- with Oracle Automatic Storage Management (ASM), see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>.
oracleSettings_useBFile :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_useBFile :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_useBFile = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
useBFile :: Maybe Bool
$sel:useBFile:OracleSettings' :: OracleSettings -> Maybe Bool
useBFile} -> Maybe Bool
useBFile) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:useBFile:OracleSettings' :: Maybe Bool
useBFile = Maybe Bool
a} :: OracleSettings)

-- | Use this attribute to specify a time in minutes for the delay in standby
-- sync. If the source is an Oracle Active Data Guard standby database, use
-- this attribute to specify the time lag between primary and standby
-- databases.
--
-- In DMS, you can create an Oracle CDC task that uses an Active Data Guard
-- standby instance as a source for replicating ongoing changes. Doing this
-- eliminates the need to connect to an active database that might be in
-- production.
oracleSettings_standbyDelayTime :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_standbyDelayTime :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_standbyDelayTime = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
standbyDelayTime :: Maybe Int
$sel:standbyDelayTime:OracleSettings' :: OracleSettings -> Maybe Int
standbyDelayTime} -> Maybe Int
standbyDelayTime) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:standbyDelayTime:OracleSettings' :: Maybe Int
standbyDelayTime = Maybe Int
a} :: OracleSettings)

-- | When set to @true@, this attribute causes a task to fail if the actual
-- size of an LOB column is greater than the specified @LobMaxSize@.
--
-- If a task is set to limited LOB mode and this option is set to @true@,
-- the task fails instead of truncating the LOB data.
oracleSettings_failTasksOnLobTruncation :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_failTasksOnLobTruncation :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_failTasksOnLobTruncation = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
failTasksOnLobTruncation :: Maybe Bool
$sel:failTasksOnLobTruncation:OracleSettings' :: OracleSettings -> Maybe Bool
failTasksOnLobTruncation} -> Maybe Bool
failTasksOnLobTruncation) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:failTasksOnLobTruncation:OracleSettings' :: Maybe Bool
failTasksOnLobTruncation = Maybe Bool
a} :: OracleSettings)

-- | Fully qualified domain name of the endpoint.
oracleSettings_serverName :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_serverName :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_serverName = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
serverName :: Maybe Text
$sel:serverName:OracleSettings' :: OracleSettings -> Maybe Text
serverName} -> Maybe Text
serverName) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:serverName:OracleSettings' :: Maybe Text
serverName = Maybe Text
a} :: OracleSettings)

-- | When set to @true@, this attribute helps to increase the commit rate on
-- the Oracle target database by writing directly to tables and not writing
-- a trail to database logs.
oracleSettings_directPathNoLog :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_directPathNoLog :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_directPathNoLog = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
directPathNoLog :: Maybe Bool
$sel:directPathNoLog:OracleSettings' :: OracleSettings -> Maybe Bool
directPathNoLog} -> Maybe Bool
directPathNoLog) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:directPathNoLog:OracleSettings' :: Maybe Bool
directPathNoLog = Maybe Bool
a} :: OracleSettings)

-- | Specifies the IDs of one more destinations for one or more archived redo
-- logs. These IDs are the values of the @dest_id@ column in the
-- @v$archived_log@ view. Use this setting with the @archivedLogDestId@
-- extra connection attribute in a primary-to-single setup or a
-- primary-to-multiple-standby setup.
--
-- This setting is useful in a switchover when you use an Oracle Data Guard
-- database as a source. In this case, DMS needs information about what
-- destination to get archive redo logs from to read changes. DMS needs
-- this because after the switchover the previous primary is a standby
-- instance. For example, in a primary-to-single standby setup you might
-- apply the following settings.
--
-- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2]@
--
-- In a primary-to-multiple-standby setup, you might apply the following
-- settings.
--
-- @archivedLogDestId=1; ExtraArchivedLogDestIds=[2,3,4]@
--
-- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
-- the database, never use @RESETLOGS@ unless it\'s necessary. For more
-- information about @RESETLOGS@, see
-- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
-- in the /Oracle Database Backup and Recovery User\'s Guide/.
oracleSettings_extraArchivedLogDestIds :: Lens.Lens' OracleSettings (Prelude.Maybe [Prelude.Int])
oracleSettings_extraArchivedLogDestIds :: (Maybe [Int] -> f (Maybe [Int]))
-> OracleSettings -> f OracleSettings
oracleSettings_extraArchivedLogDestIds = (OracleSettings -> Maybe [Int])
-> (OracleSettings -> Maybe [Int] -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe [Int]) (Maybe [Int])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe [Int]
extraArchivedLogDestIds :: Maybe [Int]
$sel:extraArchivedLogDestIds:OracleSettings' :: OracleSettings -> Maybe [Int]
extraArchivedLogDestIds} -> Maybe [Int]
extraArchivedLogDestIds) (\s :: OracleSettings
s@OracleSettings' {} Maybe [Int]
a -> OracleSettings
s {$sel:extraArchivedLogDestIds:OracleSettings' :: Maybe [Int]
extraArchivedLogDestIds = Maybe [Int]
a} :: OracleSettings) ((Maybe [Int] -> f (Maybe [Int]))
 -> OracleSettings -> f OracleSettings)
-> ((Maybe [Int] -> f (Maybe [Int]))
    -> Maybe [Int] -> f (Maybe [Int]))
-> (Maybe [Int] -> f (Maybe [Int]))
-> OracleSettings
-> f OracleSettings
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Int] [Int] [Int] [Int]
-> Iso (Maybe [Int]) (Maybe [Int]) (Maybe [Int]) (Maybe [Int])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Int] [Int] [Int] [Int]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | For an Oracle source endpoint, the name of a key used for the
-- transparent data encryption (TDE) of the columns and tablespaces in an
-- Oracle source database that is encrypted using TDE. The key value is the
-- value of the @SecurityDbEncryption@ setting. For more information on
-- setting the key name value of @SecurityDbEncryptionName@, see the
-- information and example for setting the @securityDbEncryptionName@ extra
-- connection attribute in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
-- in the /Database Migration Service User Guide/.
oracleSettings_securityDbEncryptionName :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_securityDbEncryptionName :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_securityDbEncryptionName = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
securityDbEncryptionName :: Maybe Text
$sel:securityDbEncryptionName:OracleSettings' :: OracleSettings -> Maybe Text
securityDbEncryptionName} -> Maybe Text
securityDbEncryptionName) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:securityDbEncryptionName:OracleSettings' :: Maybe Text
securityDbEncryptionName = Maybe Text
a} :: OracleSettings)

-- | Set this string attribute to the required value in order to use the
-- Binary Reader to capture change data for an Amazon RDS for Oracle as the
-- source. This value specifies the default Oracle root used to access the
-- redo logs.
oracleSettings_oraclePathPrefix :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_oraclePathPrefix :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_oraclePathPrefix = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
oraclePathPrefix :: Maybe Text
$sel:oraclePathPrefix:OracleSettings' :: OracleSettings -> Maybe Text
oraclePathPrefix} -> Maybe Text
oraclePathPrefix) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:oraclePathPrefix:OracleSettings' :: Maybe Text
oraclePathPrefix = Maybe Text
a} :: OracleSettings)

-- | 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 Oracle 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
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
-- in the /Database Migration Service User Guide/.
oracleSettings_secretsManagerAccessRoleArn :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_secretsManagerAccessRoleArn :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_secretsManagerAccessRoleArn = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
secretsManagerAccessRoleArn :: Maybe Text
$sel:secretsManagerAccessRoleArn:OracleSettings' :: OracleSettings -> Maybe Text
secretsManagerAccessRoleArn} -> Maybe Text
secretsManagerAccessRoleArn) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:secretsManagerAccessRoleArn:OracleSettings' :: Maybe Text
secretsManagerAccessRoleArn = Maybe Text
a} :: OracleSettings)

-- | Set this attribute to Y to have DMS use a direct path full load. Specify
-- this value to use the direct path protocol in the Oracle Call Interface
-- (OCI). By using this OCI protocol, you can bulk-load Oracle target
-- tables during a full load.
oracleSettings_useDirectPathFullLoad :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_useDirectPathFullLoad :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_useDirectPathFullLoad = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
useDirectPathFullLoad :: Maybe Bool
$sel:useDirectPathFullLoad:OracleSettings' :: OracleSettings -> Maybe Bool
useDirectPathFullLoad} -> Maybe Bool
useDirectPathFullLoad) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:useDirectPathFullLoad:OracleSettings' :: Maybe Bool
useDirectPathFullLoad = Maybe Bool
a} :: OracleSettings)

-- | Endpoint connection user name.
oracleSettings_username :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_username :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_username = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
username :: Maybe Text
$sel:username:OracleSettings' :: OracleSettings -> Maybe Text
username} -> Maybe Text
username) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:username:OracleSettings' :: Maybe Text
username = Maybe Text
a} :: OracleSettings)

-- | Set this attribute to @true@ to enable replication of Oracle tables
-- containing columns that are nested tables or defined types.
oracleSettings_allowSelectNestedTables :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_allowSelectNestedTables :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_allowSelectNestedTables = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
allowSelectNestedTables :: Maybe Bool
$sel:allowSelectNestedTables:OracleSettings' :: OracleSettings -> Maybe Bool
allowSelectNestedTables} -> Maybe Bool
allowSelectNestedTables) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:allowSelectNestedTables:OracleSettings' :: Maybe Bool
allowSelectNestedTables = Maybe Bool
a} :: OracleSettings)

-- | Set this attribute to change the number of read-ahead blocks that DMS
-- configures to perform a change data capture (CDC) load using Oracle
-- Automatic Storage Management (ASM). You can specify an integer value
-- between 1000 (the default) and 200,000 (the maximum).
oracleSettings_readAheadBlocks :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_readAheadBlocks :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_readAheadBlocks = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
readAheadBlocks :: Maybe Int
$sel:readAheadBlocks:OracleSettings' :: OracleSettings -> Maybe Int
readAheadBlocks} -> Maybe Int
readAheadBlocks) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:readAheadBlocks:OracleSettings' :: Maybe Int
readAheadBlocks = Maybe Int
a} :: OracleSettings)

-- | Specifies the ID of the destination for the archived redo logs. This
-- value should be the same as a number in the dest_id column of the
-- v$archived_log view. If you work with an additional redo log
-- destination, use the @AdditionalArchivedLogDestId@ option to specify the
-- additional destination ID. Doing this improves performance by ensuring
-- that the correct logs are accessed from the outset.
oracleSettings_archivedLogDestId :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_archivedLogDestId :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_archivedLogDestId = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
archivedLogDestId :: Maybe Int
$sel:archivedLogDestId:OracleSettings' :: OracleSettings -> Maybe Int
archivedLogDestId} -> Maybe Int
archivedLogDestId) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:archivedLogDestId:OracleSettings' :: Maybe Int
archivedLogDestId = Maybe Int
a} :: OracleSettings)

-- | Set this attribute to true in order to use the Binary Reader to capture
-- change data for an Amazon RDS for Oracle as the source. This setting
-- tells DMS instance to replace the default Oracle root with the specified
-- @usePathPrefix@ setting to access the redo logs.
oracleSettings_replacePathPrefix :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_replacePathPrefix :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_replacePathPrefix = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
replacePathPrefix :: Maybe Bool
$sel:replacePathPrefix:OracleSettings' :: OracleSettings -> Maybe Bool
replacePathPrefix} -> Maybe Bool
replacePathPrefix) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:replacePathPrefix:OracleSettings' :: Maybe Bool
replacePathPrefix = Maybe Bool
a} :: OracleSettings)

-- | Set this attribute to @false@ in order to use the Binary Reader to
-- capture change data for an Amazon RDS for Oracle as the source. This
-- tells the DMS instance to not access redo logs through any specified
-- path prefix replacement using direct file access.
oracleSettings_accessAlternateDirectly :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_accessAlternateDirectly :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_accessAlternateDirectly = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
accessAlternateDirectly :: Maybe Bool
$sel:accessAlternateDirectly:OracleSettings' :: OracleSettings -> Maybe Bool
accessAlternateDirectly} -> Maybe Bool
accessAlternateDirectly) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:accessAlternateDirectly:OracleSettings' :: Maybe Bool
accessAlternateDirectly = Maybe Bool
a} :: OracleSettings)

-- | Required only if your Oracle endpoint uses Advanced Storage Manager
-- (ASM). The full ARN, partial ARN, or friendly name of the
-- @SecretsManagerOracleAsmSecret@ that contains the Oracle ASM connection
-- details for the Oracle endpoint.
oracleSettings_secretsManagerOracleAsmSecretId :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_secretsManagerOracleAsmSecretId :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_secretsManagerOracleAsmSecretId = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
secretsManagerOracleAsmSecretId :: Maybe Text
$sel:secretsManagerOracleAsmSecretId:OracleSettings' :: OracleSettings -> Maybe Text
secretsManagerOracleAsmSecretId} -> Maybe Text
secretsManagerOracleAsmSecretId) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:secretsManagerOracleAsmSecretId:OracleSettings' :: Maybe Text
secretsManagerOracleAsmSecretId = Maybe Text
a} :: OracleSettings)

-- | For an Oracle source endpoint, the transparent data encryption (TDE)
-- password required by AWM DMS to access Oracle redo logs encrypted by TDE
-- using Binary Reader. It is also the @ TDE_Password @ part of the
-- comma-separated value you set to the @Password@ request parameter when
-- you create the endpoint. The @SecurityDbEncryptian@ setting is related
-- to this @SecurityDbEncryptionName@ setting. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Encryption Supported encryption methods for using Oracle as a source for DMS>
-- in the /Database Migration Service User Guide/.
oracleSettings_securityDbEncryption :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_securityDbEncryption :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_securityDbEncryption = (OracleSettings -> Maybe (Sensitive Text))
-> (OracleSettings -> Maybe (Sensitive Text) -> OracleSettings)
-> Lens
     OracleSettings
     OracleSettings
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe (Sensitive Text)
securityDbEncryption :: Maybe (Sensitive Text)
$sel:securityDbEncryption:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
securityDbEncryption} -> Maybe (Sensitive Text)
securityDbEncryption) (\s :: OracleSettings
s@OracleSettings' {} Maybe (Sensitive Text)
a -> OracleSettings
s {$sel:securityDbEncryption:OracleSettings' :: Maybe (Sensitive Text)
securityDbEncryption = Maybe (Sensitive Text)
a} :: OracleSettings) ((Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
 -> OracleSettings -> f OracleSettings)
-> ((Maybe Text -> f (Maybe Text))
    -> Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
-> (Maybe Text -> f (Maybe Text))
-> OracleSettings
-> f OracleSettings
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso (Sensitive Text) (Sensitive Text) Text Text
-> Iso
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
     (Maybe Text)
     (Maybe Text)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso (Sensitive Text) (Sensitive Text) Text Text
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | Set this attribute to Y to capture change data using the Oracle LogMiner
-- utility (the default). Set this attribute to N if you want to access the
-- redo logs as a binary file. When you set @UseLogminerReader@ to N, also
-- set @UseBfile@ to Y. For more information on this setting and using
-- Oracle ASM, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC Using Oracle LogMiner or DMS Binary Reader for CDC>
-- in the /DMS User Guide/.
oracleSettings_useLogminerReader :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_useLogminerReader :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_useLogminerReader = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
useLogminerReader :: Maybe Bool
$sel:useLogminerReader:OracleSettings' :: OracleSettings -> Maybe Bool
useLogminerReader} -> Maybe Bool
useLogminerReader) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:useLogminerReader:OracleSettings' :: Maybe Bool
useLogminerReader = Maybe Bool
a} :: OracleSettings)

-- | When set to @true@, this attribute supports tablespace replication.
oracleSettings_readTableSpaceName :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_readTableSpaceName :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_readTableSpaceName = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
readTableSpaceName :: Maybe Bool
$sel:readTableSpaceName:OracleSettings' :: OracleSettings -> Maybe Bool
readTableSpaceName} -> Maybe Bool
readTableSpaceName) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:readTableSpaceName:OracleSettings' :: Maybe Bool
readTableSpaceName = Maybe Bool
a} :: OracleSettings)

-- | Specifies the number of seconds that the system waits before resending a
-- query.
--
-- Example: @retryInterval=6;@
oracleSettings_retryInterval :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_retryInterval :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_retryInterval = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
retryInterval :: Maybe Int
$sel:retryInterval:OracleSettings' :: OracleSettings -> Maybe Int
retryInterval} -> Maybe Int
retryInterval) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:retryInterval:OracleSettings' :: Maybe Int
retryInterval = Maybe Int
a} :: OracleSettings)

-- | Endpoint connection password.
oracleSettings_password :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_password :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_password = (OracleSettings -> Maybe (Sensitive Text))
-> (OracleSettings -> Maybe (Sensitive Text) -> OracleSettings)
-> Lens
     OracleSettings
     OracleSettings
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe (Sensitive Text)
password :: Maybe (Sensitive Text)
$sel:password:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
password} -> Maybe (Sensitive Text)
password) (\s :: OracleSettings
s@OracleSettings' {} Maybe (Sensitive Text)
a -> OracleSettings
s {$sel:password:OracleSettings' :: Maybe (Sensitive Text)
password = Maybe (Sensitive Text)
a} :: OracleSettings) ((Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
 -> OracleSettings -> f OracleSettings)
-> ((Maybe Text -> f (Maybe Text))
    -> Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
-> (Maybe Text -> f (Maybe Text))
-> OracleSettings
-> f OracleSettings
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso (Sensitive Text) (Sensitive Text) Text Text
-> Iso
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
     (Maybe Text)
     (Maybe Text)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso (Sensitive Text) (Sensitive Text) Text Text
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | Use this attribute to convert @SDO_GEOMETRY@ to @GEOJSON@ format. By
-- default, DMS calls the @SDO2GEOJSON@ custom function if present and
-- accessible. Or you can create your own custom function that mimics the
-- operation of @SDOGEOJSON@ and set
-- @SpatialDataOptionToGeoJsonFunctionName@ to call it instead.
oracleSettings_spatialDataOptionToGeoJsonFunctionName :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_spatialDataOptionToGeoJsonFunctionName :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_spatialDataOptionToGeoJsonFunctionName = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
spatialDataOptionToGeoJsonFunctionName :: Maybe Text
$sel:spatialDataOptionToGeoJsonFunctionName:OracleSettings' :: OracleSettings -> Maybe Text
spatialDataOptionToGeoJsonFunctionName} -> Maybe Text
spatialDataOptionToGeoJsonFunctionName) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:spatialDataOptionToGeoJsonFunctionName:OracleSettings' :: Maybe Text
spatialDataOptionToGeoJsonFunctionName = Maybe Text
a} :: OracleSettings)

-- | Database name for the endpoint.
oracleSettings_databaseName :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_databaseName :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_databaseName = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
databaseName :: Maybe Text
$sel:databaseName:OracleSettings' :: OracleSettings -> Maybe Text
databaseName} -> Maybe Text
databaseName) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:databaseName:OracleSettings' :: Maybe Text
databaseName = Maybe Text
a} :: OracleSettings)

-- | Set this attribute to set up table-level supplemental logging for the
-- Oracle database. This attribute enables PRIMARY KEY supplemental logging
-- on all tables selected for a migration task.
--
-- If you use this option, you still need to enable database-level
-- supplemental logging.
oracleSettings_addSupplementalLogging :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_addSupplementalLogging :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_addSupplementalLogging = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
addSupplementalLogging :: Maybe Bool
$sel:addSupplementalLogging:OracleSettings' :: OracleSettings -> Maybe Bool
addSupplementalLogging} -> Maybe Bool
addSupplementalLogging) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:addSupplementalLogging:OracleSettings' :: Maybe Bool
addSupplementalLogging = Maybe Bool
a} :: OracleSettings)

-- | Required only if your Oracle endpoint uses Advanced Storage Manager
-- (ASM). The full ARN of the IAM role that specifies DMS as the trusted
-- entity and grants the required permissions to access the
-- @SecretsManagerOracleAsmSecret@. This @SecretsManagerOracleAsmSecret@
-- has the secret value that allows access to the Oracle ASM of the
-- endpoint.
--
-- You can specify one of two sets of values for these permissions. You can
-- specify the values for this setting and
-- @SecretsManagerOracleAsmSecretId@. Or you can specify clear-text values
-- for @AsmUserName@, @AsmPassword@, and @AsmServerName@. You can\'t
-- specify both. For more information on creating this
-- @SecretsManagerOracleAsmSecret@ and the
-- @SecretsManagerOracleAsmAccessRoleArn@ and
-- @SecretsManagerOracleAsmSecretId@ required to access it, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.html#security-iam-secretsmanager Using secrets to access Database Migration Service resources>
-- in the /Database Migration Service User Guide/.
oracleSettings_secretsManagerOracleAsmAccessRoleArn :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_secretsManagerOracleAsmAccessRoleArn :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_secretsManagerOracleAsmAccessRoleArn = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
secretsManagerOracleAsmAccessRoleArn :: Maybe Text
$sel:secretsManagerOracleAsmAccessRoleArn:OracleSettings' :: OracleSettings -> Maybe Text
secretsManagerOracleAsmAccessRoleArn} -> Maybe Text
secretsManagerOracleAsmAccessRoleArn) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:secretsManagerOracleAsmAccessRoleArn:OracleSettings' :: Maybe Text
secretsManagerOracleAsmAccessRoleArn = Maybe Text
a} :: OracleSettings)

-- | For an Oracle source endpoint, your ASM server address. You can set this
-- value from the @asm_server@ value. You set @asm_server@ as part of the
-- extra connection attribute string to access an Oracle server with Binary
-- Reader that uses ASM. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
oracleSettings_asmServer :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_asmServer :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_asmServer = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
asmServer :: Maybe Text
$sel:asmServer:OracleSettings' :: OracleSettings -> Maybe Text
asmServer} -> Maybe Text
asmServer) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:asmServer:OracleSettings' :: Maybe Text
asmServer = Maybe Text
a} :: OracleSettings)

-- | Specifies whether the length of a character column is in bytes or in
-- characters. To indicate that the character column length is in
-- characters, set this attribute to @CHAR@. Otherwise, the character
-- column length is in bytes.
--
-- Example: @charLengthSemantics=CHAR;@
oracleSettings_charLengthSemantics :: Lens.Lens' OracleSettings (Prelude.Maybe CharLengthSemantics)
oracleSettings_charLengthSemantics :: (Maybe CharLengthSemantics -> f (Maybe CharLengthSemantics))
-> OracleSettings -> f OracleSettings
oracleSettings_charLengthSemantics = (OracleSettings -> Maybe CharLengthSemantics)
-> (OracleSettings -> Maybe CharLengthSemantics -> OracleSettings)
-> Lens
     OracleSettings
     OracleSettings
     (Maybe CharLengthSemantics)
     (Maybe CharLengthSemantics)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe CharLengthSemantics
charLengthSemantics :: Maybe CharLengthSemantics
$sel:charLengthSemantics:OracleSettings' :: OracleSettings -> Maybe CharLengthSemantics
charLengthSemantics} -> Maybe CharLengthSemantics
charLengthSemantics) (\s :: OracleSettings
s@OracleSettings' {} Maybe CharLengthSemantics
a -> OracleSettings
s {$sel:charLengthSemantics:OracleSettings' :: Maybe CharLengthSemantics
charLengthSemantics = Maybe CharLengthSemantics
a} :: OracleSettings)

-- | When this field is set to @Y@, DMS only accesses the archived redo logs.
-- If the archived redo logs are stored on Oracle ASM only, the DMS user
-- account needs to be granted ASM privileges.
oracleSettings_archivedLogsOnly :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_archivedLogsOnly :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_archivedLogsOnly = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
archivedLogsOnly :: Maybe Bool
$sel:archivedLogsOnly:OracleSettings' :: OracleSettings -> Maybe Bool
archivedLogsOnly} -> Maybe Bool
archivedLogsOnly) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:archivedLogsOnly:OracleSettings' :: Maybe Bool
archivedLogsOnly = Maybe Bool
a} :: OracleSettings)

-- | When set to @true@, this attribute specifies a parallel load when
-- @useDirectPathFullLoad@ is set to @Y@. This attribute also only applies
-- when you use the DMS parallel load feature. Note that the target table
-- cannot have any constraints or indexes.
oracleSettings_directPathParallelLoad :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_directPathParallelLoad :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_directPathParallelLoad = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
directPathParallelLoad :: Maybe Bool
$sel:directPathParallelLoad:OracleSettings' :: OracleSettings -> Maybe Bool
directPathParallelLoad} -> Maybe Bool
directPathParallelLoad) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:directPathParallelLoad:OracleSettings' :: Maybe Bool
directPathParallelLoad = Maybe Bool
a} :: OracleSettings)

-- | The full ARN, partial ARN, or friendly name of the
-- @SecretsManagerSecret@ that contains the Oracle endpoint connection
-- details.
oracleSettings_secretsManagerSecretId :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_secretsManagerSecretId :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_secretsManagerSecretId = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
secretsManagerSecretId :: Maybe Text
$sel:secretsManagerSecretId:OracleSettings' :: OracleSettings -> Maybe Text
secretsManagerSecretId} -> Maybe Text
secretsManagerSecretId) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:secretsManagerSecretId:OracleSettings' :: Maybe Text
secretsManagerSecretId = Maybe Text
a} :: OracleSettings)

-- | Set this attribute with @ArchivedLogDestId@ in a primary\/ standby
-- setup. This attribute is useful in the case of a switchover. In this
-- case, DMS needs to know which destination to get archive redo logs from
-- to read changes. This need arises because the previous primary instance
-- is now a standby instance after switchover.
--
-- Although DMS supports the use of the Oracle @RESETLOGS@ option to open
-- the database, never use @RESETLOGS@ unless necessary. For additional
-- information about @RESETLOGS@, see
-- <https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/rman-data-repair-concepts.html#GUID-1805CCF7-4AF2-482D-B65A-998192F89C2B RMAN Data Repair Concepts>
-- in the /Oracle Database Backup and Recovery User\'s Guide/.
oracleSettings_additionalArchivedLogDestId :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_additionalArchivedLogDestId :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_additionalArchivedLogDestId = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
additionalArchivedLogDestId :: Maybe Int
$sel:additionalArchivedLogDestId:OracleSettings' :: OracleSettings -> Maybe Int
additionalArchivedLogDestId} -> Maybe Int
additionalArchivedLogDestId) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:additionalArchivedLogDestId:OracleSettings' :: Maybe Int
additionalArchivedLogDestId = Maybe Int
a} :: OracleSettings)

-- | For an Oracle source endpoint, your Oracle Automatic Storage Management
-- (ASM) password. You can set this value from the @ asm_user_password @
-- value. You set this value as part of the comma-separated value that you
-- set to the @Password@ request parameter when you create the endpoint to
-- access transaction logs using Binary Reader. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
oracleSettings_asmPassword :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_asmPassword :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_asmPassword = (OracleSettings -> Maybe (Sensitive Text))
-> (OracleSettings -> Maybe (Sensitive Text) -> OracleSettings)
-> Lens
     OracleSettings
     OracleSettings
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe (Sensitive Text)
asmPassword :: Maybe (Sensitive Text)
$sel:asmPassword:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
asmPassword} -> Maybe (Sensitive Text)
asmPassword) (\s :: OracleSettings
s@OracleSettings' {} Maybe (Sensitive Text)
a -> OracleSettings
s {$sel:asmPassword:OracleSettings' :: Maybe (Sensitive Text)
asmPassword = Maybe (Sensitive Text)
a} :: OracleSettings) ((Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
 -> OracleSettings -> f OracleSettings)
-> ((Maybe Text -> f (Maybe Text))
    -> Maybe (Sensitive Text) -> f (Maybe (Sensitive Text)))
-> (Maybe Text -> f (Maybe Text))
-> OracleSettings
-> f OracleSettings
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso (Sensitive Text) (Sensitive Text) Text Text
-> Iso
     (Maybe (Sensitive Text))
     (Maybe (Sensitive Text))
     (Maybe Text)
     (Maybe Text)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso (Sensitive Text) (Sensitive Text) Text Text
forall a. Iso' (Sensitive a) a
Core._Sensitive

-- | Set this attribute to enable homogenous tablespace replication and
-- create existing tables or indexes under the same tablespace on the
-- target.
oracleSettings_enableHomogenousTablespace :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_enableHomogenousTablespace :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_enableHomogenousTablespace = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
enableHomogenousTablespace :: Maybe Bool
$sel:enableHomogenousTablespace:OracleSettings' :: OracleSettings -> Maybe Bool
enableHomogenousTablespace} -> Maybe Bool
enableHomogenousTablespace) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:enableHomogenousTablespace:OracleSettings' :: Maybe Bool
enableHomogenousTablespace = Maybe Bool
a} :: OracleSettings)

-- | Set this attribute to change the number of threads that DMS configures
-- to perform a change data capture (CDC) load using Oracle Automatic
-- Storage Management (ASM). You can specify an integer value between 2
-- (the default) and 8 (the maximum). Use this attribute together with the
-- @readAheadBlocks@ attribute.
oracleSettings_parallelAsmReadThreads :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_parallelAsmReadThreads :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_parallelAsmReadThreads = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
parallelAsmReadThreads :: Maybe Int
$sel:parallelAsmReadThreads:OracleSettings' :: OracleSettings -> Maybe Int
parallelAsmReadThreads} -> Maybe Int
parallelAsmReadThreads) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:parallelAsmReadThreads:OracleSettings' :: Maybe Int
parallelAsmReadThreads = Maybe Int
a} :: OracleSettings)

-- | Specifies the number scale. You can select a scale up to 38, or you can
-- select FLOAT. By default, the NUMBER data type is converted to precision
-- 38, scale 10.
--
-- Example: @numberDataTypeScale=12@
oracleSettings_numberDatatypeScale :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_numberDatatypeScale :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_numberDatatypeScale = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
numberDatatypeScale :: Maybe Int
$sel:numberDatatypeScale:OracleSettings' :: OracleSettings -> Maybe Int
numberDatatypeScale} -> Maybe Int
numberDatatypeScale) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:numberDatatypeScale:OracleSettings' :: Maybe Int
numberDatatypeScale = Maybe Int
a} :: OracleSettings)

-- | Set this string attribute to the required value in order to use the
-- Binary Reader to capture change data for an Amazon RDS for Oracle as the
-- source. This value specifies the path prefix used to replace the default
-- Oracle root to access the redo logs.
oracleSettings_usePathPrefix :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_usePathPrefix :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_usePathPrefix = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
usePathPrefix :: Maybe Text
$sel:usePathPrefix:OracleSettings' :: OracleSettings -> Maybe Text
usePathPrefix} -> Maybe Text
usePathPrefix) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:usePathPrefix:OracleSettings' :: Maybe Text
usePathPrefix = Maybe Text
a} :: OracleSettings)

-- | For an Oracle source endpoint, your ASM user name. You can set this
-- value from the @asm_user@ value. You set @asm_user@ as part of the extra
-- connection attribute string to access an Oracle server with Binary
-- Reader that uses ASM. For more information, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC.Configuration Configuration for change data capture (CDC) on an Oracle source database>.
oracleSettings_asmUser :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Text)
oracleSettings_asmUser :: (Maybe Text -> f (Maybe Text))
-> OracleSettings -> f OracleSettings
oracleSettings_asmUser = (OracleSettings -> Maybe Text)
-> (OracleSettings -> Maybe Text -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Text
asmUser :: Maybe Text
$sel:asmUser:OracleSettings' :: OracleSettings -> Maybe Text
asmUser} -> Maybe Text
asmUser) (\s :: OracleSettings
s@OracleSettings' {} Maybe Text
a -> OracleSettings
s {$sel:asmUser:OracleSettings' :: Maybe Text
asmUser = Maybe Text
a} :: OracleSettings)

-- | Set this attribute to @true@ in order to use the Binary Reader to
-- capture change data for an Amazon RDS for Oracle as the source. This
-- tells the DMS instance to use any specified prefix replacement to access
-- all online redo logs.
oracleSettings_useAlternateFolderForOnline :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Bool)
oracleSettings_useAlternateFolderForOnline :: (Maybe Bool -> f (Maybe Bool))
-> OracleSettings -> f OracleSettings
oracleSettings_useAlternateFolderForOnline = (OracleSettings -> Maybe Bool)
-> (OracleSettings -> Maybe Bool -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Bool
useAlternateFolderForOnline :: Maybe Bool
$sel:useAlternateFolderForOnline:OracleSettings' :: OracleSettings -> Maybe Bool
useAlternateFolderForOnline} -> Maybe Bool
useAlternateFolderForOnline) (\s :: OracleSettings
s@OracleSettings' {} Maybe Bool
a -> OracleSettings
s {$sel:useAlternateFolderForOnline:OracleSettings' :: Maybe Bool
useAlternateFolderForOnline = Maybe Bool
a} :: OracleSettings)

-- | Endpoint TCP port.
oracleSettings_port :: Lens.Lens' OracleSettings (Prelude.Maybe Prelude.Int)
oracleSettings_port :: (Maybe Int -> f (Maybe Int)) -> OracleSettings -> f OracleSettings
oracleSettings_port = (OracleSettings -> Maybe Int)
-> (OracleSettings -> Maybe Int -> OracleSettings)
-> Lens OracleSettings OracleSettings (Maybe Int) (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\OracleSettings' {Maybe Int
port :: Maybe Int
$sel:port:OracleSettings' :: OracleSettings -> Maybe Int
port} -> Maybe Int
port) (\s :: OracleSettings
s@OracleSettings' {} Maybe Int
a -> OracleSettings
s {$sel:port:OracleSettings' :: Maybe Int
port = Maybe Int
a} :: OracleSettings)

instance Core.FromJSON OracleSettings where
  parseJSON :: Value -> Parser OracleSettings
parseJSON =
    String
-> (Object -> Parser OracleSettings)
-> Value
-> Parser OracleSettings
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"OracleSettings"
      ( \Object
x ->
          Maybe Bool
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe [Int]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe (Sensitive Text)
-> Maybe Bool
-> Maybe Bool
-> Maybe Int
-> Maybe (Sensitive Text)
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe CharLengthSemantics
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe (Sensitive Text)
-> Maybe Bool
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Int
-> OracleSettings
OracleSettings'
            (Maybe Bool
 -> Maybe Int
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe [Int]
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Int
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe (Sensitive Text)
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Int
 -> Maybe (Sensitive Text)
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe CharLengthSemantics
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Int
 -> Maybe (Sensitive Text)
 -> Maybe Bool
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Int
 -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe [Int]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UseBFile")
            Parser
  (Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe [Int]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe [Int]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"StandbyDelayTime")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe [Int]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe [Int]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"FailTasksOnLobTruncation")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe [Int]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe [Int]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServerName")
            Parser
  (Maybe Bool
   -> Maybe [Int]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe [Int]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DirectPathNoLog")
            Parser
  (Maybe [Int]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe [Int])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Parser (Maybe (Maybe [Int]))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ExtraArchivedLogDestIds"
                            Parser (Maybe (Maybe [Int])) -> Maybe [Int] -> Parser (Maybe [Int])
forall a. Parser (Maybe a) -> a -> Parser a
Core..!= Maybe [Int]
forall a. Monoid a => a
Prelude.mempty
                        )
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecurityDbEncryptionName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"OraclePathPrefix")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecretsManagerAccessRoleArn")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UseDirectPathFullLoad")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Username")
            Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AllowSelectNestedTables")
            Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadAheadBlocks")
            Parser
  (Maybe Int
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ArchivedLogDestId")
            Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReplacePathPrefix")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AccessAlternateDirectly")
            Parser
  (Maybe Text
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecretsManagerOracleAsmSecretId")
            Parser
  (Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe (Sensitive Text))
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Sensitive Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecurityDbEncryption")
            Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UseLogminerReader")
            Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ReadTableSpaceName")
            Parser
  (Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe (Sensitive Text)
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"RetryInterval")
            Parser
  (Maybe (Sensitive Text)
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe (Sensitive Text))
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Sensitive Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Password")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SpatialDataOptionToGeoJsonFunctionName")
            Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DatabaseName")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AddSupplementalLogging")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecretsManagerOracleAsmAccessRoleArn")
            Parser
  (Maybe Text
   -> Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe CharLengthSemantics
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AsmServer")
            Parser
  (Maybe CharLengthSemantics
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe CharLengthSemantics)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe CharLengthSemantics)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CharLengthSemantics")
            Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ArchivedLogsOnly")
            Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DirectPathParallelLoad")
            Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"SecretsManagerSecretId")
            Parser
  (Maybe Int
   -> Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe (Sensitive Text)
      -> Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AdditionalArchivedLogDestId")
            Parser
  (Maybe (Sensitive Text)
   -> Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe (Sensitive Text))
-> Parser
     (Maybe Bool
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe (Sensitive Text))
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AsmPassword")
            Parser
  (Maybe Bool
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"EnableHomogenousTablespace")
            Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Int
      -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ParallelAsmReadThreads")
            Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Int
   -> OracleSettings)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Bool -> Maybe Int -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"NumberDatatypeScale")
            Parser
  (Maybe Text
   -> Maybe Text -> Maybe Bool -> Maybe Int -> OracleSettings)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Bool -> Maybe Int -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UsePathPrefix")
            Parser (Maybe Text -> Maybe Bool -> Maybe Int -> OracleSettings)
-> Parser (Maybe Text)
-> Parser (Maybe Bool -> Maybe Int -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"AsmUser")
            Parser (Maybe Bool -> Maybe Int -> OracleSettings)
-> Parser (Maybe Bool) -> Parser (Maybe Int -> OracleSettings)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"UseAlternateFolderForOnline")
            Parser (Maybe Int -> OracleSettings)
-> Parser (Maybe Int) -> Parser OracleSettings
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Port")
      )

instance Prelude.Hashable OracleSettings

instance Prelude.NFData OracleSettings

instance Core.ToJSON OracleSettings where
  toJSON :: OracleSettings -> Value
toJSON OracleSettings' {Maybe Bool
Maybe Int
Maybe [Int]
Maybe Text
Maybe (Sensitive Text)
Maybe CharLengthSemantics
port :: Maybe Int
useAlternateFolderForOnline :: Maybe Bool
asmUser :: Maybe Text
usePathPrefix :: Maybe Text
numberDatatypeScale :: Maybe Int
parallelAsmReadThreads :: Maybe Int
enableHomogenousTablespace :: Maybe Bool
asmPassword :: Maybe (Sensitive Text)
additionalArchivedLogDestId :: Maybe Int
secretsManagerSecretId :: Maybe Text
directPathParallelLoad :: Maybe Bool
archivedLogsOnly :: Maybe Bool
charLengthSemantics :: Maybe CharLengthSemantics
asmServer :: Maybe Text
secretsManagerOracleAsmAccessRoleArn :: Maybe Text
addSupplementalLogging :: Maybe Bool
databaseName :: Maybe Text
spatialDataOptionToGeoJsonFunctionName :: Maybe Text
password :: Maybe (Sensitive Text)
retryInterval :: Maybe Int
readTableSpaceName :: Maybe Bool
useLogminerReader :: Maybe Bool
securityDbEncryption :: Maybe (Sensitive Text)
secretsManagerOracleAsmSecretId :: Maybe Text
accessAlternateDirectly :: Maybe Bool
replacePathPrefix :: Maybe Bool
archivedLogDestId :: Maybe Int
readAheadBlocks :: Maybe Int
allowSelectNestedTables :: Maybe Bool
username :: Maybe Text
useDirectPathFullLoad :: Maybe Bool
secretsManagerAccessRoleArn :: Maybe Text
oraclePathPrefix :: Maybe Text
securityDbEncryptionName :: Maybe Text
extraArchivedLogDestIds :: Maybe [Int]
directPathNoLog :: Maybe Bool
serverName :: Maybe Text
failTasksOnLobTruncation :: Maybe Bool
standbyDelayTime :: Maybe Int
useBFile :: Maybe Bool
$sel:port:OracleSettings' :: OracleSettings -> Maybe Int
$sel:useAlternateFolderForOnline:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:asmUser:OracleSettings' :: OracleSettings -> Maybe Text
$sel:usePathPrefix:OracleSettings' :: OracleSettings -> Maybe Text
$sel:numberDatatypeScale:OracleSettings' :: OracleSettings -> Maybe Int
$sel:parallelAsmReadThreads:OracleSettings' :: OracleSettings -> Maybe Int
$sel:enableHomogenousTablespace:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:asmPassword:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
$sel:additionalArchivedLogDestId:OracleSettings' :: OracleSettings -> Maybe Int
$sel:secretsManagerSecretId:OracleSettings' :: OracleSettings -> Maybe Text
$sel:directPathParallelLoad:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:archivedLogsOnly:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:charLengthSemantics:OracleSettings' :: OracleSettings -> Maybe CharLengthSemantics
$sel:asmServer:OracleSettings' :: OracleSettings -> Maybe Text
$sel:secretsManagerOracleAsmAccessRoleArn:OracleSettings' :: OracleSettings -> Maybe Text
$sel:addSupplementalLogging:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:databaseName:OracleSettings' :: OracleSettings -> Maybe Text
$sel:spatialDataOptionToGeoJsonFunctionName:OracleSettings' :: OracleSettings -> Maybe Text
$sel:password:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
$sel:retryInterval:OracleSettings' :: OracleSettings -> Maybe Int
$sel:readTableSpaceName:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:useLogminerReader:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:securityDbEncryption:OracleSettings' :: OracleSettings -> Maybe (Sensitive Text)
$sel:secretsManagerOracleAsmSecretId:OracleSettings' :: OracleSettings -> Maybe Text
$sel:accessAlternateDirectly:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:replacePathPrefix:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:archivedLogDestId:OracleSettings' :: OracleSettings -> Maybe Int
$sel:readAheadBlocks:OracleSettings' :: OracleSettings -> Maybe Int
$sel:allowSelectNestedTables:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:username:OracleSettings' :: OracleSettings -> Maybe Text
$sel:useDirectPathFullLoad:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:secretsManagerAccessRoleArn:OracleSettings' :: OracleSettings -> Maybe Text
$sel:oraclePathPrefix:OracleSettings' :: OracleSettings -> Maybe Text
$sel:securityDbEncryptionName:OracleSettings' :: OracleSettings -> Maybe Text
$sel:extraArchivedLogDestIds:OracleSettings' :: OracleSettings -> Maybe [Int]
$sel:directPathNoLog:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:serverName:OracleSettings' :: OracleSettings -> Maybe Text
$sel:failTasksOnLobTruncation:OracleSettings' :: OracleSettings -> Maybe Bool
$sel:standbyDelayTime:OracleSettings' :: OracleSettings -> Maybe Int
$sel:useBFile:OracleSettings' :: OracleSettings -> Maybe Bool
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"UseBFile" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
useBFile,
            (Text
"StandbyDelayTime" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
standbyDelayTime,
            (Text
"FailTasksOnLobTruncation" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
failTasksOnLobTruncation,
            (Text
"ServerName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serverName,
            (Text
"DirectPathNoLog" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
directPathNoLog,
            (Text
"ExtraArchivedLogDestIds" Text -> [Int] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Int] -> Pair) -> Maybe [Int] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Int]
extraArchivedLogDestIds,
            (Text
"SecurityDbEncryptionName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
securityDbEncryptionName,
            (Text
"OraclePathPrefix" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
oraclePathPrefix,
            (Text
"SecretsManagerAccessRoleArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
secretsManagerAccessRoleArn,
            (Text
"UseDirectPathFullLoad" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
useDirectPathFullLoad,
            (Text
"Username" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
username,
            (Text
"AllowSelectNestedTables" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
allowSelectNestedTables,
            (Text
"ReadAheadBlocks" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
readAheadBlocks,
            (Text
"ArchivedLogDestId" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
archivedLogDestId,
            (Text
"ReplacePathPrefix" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
replacePathPrefix,
            (Text
"AccessAlternateDirectly" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
accessAlternateDirectly,
            (Text
"SecretsManagerOracleAsmSecretId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
secretsManagerOracleAsmSecretId,
            (Text
"SecurityDbEncryption" Text -> Sensitive Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Sensitive Text -> Pair) -> Maybe (Sensitive Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
securityDbEncryption,
            (Text
"UseLogminerReader" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
useLogminerReader,
            (Text
"ReadTableSpaceName" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
readTableSpaceName,
            (Text
"RetryInterval" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
retryInterval,
            (Text
"Password" Text -> Sensitive Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Sensitive Text -> Pair) -> Maybe (Sensitive Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
password,
            (Text
"SpatialDataOptionToGeoJsonFunctionName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
spatialDataOptionToGeoJsonFunctionName,
            (Text
"DatabaseName" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
databaseName,
            (Text
"AddSupplementalLogging" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
addSupplementalLogging,
            (Text
"SecretsManagerOracleAsmAccessRoleArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
secretsManagerOracleAsmAccessRoleArn,
            (Text
"AsmServer" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
asmServer,
            (Text
"CharLengthSemantics" Text -> CharLengthSemantics -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (CharLengthSemantics -> Pair)
-> Maybe CharLengthSemantics -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe CharLengthSemantics
charLengthSemantics,
            (Text
"ArchivedLogsOnly" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
archivedLogsOnly,
            (Text
"DirectPathParallelLoad" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
directPathParallelLoad,
            (Text
"SecretsManagerSecretId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
secretsManagerSecretId,
            (Text
"AdditionalArchivedLogDestId" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
additionalArchivedLogDestId,
            (Text
"AsmPassword" Text -> Sensitive Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Sensitive Text -> Pair) -> Maybe (Sensitive Text) -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
asmPassword,
            (Text
"EnableHomogenousTablespace" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
enableHomogenousTablespace,
            (Text
"ParallelAsmReadThreads" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
parallelAsmReadThreads,
            (Text
"NumberDatatypeScale" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
numberDatatypeScale,
            (Text
"UsePathPrefix" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
usePathPrefix,
            (Text
"AsmUser" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
asmUser,
            (Text
"UseAlternateFolderForOnline" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
useAlternateFolderForOnline,
            (Text
"Port" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Int -> Pair) -> Maybe Int -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
port
          ]
      )