{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# 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.ModifyEndpoint
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies the specified endpoint.
--
-- For a MySQL source or target endpoint, don\'t explicitly specify the
-- database using the @DatabaseName@ request parameter on the
-- @ModifyEndpoint@ API call. Specifying @DatabaseName@ when you modify a
-- MySQL endpoint replicates all the task tables to this single database.
-- For MySQL endpoints, you specify the database only when you specify the
-- schema in the table-mapping rules of the DMS task.
module Amazonka.DMS.ModifyEndpoint
  ( -- * Creating a Request
    ModifyEndpoint (..),
    newModifyEndpoint,

    -- * Request Lenses
    modifyEndpoint_certificateArn,
    modifyEndpoint_databaseName,
    modifyEndpoint_dmsTransferSettings,
    modifyEndpoint_docDbSettings,
    modifyEndpoint_dynamoDbSettings,
    modifyEndpoint_elasticsearchSettings,
    modifyEndpoint_endpointIdentifier,
    modifyEndpoint_endpointType,
    modifyEndpoint_engineName,
    modifyEndpoint_exactSettings,
    modifyEndpoint_externalTableDefinition,
    modifyEndpoint_extraConnectionAttributes,
    modifyEndpoint_gcpMySQLSettings,
    modifyEndpoint_iBMDb2Settings,
    modifyEndpoint_kafkaSettings,
    modifyEndpoint_kinesisSettings,
    modifyEndpoint_microsoftSQLServerSettings,
    modifyEndpoint_mongoDbSettings,
    modifyEndpoint_mySQLSettings,
    modifyEndpoint_neptuneSettings,
    modifyEndpoint_oracleSettings,
    modifyEndpoint_password,
    modifyEndpoint_port,
    modifyEndpoint_postgreSQLSettings,
    modifyEndpoint_redisSettings,
    modifyEndpoint_redshiftSettings,
    modifyEndpoint_s3Settings,
    modifyEndpoint_serverName,
    modifyEndpoint_serviceAccessRoleArn,
    modifyEndpoint_sslMode,
    modifyEndpoint_sybaseSettings,
    modifyEndpoint_username,
    modifyEndpoint_endpointArn,

    -- * Destructuring the Response
    ModifyEndpointResponse (..),
    newModifyEndpointResponse,

    -- * Response Lenses
    modifyEndpointResponse_endpoint,
    modifyEndpointResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.DMS.Types
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- |
--
-- /See:/ 'newModifyEndpoint' smart constructor.
data ModifyEndpoint = ModifyEndpoint'
  { -- | The Amazon Resource Name (ARN) of the certificate used for SSL
    -- connection.
    ModifyEndpoint -> Maybe Text
certificateArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the endpoint database. For a MySQL source or target
    -- endpoint, do not specify DatabaseName.
    ModifyEndpoint -> Maybe Text
databaseName :: Prelude.Maybe Prelude.Text,
    -- | The settings in JSON format for the DMS transfer type of source
    -- endpoint.
    --
    -- Attributes include the following:
    --
    -- -   serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the
    --     service access IAM role. The role must allow the @iam:PassRole@
    --     action.
    --
    -- -   BucketName - The name of the S3 bucket to use.
    --
    -- Shorthand syntax for these settings is as follows:
    -- @ServiceAccessRoleArn=string ,BucketName=string@
    --
    -- JSON syntax for these settings is as follows:
    -- @{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\"} @
    ModifyEndpoint -> Maybe DmsTransferSettings
dmsTransferSettings :: Prelude.Maybe DmsTransferSettings,
    -- | Settings in JSON format for the source DocumentDB endpoint. For more
    -- information about the available settings, see the configuration
    -- properties section in
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html Using DocumentDB as a Target for Database Migration Service>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe DocDbSettings
docDbSettings :: Prelude.Maybe DocDbSettings,
    -- | Settings in JSON format for the target Amazon DynamoDB endpoint. For
    -- information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping Using Object Mapping to Migrate Data to DynamoDB>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe DynamoDbSettings
dynamoDbSettings :: Prelude.Maybe DynamoDbSettings,
    -- | Settings in JSON format for the target OpenSearch endpoint. For more
    -- information about the available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration Extra Connection Attributes When Using OpenSearch as a Target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe ElasticsearchSettings
elasticsearchSettings :: Prelude.Maybe ElasticsearchSettings,
    -- | The database endpoint identifier. Identifiers must begin with a letter
    -- and must contain only ASCII letters, digits, and hyphens. They can\'t
    -- end with a hyphen or contain two consecutive hyphens.
    ModifyEndpoint -> Maybe Text
endpointIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The type of endpoint. Valid values are @source@ and @target@.
    ModifyEndpoint -> Maybe ReplicationEndpointTypeValue
endpointType :: Prelude.Maybe ReplicationEndpointTypeValue,
    -- | The database engine name. Valid values, depending on the EndpointType,
    -- include @\"mysql\"@, @\"oracle\"@, @\"postgres\"@, @\"mariadb\"@,
    -- @\"aurora\"@, @\"aurora-postgresql\"@, @\"redshift\"@, @\"s3\"@,
    -- @\"db2\"@, @\"db2-zos\"@, @\"azuredb\"@, @\"sybase\"@, @\"dynamodb\"@,
    -- @\"mongodb\"@, @\"kinesis\"@, @\"kafka\"@, @\"elasticsearch\"@,
    -- @\"documentdb\"@, @\"sqlserver\"@, @\"neptune\"@, and @\"babelfish\"@.
    ModifyEndpoint -> Maybe Text
engineName :: Prelude.Maybe Prelude.Text,
    -- | If this attribute is Y, the current call to @ModifyEndpoint@ replaces
    -- all existing endpoint settings with the exact settings that you specify
    -- in this call. If this attribute is N, the current call to
    -- @ModifyEndpoint@ does two things:
    --
    -- -   It replaces any endpoint settings that already exist with new
    --     values, for settings with the same names.
    --
    -- -   It creates new endpoint settings that you specify in the call, for
    --     settings with different names.
    --
    -- For example, if you call
    -- @create-endpoint ... --endpoint-settings \'{\"a\":1}\' ...@, the
    -- endpoint has the following endpoint settings: @\'{\"a\":1}\'@. If you
    -- then call @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' ...@
    -- for the same endpoint, the endpoint has the following settings:
    -- @\'{\"a\":1,\"b\":2}\'@.
    --
    -- However, suppose that you follow this with a call to
    -- @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' --exact-settings ...@
    -- for that same endpoint again. Then the endpoint has the following
    -- settings: @\'{\"b\":2}\'@. All existing settings are replaced with the
    -- exact settings that you specify.
    ModifyEndpoint -> Maybe Bool
exactSettings :: Prelude.Maybe Prelude.Bool,
    -- | The external table definition.
    ModifyEndpoint -> Maybe Text
externalTableDefinition :: Prelude.Maybe Prelude.Text,
    -- | Additional attributes associated with the connection. To reset this
    -- parameter, pass the empty string (\"\") as an argument.
    ModifyEndpoint -> Maybe Text
extraConnectionAttributes :: Prelude.Maybe Prelude.Text,
    -- | Settings in JSON format for the source GCP MySQL endpoint.
    ModifyEndpoint -> Maybe GcpMySQLSettings
gcpMySQLSettings :: Prelude.Maybe GcpMySQLSettings,
    -- | Settings in JSON format for the source IBM Db2 LUW endpoint. For
    -- information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib Extra connection attributes when using Db2 LUW as a source for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe IBMDb2Settings
iBMDb2Settings :: Prelude.Maybe IBMDb2Settings,
    -- | Settings in JSON format for the target Apache Kafka endpoint. For more
    -- information about the available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping Using object mapping to migrate data to a Kafka topic>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe KafkaSettings
kafkaSettings :: Prelude.Maybe KafkaSettings,
    -- | Settings in JSON format for the target endpoint for Amazon Kinesis Data
    -- Streams. For more information about the available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping Using object mapping to migrate data to a Kinesis data stream>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe KinesisSettings
kinesisSettings :: Prelude.Maybe KinesisSettings,
    -- | Settings in JSON format for the source and target Microsoft SQL Server
    -- endpoint. For information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a source for DMS>
    -- and
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings :: Prelude.Maybe MicrosoftSQLServerSettings,
    -- | Settings in JSON format for the source MongoDB endpoint. For more
    -- information about the available settings, see the configuration
    -- properties section in
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration Endpoint configuration settings when using MongoDB as a source for Database Migration Service>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe MongoDbSettings
mongoDbSettings :: Prelude.Maybe MongoDbSettings,
    -- | Settings in JSON format for the source and target MySQL endpoint. For
    -- information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib Extra connection attributes when using MySQL as a source for DMS>
    -- and
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib Extra connection attributes when using a MySQL-compatible database as a target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe MySQLSettings
mySQLSettings :: Prelude.Maybe MySQLSettings,
    -- | Settings in JSON format for the target Amazon Neptune endpoint. For more
    -- information about the available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe NeptuneSettings
neptuneSettings :: Prelude.Maybe NeptuneSettings,
    -- | Settings in JSON format for the source and target Oracle endpoint. For
    -- information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a source for DMS>
    -- and
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe OracleSettings
oracleSettings :: Prelude.Maybe OracleSettings,
    -- | The password to be used to login to the endpoint database.
    ModifyEndpoint -> Maybe (Sensitive Text)
password :: Prelude.Maybe (Data.Sensitive Prelude.Text),
    -- | The port used by the endpoint database.
    ModifyEndpoint -> Maybe Int
port :: Prelude.Maybe Prelude.Int,
    -- | Settings in JSON format for the source and target PostgreSQL endpoint.
    -- For information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a source for DMS>
    -- and
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe PostgreSQLSettings
postgreSQLSettings :: Prelude.Maybe PostgreSQLSettings,
    -- | Settings in JSON format for the Redis target endpoint.
    ModifyEndpoint -> Maybe RedisSettings
redisSettings :: Prelude.Maybe RedisSettings,
    ModifyEndpoint -> Maybe RedshiftSettings
redshiftSettings :: Prelude.Maybe RedshiftSettings,
    -- | Settings in JSON format for the target Amazon S3 endpoint. For more
    -- information about the available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring Extra Connection Attributes When Using Amazon S3 as a Target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe S3Settings
s3Settings :: Prelude.Maybe S3Settings,
    -- | The name of the server where the endpoint database resides.
    ModifyEndpoint -> Maybe Text
serverName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) for the IAM role you want to use to
    -- modify the endpoint. The role must allow the @iam:PassRole@ action.
    ModifyEndpoint -> Maybe Text
serviceAccessRoleArn :: Prelude.Maybe Prelude.Text,
    -- | The SSL mode used to connect to the endpoint. The default value is
    -- @none@.
    ModifyEndpoint -> Maybe DmsSslModeValue
sslMode :: Prelude.Maybe DmsSslModeValue,
    -- | Settings in JSON format for the source and target SAP ASE endpoint. For
    -- information about other available settings, see
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a source for DMS>
    -- and
    -- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a target for DMS>
    -- in the /Database Migration Service User Guide./
    ModifyEndpoint -> Maybe SybaseSettings
sybaseSettings :: Prelude.Maybe SybaseSettings,
    -- | The user name to be used to login to the endpoint database.
    ModifyEndpoint -> Maybe Text
username :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) string that uniquely identifies the
    -- endpoint.
    ModifyEndpoint -> Text
endpointArn :: Prelude.Text
  }
  deriving (ModifyEndpoint -> ModifyEndpoint -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyEndpoint -> ModifyEndpoint -> Bool
$c/= :: ModifyEndpoint -> ModifyEndpoint -> Bool
== :: ModifyEndpoint -> ModifyEndpoint -> Bool
$c== :: ModifyEndpoint -> ModifyEndpoint -> Bool
Prelude.Eq, Int -> ModifyEndpoint -> ShowS
[ModifyEndpoint] -> ShowS
ModifyEndpoint -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyEndpoint] -> ShowS
$cshowList :: [ModifyEndpoint] -> ShowS
show :: ModifyEndpoint -> String
$cshow :: ModifyEndpoint -> String
showsPrec :: Int -> ModifyEndpoint -> ShowS
$cshowsPrec :: Int -> ModifyEndpoint -> ShowS
Prelude.Show, forall x. Rep ModifyEndpoint x -> ModifyEndpoint
forall x. ModifyEndpoint -> Rep ModifyEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyEndpoint x -> ModifyEndpoint
$cfrom :: forall x. ModifyEndpoint -> Rep ModifyEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'ModifyEndpoint' 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:
--
-- 'certificateArn', 'modifyEndpoint_certificateArn' - The Amazon Resource Name (ARN) of the certificate used for SSL
-- connection.
--
-- 'databaseName', 'modifyEndpoint_databaseName' - The name of the endpoint database. For a MySQL source or target
-- endpoint, do not specify DatabaseName.
--
-- 'dmsTransferSettings', 'modifyEndpoint_dmsTransferSettings' - The settings in JSON format for the DMS transfer type of source
-- endpoint.
--
-- Attributes include the following:
--
-- -   serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the
--     service access IAM role. The role must allow the @iam:PassRole@
--     action.
--
-- -   BucketName - The name of the S3 bucket to use.
--
-- Shorthand syntax for these settings is as follows:
-- @ServiceAccessRoleArn=string ,BucketName=string@
--
-- JSON syntax for these settings is as follows:
-- @{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\"} @
--
-- 'docDbSettings', 'modifyEndpoint_docDbSettings' - Settings in JSON format for the source DocumentDB endpoint. For more
-- information about the available settings, see the configuration
-- properties section in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html Using DocumentDB as a Target for Database Migration Service>
-- in the /Database Migration Service User Guide./
--
-- 'dynamoDbSettings', 'modifyEndpoint_dynamoDbSettings' - Settings in JSON format for the target Amazon DynamoDB endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping Using Object Mapping to Migrate Data to DynamoDB>
-- in the /Database Migration Service User Guide./
--
-- 'elasticsearchSettings', 'modifyEndpoint_elasticsearchSettings' - Settings in JSON format for the target OpenSearch endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration Extra Connection Attributes When Using OpenSearch as a Target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'endpointIdentifier', 'modifyEndpoint_endpointIdentifier' - The database endpoint identifier. Identifiers must begin with a letter
-- and must contain only ASCII letters, digits, and hyphens. They can\'t
-- end with a hyphen or contain two consecutive hyphens.
--
-- 'endpointType', 'modifyEndpoint_endpointType' - The type of endpoint. Valid values are @source@ and @target@.
--
-- 'engineName', 'modifyEndpoint_engineName' - The database engine name. Valid values, depending on the EndpointType,
-- include @\"mysql\"@, @\"oracle\"@, @\"postgres\"@, @\"mariadb\"@,
-- @\"aurora\"@, @\"aurora-postgresql\"@, @\"redshift\"@, @\"s3\"@,
-- @\"db2\"@, @\"db2-zos\"@, @\"azuredb\"@, @\"sybase\"@, @\"dynamodb\"@,
-- @\"mongodb\"@, @\"kinesis\"@, @\"kafka\"@, @\"elasticsearch\"@,
-- @\"documentdb\"@, @\"sqlserver\"@, @\"neptune\"@, and @\"babelfish\"@.
--
-- 'exactSettings', 'modifyEndpoint_exactSettings' - If this attribute is Y, the current call to @ModifyEndpoint@ replaces
-- all existing endpoint settings with the exact settings that you specify
-- in this call. If this attribute is N, the current call to
-- @ModifyEndpoint@ does two things:
--
-- -   It replaces any endpoint settings that already exist with new
--     values, for settings with the same names.
--
-- -   It creates new endpoint settings that you specify in the call, for
--     settings with different names.
--
-- For example, if you call
-- @create-endpoint ... --endpoint-settings \'{\"a\":1}\' ...@, the
-- endpoint has the following endpoint settings: @\'{\"a\":1}\'@. If you
-- then call @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' ...@
-- for the same endpoint, the endpoint has the following settings:
-- @\'{\"a\":1,\"b\":2}\'@.
--
-- However, suppose that you follow this with a call to
-- @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' --exact-settings ...@
-- for that same endpoint again. Then the endpoint has the following
-- settings: @\'{\"b\":2}\'@. All existing settings are replaced with the
-- exact settings that you specify.
--
-- 'externalTableDefinition', 'modifyEndpoint_externalTableDefinition' - The external table definition.
--
-- 'extraConnectionAttributes', 'modifyEndpoint_extraConnectionAttributes' - Additional attributes associated with the connection. To reset this
-- parameter, pass the empty string (\"\") as an argument.
--
-- 'gcpMySQLSettings', 'modifyEndpoint_gcpMySQLSettings' - Settings in JSON format for the source GCP MySQL endpoint.
--
-- 'iBMDb2Settings', 'modifyEndpoint_iBMDb2Settings' - Settings in JSON format for the source IBM Db2 LUW endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib Extra connection attributes when using Db2 LUW as a source for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'kafkaSettings', 'modifyEndpoint_kafkaSettings' - Settings in JSON format for the target Apache Kafka endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping Using object mapping to migrate data to a Kafka topic>
-- in the /Database Migration Service User Guide./
--
-- 'kinesisSettings', 'modifyEndpoint_kinesisSettings' - Settings in JSON format for the target endpoint for Amazon Kinesis Data
-- Streams. For more information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping Using object mapping to migrate data to a Kinesis data stream>
-- in the /Database Migration Service User Guide./
--
-- 'microsoftSQLServerSettings', 'modifyEndpoint_microsoftSQLServerSettings' - Settings in JSON format for the source and target Microsoft SQL Server
-- endpoint. For information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'mongoDbSettings', 'modifyEndpoint_mongoDbSettings' - Settings in JSON format for the source MongoDB endpoint. For more
-- information about the available settings, see the configuration
-- properties section in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration Endpoint configuration settings when using MongoDB as a source for Database Migration Service>
-- in the /Database Migration Service User Guide./
--
-- 'mySQLSettings', 'modifyEndpoint_mySQLSettings' - Settings in JSON format for the source and target MySQL endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib Extra connection attributes when using MySQL as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib Extra connection attributes when using a MySQL-compatible database as a target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'neptuneSettings', 'modifyEndpoint_neptuneSettings' - Settings in JSON format for the target Amazon Neptune endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target>
-- in the /Database Migration Service User Guide./
--
-- 'oracleSettings', 'modifyEndpoint_oracleSettings' - Settings in JSON format for the source and target Oracle endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'password', 'modifyEndpoint_password' - The password to be used to login to the endpoint database.
--
-- 'port', 'modifyEndpoint_port' - The port used by the endpoint database.
--
-- 'postgreSQLSettings', 'modifyEndpoint_postgreSQLSettings' - Settings in JSON format for the source and target PostgreSQL endpoint.
-- For information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'redisSettings', 'modifyEndpoint_redisSettings' - Settings in JSON format for the Redis target endpoint.
--
-- 'redshiftSettings', 'modifyEndpoint_redshiftSettings' - Undocumented member.
--
-- 's3Settings', 'modifyEndpoint_s3Settings' - Settings in JSON format for the target Amazon S3 endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring Extra Connection Attributes When Using Amazon S3 as a Target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'serverName', 'modifyEndpoint_serverName' - The name of the server where the endpoint database resides.
--
-- 'serviceAccessRoleArn', 'modifyEndpoint_serviceAccessRoleArn' - The Amazon Resource Name (ARN) for the IAM role you want to use to
-- modify the endpoint. The role must allow the @iam:PassRole@ action.
--
-- 'sslMode', 'modifyEndpoint_sslMode' - The SSL mode used to connect to the endpoint. The default value is
-- @none@.
--
-- 'sybaseSettings', 'modifyEndpoint_sybaseSettings' - Settings in JSON format for the source and target SAP ASE endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a target for DMS>
-- in the /Database Migration Service User Guide./
--
-- 'username', 'modifyEndpoint_username' - The user name to be used to login to the endpoint database.
--
-- 'endpointArn', 'modifyEndpoint_endpointArn' - The Amazon Resource Name (ARN) string that uniquely identifies the
-- endpoint.
newModifyEndpoint ::
  -- | 'endpointArn'
  Prelude.Text ->
  ModifyEndpoint
newModifyEndpoint :: Text -> ModifyEndpoint
newModifyEndpoint Text
pEndpointArn_ =
  ModifyEndpoint'
    { $sel:certificateArn:ModifyEndpoint' :: Maybe Text
certificateArn = forall a. Maybe a
Prelude.Nothing,
      $sel:databaseName:ModifyEndpoint' :: Maybe Text
databaseName = forall a. Maybe a
Prelude.Nothing,
      $sel:dmsTransferSettings:ModifyEndpoint' :: Maybe DmsTransferSettings
dmsTransferSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:docDbSettings:ModifyEndpoint' :: Maybe DocDbSettings
docDbSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:dynamoDbSettings:ModifyEndpoint' :: Maybe DynamoDbSettings
dynamoDbSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:elasticsearchSettings:ModifyEndpoint' :: Maybe ElasticsearchSettings
elasticsearchSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:endpointIdentifier:ModifyEndpoint' :: Maybe Text
endpointIdentifier = forall a. Maybe a
Prelude.Nothing,
      $sel:endpointType:ModifyEndpoint' :: Maybe ReplicationEndpointTypeValue
endpointType = forall a. Maybe a
Prelude.Nothing,
      $sel:engineName:ModifyEndpoint' :: Maybe Text
engineName = forall a. Maybe a
Prelude.Nothing,
      $sel:exactSettings:ModifyEndpoint' :: Maybe Bool
exactSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:externalTableDefinition:ModifyEndpoint' :: Maybe Text
externalTableDefinition = forall a. Maybe a
Prelude.Nothing,
      $sel:extraConnectionAttributes:ModifyEndpoint' :: Maybe Text
extraConnectionAttributes = forall a. Maybe a
Prelude.Nothing,
      $sel:gcpMySQLSettings:ModifyEndpoint' :: Maybe GcpMySQLSettings
gcpMySQLSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:iBMDb2Settings:ModifyEndpoint' :: Maybe IBMDb2Settings
iBMDb2Settings = forall a. Maybe a
Prelude.Nothing,
      $sel:kafkaSettings:ModifyEndpoint' :: Maybe KafkaSettings
kafkaSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:kinesisSettings:ModifyEndpoint' :: Maybe KinesisSettings
kinesisSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:microsoftSQLServerSettings:ModifyEndpoint' :: Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:mongoDbSettings:ModifyEndpoint' :: Maybe MongoDbSettings
mongoDbSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:mySQLSettings:ModifyEndpoint' :: Maybe MySQLSettings
mySQLSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:neptuneSettings:ModifyEndpoint' :: Maybe NeptuneSettings
neptuneSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:oracleSettings:ModifyEndpoint' :: Maybe OracleSettings
oracleSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:password:ModifyEndpoint' :: Maybe (Sensitive Text)
password = forall a. Maybe a
Prelude.Nothing,
      $sel:port:ModifyEndpoint' :: Maybe Int
port = forall a. Maybe a
Prelude.Nothing,
      $sel:postgreSQLSettings:ModifyEndpoint' :: Maybe PostgreSQLSettings
postgreSQLSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:redisSettings:ModifyEndpoint' :: Maybe RedisSettings
redisSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:redshiftSettings:ModifyEndpoint' :: Maybe RedshiftSettings
redshiftSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:s3Settings:ModifyEndpoint' :: Maybe S3Settings
s3Settings = forall a. Maybe a
Prelude.Nothing,
      $sel:serverName:ModifyEndpoint' :: Maybe Text
serverName = forall a. Maybe a
Prelude.Nothing,
      $sel:serviceAccessRoleArn:ModifyEndpoint' :: Maybe Text
serviceAccessRoleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:sslMode:ModifyEndpoint' :: Maybe DmsSslModeValue
sslMode = forall a. Maybe a
Prelude.Nothing,
      $sel:sybaseSettings:ModifyEndpoint' :: Maybe SybaseSettings
sybaseSettings = forall a. Maybe a
Prelude.Nothing,
      $sel:username:ModifyEndpoint' :: Maybe Text
username = forall a. Maybe a
Prelude.Nothing,
      $sel:endpointArn:ModifyEndpoint' :: Text
endpointArn = Text
pEndpointArn_
    }

-- | The Amazon Resource Name (ARN) of the certificate used for SSL
-- connection.
modifyEndpoint_certificateArn :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_certificateArn :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_certificateArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
certificateArn :: Maybe Text
$sel:certificateArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
certificateArn} -> Maybe Text
certificateArn) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:certificateArn:ModifyEndpoint' :: Maybe Text
certificateArn = Maybe Text
a} :: ModifyEndpoint)

-- | The name of the endpoint database. For a MySQL source or target
-- endpoint, do not specify DatabaseName.
modifyEndpoint_databaseName :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_databaseName :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_databaseName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
databaseName :: Maybe Text
$sel:databaseName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
databaseName} -> Maybe Text
databaseName) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:databaseName:ModifyEndpoint' :: Maybe Text
databaseName = Maybe Text
a} :: ModifyEndpoint)

-- | The settings in JSON format for the DMS transfer type of source
-- endpoint.
--
-- Attributes include the following:
--
-- -   serviceAccessRoleArn - The Amazon Resource Name (ARN) used by the
--     service access IAM role. The role must allow the @iam:PassRole@
--     action.
--
-- -   BucketName - The name of the S3 bucket to use.
--
-- Shorthand syntax for these settings is as follows:
-- @ServiceAccessRoleArn=string ,BucketName=string@
--
-- JSON syntax for these settings is as follows:
-- @{ \"ServiceAccessRoleArn\": \"string\", \"BucketName\": \"string\"} @
modifyEndpoint_dmsTransferSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe DmsTransferSettings)
modifyEndpoint_dmsTransferSettings :: Lens' ModifyEndpoint (Maybe DmsTransferSettings)
modifyEndpoint_dmsTransferSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe DmsTransferSettings
dmsTransferSettings :: Maybe DmsTransferSettings
$sel:dmsTransferSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsTransferSettings
dmsTransferSettings} -> Maybe DmsTransferSettings
dmsTransferSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe DmsTransferSettings
a -> ModifyEndpoint
s {$sel:dmsTransferSettings:ModifyEndpoint' :: Maybe DmsTransferSettings
dmsTransferSettings = Maybe DmsTransferSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source DocumentDB endpoint. For more
-- information about the available settings, see the configuration
-- properties section in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DocumentDB.html Using DocumentDB as a Target for Database Migration Service>
-- in the /Database Migration Service User Guide./
modifyEndpoint_docDbSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe DocDbSettings)
modifyEndpoint_docDbSettings :: Lens' ModifyEndpoint (Maybe DocDbSettings)
modifyEndpoint_docDbSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe DocDbSettings
docDbSettings :: Maybe DocDbSettings
$sel:docDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DocDbSettings
docDbSettings} -> Maybe DocDbSettings
docDbSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe DocDbSettings
a -> ModifyEndpoint
s {$sel:docDbSettings:ModifyEndpoint' :: Maybe DocDbSettings
docDbSettings = Maybe DocDbSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target Amazon DynamoDB endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html#CHAP_Target.DynamoDB.ObjectMapping Using Object Mapping to Migrate Data to DynamoDB>
-- in the /Database Migration Service User Guide./
modifyEndpoint_dynamoDbSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe DynamoDbSettings)
modifyEndpoint_dynamoDbSettings :: Lens' ModifyEndpoint (Maybe DynamoDbSettings)
modifyEndpoint_dynamoDbSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe DynamoDbSettings
dynamoDbSettings :: Maybe DynamoDbSettings
$sel:dynamoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DynamoDbSettings
dynamoDbSettings} -> Maybe DynamoDbSettings
dynamoDbSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe DynamoDbSettings
a -> ModifyEndpoint
s {$sel:dynamoDbSettings:ModifyEndpoint' :: Maybe DynamoDbSettings
dynamoDbSettings = Maybe DynamoDbSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target OpenSearch endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Elasticsearch.html#CHAP_Target.Elasticsearch.Configuration Extra Connection Attributes When Using OpenSearch as a Target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_elasticsearchSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe ElasticsearchSettings)
modifyEndpoint_elasticsearchSettings :: Lens' ModifyEndpoint (Maybe ElasticsearchSettings)
modifyEndpoint_elasticsearchSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe ElasticsearchSettings
elasticsearchSettings :: Maybe ElasticsearchSettings
$sel:elasticsearchSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe ElasticsearchSettings
elasticsearchSettings} -> Maybe ElasticsearchSettings
elasticsearchSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe ElasticsearchSettings
a -> ModifyEndpoint
s {$sel:elasticsearchSettings:ModifyEndpoint' :: Maybe ElasticsearchSettings
elasticsearchSettings = Maybe ElasticsearchSettings
a} :: ModifyEndpoint)

-- | The database endpoint identifier. Identifiers must begin with a letter
-- and must contain only ASCII letters, digits, and hyphens. They can\'t
-- end with a hyphen or contain two consecutive hyphens.
modifyEndpoint_endpointIdentifier :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_endpointIdentifier :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_endpointIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
endpointIdentifier :: Maybe Text
$sel:endpointIdentifier:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
endpointIdentifier} -> Maybe Text
endpointIdentifier) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:endpointIdentifier:ModifyEndpoint' :: Maybe Text
endpointIdentifier = Maybe Text
a} :: ModifyEndpoint)

-- | The type of endpoint. Valid values are @source@ and @target@.
modifyEndpoint_endpointType :: Lens.Lens' ModifyEndpoint (Prelude.Maybe ReplicationEndpointTypeValue)
modifyEndpoint_endpointType :: Lens' ModifyEndpoint (Maybe ReplicationEndpointTypeValue)
modifyEndpoint_endpointType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe ReplicationEndpointTypeValue
endpointType :: Maybe ReplicationEndpointTypeValue
$sel:endpointType:ModifyEndpoint' :: ModifyEndpoint -> Maybe ReplicationEndpointTypeValue
endpointType} -> Maybe ReplicationEndpointTypeValue
endpointType) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe ReplicationEndpointTypeValue
a -> ModifyEndpoint
s {$sel:endpointType:ModifyEndpoint' :: Maybe ReplicationEndpointTypeValue
endpointType = Maybe ReplicationEndpointTypeValue
a} :: ModifyEndpoint)

-- | The database engine name. Valid values, depending on the EndpointType,
-- include @\"mysql\"@, @\"oracle\"@, @\"postgres\"@, @\"mariadb\"@,
-- @\"aurora\"@, @\"aurora-postgresql\"@, @\"redshift\"@, @\"s3\"@,
-- @\"db2\"@, @\"db2-zos\"@, @\"azuredb\"@, @\"sybase\"@, @\"dynamodb\"@,
-- @\"mongodb\"@, @\"kinesis\"@, @\"kafka\"@, @\"elasticsearch\"@,
-- @\"documentdb\"@, @\"sqlserver\"@, @\"neptune\"@, and @\"babelfish\"@.
modifyEndpoint_engineName :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_engineName :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_engineName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
engineName :: Maybe Text
$sel:engineName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
engineName} -> Maybe Text
engineName) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:engineName:ModifyEndpoint' :: Maybe Text
engineName = Maybe Text
a} :: ModifyEndpoint)

-- | If this attribute is Y, the current call to @ModifyEndpoint@ replaces
-- all existing endpoint settings with the exact settings that you specify
-- in this call. If this attribute is N, the current call to
-- @ModifyEndpoint@ does two things:
--
-- -   It replaces any endpoint settings that already exist with new
--     values, for settings with the same names.
--
-- -   It creates new endpoint settings that you specify in the call, for
--     settings with different names.
--
-- For example, if you call
-- @create-endpoint ... --endpoint-settings \'{\"a\":1}\' ...@, the
-- endpoint has the following endpoint settings: @\'{\"a\":1}\'@. If you
-- then call @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' ...@
-- for the same endpoint, the endpoint has the following settings:
-- @\'{\"a\":1,\"b\":2}\'@.
--
-- However, suppose that you follow this with a call to
-- @modify-endpoint ... --endpoint-settings \'{\"b\":2}\' --exact-settings ...@
-- for that same endpoint again. Then the endpoint has the following
-- settings: @\'{\"b\":2}\'@. All existing settings are replaced with the
-- exact settings that you specify.
modifyEndpoint_exactSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Bool)
modifyEndpoint_exactSettings :: Lens' ModifyEndpoint (Maybe Bool)
modifyEndpoint_exactSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Bool
exactSettings :: Maybe Bool
$sel:exactSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe Bool
exactSettings} -> Maybe Bool
exactSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Bool
a -> ModifyEndpoint
s {$sel:exactSettings:ModifyEndpoint' :: Maybe Bool
exactSettings = Maybe Bool
a} :: ModifyEndpoint)

-- | The external table definition.
modifyEndpoint_externalTableDefinition :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_externalTableDefinition :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_externalTableDefinition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
externalTableDefinition :: Maybe Text
$sel:externalTableDefinition:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
externalTableDefinition} -> Maybe Text
externalTableDefinition) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:externalTableDefinition:ModifyEndpoint' :: Maybe Text
externalTableDefinition = Maybe Text
a} :: ModifyEndpoint)

-- | Additional attributes associated with the connection. To reset this
-- parameter, pass the empty string (\"\") as an argument.
modifyEndpoint_extraConnectionAttributes :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_extraConnectionAttributes :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_extraConnectionAttributes = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
extraConnectionAttributes :: Maybe Text
$sel:extraConnectionAttributes:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
extraConnectionAttributes} -> Maybe Text
extraConnectionAttributes) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:extraConnectionAttributes:ModifyEndpoint' :: Maybe Text
extraConnectionAttributes = Maybe Text
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source GCP MySQL endpoint.
modifyEndpoint_gcpMySQLSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe GcpMySQLSettings)
modifyEndpoint_gcpMySQLSettings :: Lens' ModifyEndpoint (Maybe GcpMySQLSettings)
modifyEndpoint_gcpMySQLSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe GcpMySQLSettings
gcpMySQLSettings :: Maybe GcpMySQLSettings
$sel:gcpMySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe GcpMySQLSettings
gcpMySQLSettings} -> Maybe GcpMySQLSettings
gcpMySQLSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe GcpMySQLSettings
a -> ModifyEndpoint
s {$sel:gcpMySQLSettings:ModifyEndpoint' :: Maybe GcpMySQLSettings
gcpMySQLSettings = Maybe GcpMySQLSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source IBM Db2 LUW endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.DB2.html#CHAP_Source.DB2.ConnectionAttrib Extra connection attributes when using Db2 LUW as a source for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_iBMDb2Settings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe IBMDb2Settings)
modifyEndpoint_iBMDb2Settings :: Lens' ModifyEndpoint (Maybe IBMDb2Settings)
modifyEndpoint_iBMDb2Settings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe IBMDb2Settings
iBMDb2Settings :: Maybe IBMDb2Settings
$sel:iBMDb2Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe IBMDb2Settings
iBMDb2Settings} -> Maybe IBMDb2Settings
iBMDb2Settings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe IBMDb2Settings
a -> ModifyEndpoint
s {$sel:iBMDb2Settings:ModifyEndpoint' :: Maybe IBMDb2Settings
iBMDb2Settings = Maybe IBMDb2Settings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target Apache Kafka endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kafka.html#CHAP_Target.Kafka.ObjectMapping Using object mapping to migrate data to a Kafka topic>
-- in the /Database Migration Service User Guide./
modifyEndpoint_kafkaSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe KafkaSettings)
modifyEndpoint_kafkaSettings :: Lens' ModifyEndpoint (Maybe KafkaSettings)
modifyEndpoint_kafkaSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe KafkaSettings
kafkaSettings :: Maybe KafkaSettings
$sel:kafkaSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KafkaSettings
kafkaSettings} -> Maybe KafkaSettings
kafkaSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe KafkaSettings
a -> ModifyEndpoint
s {$sel:kafkaSettings:ModifyEndpoint' :: Maybe KafkaSettings
kafkaSettings = Maybe KafkaSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target endpoint for Amazon Kinesis Data
-- Streams. For more information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Kinesis.html#CHAP_Target.Kinesis.ObjectMapping Using object mapping to migrate data to a Kinesis data stream>
-- in the /Database Migration Service User Guide./
modifyEndpoint_kinesisSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe KinesisSettings)
modifyEndpoint_kinesisSettings :: Lens' ModifyEndpoint (Maybe KinesisSettings)
modifyEndpoint_kinesisSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe KinesisSettings
kinesisSettings :: Maybe KinesisSettings
$sel:kinesisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KinesisSettings
kinesisSettings} -> Maybe KinesisSettings
kinesisSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe KinesisSettings
a -> ModifyEndpoint
s {$sel:kinesisSettings:ModifyEndpoint' :: Maybe KinesisSettings
kinesisSettings = Maybe KinesisSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source and target Microsoft SQL Server
-- endpoint. For information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.ConnectionAttrib Extra connection attributes when using SQL Server as a target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_microsoftSQLServerSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe MicrosoftSQLServerSettings)
modifyEndpoint_microsoftSQLServerSettings :: Lens' ModifyEndpoint (Maybe MicrosoftSQLServerSettings)
modifyEndpoint_microsoftSQLServerSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings :: Maybe MicrosoftSQLServerSettings
$sel:microsoftSQLServerSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings} -> Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe MicrosoftSQLServerSettings
a -> ModifyEndpoint
s {$sel:microsoftSQLServerSettings:ModifyEndpoint' :: Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings = Maybe MicrosoftSQLServerSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source MongoDB endpoint. For more
-- information about the available settings, see the configuration
-- properties section in
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html#CHAP_Source.MongoDB.Configuration Endpoint configuration settings when using MongoDB as a source for Database Migration Service>
-- in the /Database Migration Service User Guide./
modifyEndpoint_mongoDbSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe MongoDbSettings)
modifyEndpoint_mongoDbSettings :: Lens' ModifyEndpoint (Maybe MongoDbSettings)
modifyEndpoint_mongoDbSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe MongoDbSettings
mongoDbSettings :: Maybe MongoDbSettings
$sel:mongoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MongoDbSettings
mongoDbSettings} -> Maybe MongoDbSettings
mongoDbSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe MongoDbSettings
a -> ModifyEndpoint
s {$sel:mongoDbSettings:ModifyEndpoint' :: Maybe MongoDbSettings
mongoDbSettings = Maybe MongoDbSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source and target MySQL endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html#CHAP_Source.MySQL.ConnectionAttrib Extra connection attributes when using MySQL as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html#CHAP_Target.MySQL.ConnectionAttrib Extra connection attributes when using a MySQL-compatible database as a target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_mySQLSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe MySQLSettings)
modifyEndpoint_mySQLSettings :: Lens' ModifyEndpoint (Maybe MySQLSettings)
modifyEndpoint_mySQLSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe MySQLSettings
mySQLSettings :: Maybe MySQLSettings
$sel:mySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MySQLSettings
mySQLSettings} -> Maybe MySQLSettings
mySQLSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe MySQLSettings
a -> ModifyEndpoint
s {$sel:mySQLSettings:ModifyEndpoint' :: Maybe MySQLSettings
mySQLSettings = Maybe MySQLSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target Amazon Neptune endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Neptune.html#CHAP_Target.Neptune.EndpointSettings Specifying graph-mapping rules using Gremlin and R2RML for Amazon Neptune as a target>
-- in the /Database Migration Service User Guide./
modifyEndpoint_neptuneSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe NeptuneSettings)
modifyEndpoint_neptuneSettings :: Lens' ModifyEndpoint (Maybe NeptuneSettings)
modifyEndpoint_neptuneSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe NeptuneSettings
neptuneSettings :: Maybe NeptuneSettings
$sel:neptuneSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe NeptuneSettings
neptuneSettings} -> Maybe NeptuneSettings
neptuneSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe NeptuneSettings
a -> ModifyEndpoint
s {$sel:neptuneSettings:ModifyEndpoint' :: Maybe NeptuneSettings
neptuneSettings = Maybe NeptuneSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source and target Oracle endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.ConnectionAttrib Extra connection attributes when using Oracle as a target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_oracleSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe OracleSettings)
modifyEndpoint_oracleSettings :: Lens' ModifyEndpoint (Maybe OracleSettings)
modifyEndpoint_oracleSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe OracleSettings
oracleSettings :: Maybe OracleSettings
$sel:oracleSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe OracleSettings
oracleSettings} -> Maybe OracleSettings
oracleSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe OracleSettings
a -> ModifyEndpoint
s {$sel:oracleSettings:ModifyEndpoint' :: Maybe OracleSettings
oracleSettings = Maybe OracleSettings
a} :: ModifyEndpoint)

-- | The password to be used to login to the endpoint database.
modifyEndpoint_password :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_password :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_password = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe (Sensitive Text)
password :: Maybe (Sensitive Text)
$sel:password:ModifyEndpoint' :: ModifyEndpoint -> Maybe (Sensitive Text)
password} -> Maybe (Sensitive Text)
password) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe (Sensitive Text)
a -> ModifyEndpoint
s {$sel:password:ModifyEndpoint' :: Maybe (Sensitive Text)
password = Maybe (Sensitive Text)
a} :: ModifyEndpoint) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 forall a. Iso' (Sensitive a) a
Data._Sensitive

-- | The port used by the endpoint database.
modifyEndpoint_port :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Int)
modifyEndpoint_port :: Lens' ModifyEndpoint (Maybe Int)
modifyEndpoint_port = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Int
port :: Maybe Int
$sel:port:ModifyEndpoint' :: ModifyEndpoint -> Maybe Int
port} -> Maybe Int
port) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Int
a -> ModifyEndpoint
s {$sel:port:ModifyEndpoint' :: Maybe Int
port = Maybe Int
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source and target PostgreSQL endpoint.
-- For information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.ConnectionAttrib Extra connection attributes when using PostgreSQL as a target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_postgreSQLSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe PostgreSQLSettings)
modifyEndpoint_postgreSQLSettings :: Lens' ModifyEndpoint (Maybe PostgreSQLSettings)
modifyEndpoint_postgreSQLSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe PostgreSQLSettings
postgreSQLSettings :: Maybe PostgreSQLSettings
$sel:postgreSQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe PostgreSQLSettings
postgreSQLSettings} -> Maybe PostgreSQLSettings
postgreSQLSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe PostgreSQLSettings
a -> ModifyEndpoint
s {$sel:postgreSQLSettings:ModifyEndpoint' :: Maybe PostgreSQLSettings
postgreSQLSettings = Maybe PostgreSQLSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the Redis target endpoint.
modifyEndpoint_redisSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe RedisSettings)
modifyEndpoint_redisSettings :: Lens' ModifyEndpoint (Maybe RedisSettings)
modifyEndpoint_redisSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe RedisSettings
redisSettings :: Maybe RedisSettings
$sel:redisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedisSettings
redisSettings} -> Maybe RedisSettings
redisSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe RedisSettings
a -> ModifyEndpoint
s {$sel:redisSettings:ModifyEndpoint' :: Maybe RedisSettings
redisSettings = Maybe RedisSettings
a} :: ModifyEndpoint)

-- | Undocumented member.
modifyEndpoint_redshiftSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe RedshiftSettings)
modifyEndpoint_redshiftSettings :: Lens' ModifyEndpoint (Maybe RedshiftSettings)
modifyEndpoint_redshiftSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe RedshiftSettings
redshiftSettings :: Maybe RedshiftSettings
$sel:redshiftSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedshiftSettings
redshiftSettings} -> Maybe RedshiftSettings
redshiftSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe RedshiftSettings
a -> ModifyEndpoint
s {$sel:redshiftSettings:ModifyEndpoint' :: Maybe RedshiftSettings
redshiftSettings = Maybe RedshiftSettings
a} :: ModifyEndpoint)

-- | Settings in JSON format for the target Amazon S3 endpoint. For more
-- information about the available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html#CHAP_Target.S3.Configuring Extra Connection Attributes When Using Amazon S3 as a Target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_s3Settings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe S3Settings)
modifyEndpoint_s3Settings :: Lens' ModifyEndpoint (Maybe S3Settings)
modifyEndpoint_s3Settings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe S3Settings
s3Settings :: Maybe S3Settings
$sel:s3Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe S3Settings
s3Settings} -> Maybe S3Settings
s3Settings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe S3Settings
a -> ModifyEndpoint
s {$sel:s3Settings:ModifyEndpoint' :: Maybe S3Settings
s3Settings = Maybe S3Settings
a} :: ModifyEndpoint)

-- | The name of the server where the endpoint database resides.
modifyEndpoint_serverName :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_serverName :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_serverName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
serverName :: Maybe Text
$sel:serverName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
serverName} -> Maybe Text
serverName) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:serverName:ModifyEndpoint' :: Maybe Text
serverName = Maybe Text
a} :: ModifyEndpoint)

-- | The Amazon Resource Name (ARN) for the IAM role you want to use to
-- modify the endpoint. The role must allow the @iam:PassRole@ action.
modifyEndpoint_serviceAccessRoleArn :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_serviceAccessRoleArn :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_serviceAccessRoleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
serviceAccessRoleArn :: Maybe Text
$sel:serviceAccessRoleArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
serviceAccessRoleArn} -> Maybe Text
serviceAccessRoleArn) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:serviceAccessRoleArn:ModifyEndpoint' :: Maybe Text
serviceAccessRoleArn = Maybe Text
a} :: ModifyEndpoint)

-- | The SSL mode used to connect to the endpoint. The default value is
-- @none@.
modifyEndpoint_sslMode :: Lens.Lens' ModifyEndpoint (Prelude.Maybe DmsSslModeValue)
modifyEndpoint_sslMode :: Lens' ModifyEndpoint (Maybe DmsSslModeValue)
modifyEndpoint_sslMode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe DmsSslModeValue
sslMode :: Maybe DmsSslModeValue
$sel:sslMode:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsSslModeValue
sslMode} -> Maybe DmsSslModeValue
sslMode) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe DmsSslModeValue
a -> ModifyEndpoint
s {$sel:sslMode:ModifyEndpoint' :: Maybe DmsSslModeValue
sslMode = Maybe DmsSslModeValue
a} :: ModifyEndpoint)

-- | Settings in JSON format for the source and target SAP ASE endpoint. For
-- information about other available settings, see
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html#CHAP_Source.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a source for DMS>
-- and
-- <https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SAP.html#CHAP_Target.SAP.ConnectionAttrib Extra connection attributes when using SAP ASE as a target for DMS>
-- in the /Database Migration Service User Guide./
modifyEndpoint_sybaseSettings :: Lens.Lens' ModifyEndpoint (Prelude.Maybe SybaseSettings)
modifyEndpoint_sybaseSettings :: Lens' ModifyEndpoint (Maybe SybaseSettings)
modifyEndpoint_sybaseSettings = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe SybaseSettings
sybaseSettings :: Maybe SybaseSettings
$sel:sybaseSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe SybaseSettings
sybaseSettings} -> Maybe SybaseSettings
sybaseSettings) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe SybaseSettings
a -> ModifyEndpoint
s {$sel:sybaseSettings:ModifyEndpoint' :: Maybe SybaseSettings
sybaseSettings = Maybe SybaseSettings
a} :: ModifyEndpoint)

-- | The user name to be used to login to the endpoint database.
modifyEndpoint_username :: Lens.Lens' ModifyEndpoint (Prelude.Maybe Prelude.Text)
modifyEndpoint_username :: Lens' ModifyEndpoint (Maybe Text)
modifyEndpoint_username = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Maybe Text
username :: Maybe Text
$sel:username:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
username} -> Maybe Text
username) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Maybe Text
a -> ModifyEndpoint
s {$sel:username:ModifyEndpoint' :: Maybe Text
username = Maybe Text
a} :: ModifyEndpoint)

-- | The Amazon Resource Name (ARN) string that uniquely identifies the
-- endpoint.
modifyEndpoint_endpointArn :: Lens.Lens' ModifyEndpoint Prelude.Text
modifyEndpoint_endpointArn :: Lens' ModifyEndpoint Text
modifyEndpoint_endpointArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpoint' {Text
endpointArn :: Text
$sel:endpointArn:ModifyEndpoint' :: ModifyEndpoint -> Text
endpointArn} -> Text
endpointArn) (\s :: ModifyEndpoint
s@ModifyEndpoint' {} Text
a -> ModifyEndpoint
s {$sel:endpointArn:ModifyEndpoint' :: Text
endpointArn = Text
a} :: ModifyEndpoint)

instance Core.AWSRequest ModifyEndpoint where
  type
    AWSResponse ModifyEndpoint =
      ModifyEndpointResponse
  request :: (Service -> Service) -> ModifyEndpoint -> Request ModifyEndpoint
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ModifyEndpoint
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse ModifyEndpoint)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Endpoint -> Int -> ModifyEndpointResponse
ModifyEndpointResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Endpoint")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ModifyEndpoint where
  hashWithSalt :: Int -> ModifyEndpoint -> Int
hashWithSalt Int
_salt ModifyEndpoint' {Maybe Bool
Maybe Int
Maybe Text
Maybe (Sensitive Text)
Maybe DmsSslModeValue
Maybe DmsTransferSettings
Maybe DynamoDbSettings
Maybe ElasticsearchSettings
Maybe IBMDb2Settings
Maybe KinesisSettings
Maybe KafkaSettings
Maybe NeptuneSettings
Maybe MongoDbSettings
Maybe DocDbSettings
Maybe OracleSettings
Maybe PostgreSQLSettings
Maybe RedshiftSettings
Maybe ReplicationEndpointTypeValue
Maybe S3Settings
Maybe MicrosoftSQLServerSettings
Maybe RedisSettings
Maybe SybaseSettings
Maybe MySQLSettings
Maybe GcpMySQLSettings
Text
endpointArn :: Text
username :: Maybe Text
sybaseSettings :: Maybe SybaseSettings
sslMode :: Maybe DmsSslModeValue
serviceAccessRoleArn :: Maybe Text
serverName :: Maybe Text
s3Settings :: Maybe S3Settings
redshiftSettings :: Maybe RedshiftSettings
redisSettings :: Maybe RedisSettings
postgreSQLSettings :: Maybe PostgreSQLSettings
port :: Maybe Int
password :: Maybe (Sensitive Text)
oracleSettings :: Maybe OracleSettings
neptuneSettings :: Maybe NeptuneSettings
mySQLSettings :: Maybe MySQLSettings
mongoDbSettings :: Maybe MongoDbSettings
microsoftSQLServerSettings :: Maybe MicrosoftSQLServerSettings
kinesisSettings :: Maybe KinesisSettings
kafkaSettings :: Maybe KafkaSettings
iBMDb2Settings :: Maybe IBMDb2Settings
gcpMySQLSettings :: Maybe GcpMySQLSettings
extraConnectionAttributes :: Maybe Text
externalTableDefinition :: Maybe Text
exactSettings :: Maybe Bool
engineName :: Maybe Text
endpointType :: Maybe ReplicationEndpointTypeValue
endpointIdentifier :: Maybe Text
elasticsearchSettings :: Maybe ElasticsearchSettings
dynamoDbSettings :: Maybe DynamoDbSettings
docDbSettings :: Maybe DocDbSettings
dmsTransferSettings :: Maybe DmsTransferSettings
databaseName :: Maybe Text
certificateArn :: Maybe Text
$sel:endpointArn:ModifyEndpoint' :: ModifyEndpoint -> Text
$sel:username:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:sybaseSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe SybaseSettings
$sel:sslMode:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsSslModeValue
$sel:serviceAccessRoleArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:serverName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:s3Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe S3Settings
$sel:redshiftSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedshiftSettings
$sel:redisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedisSettings
$sel:postgreSQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe PostgreSQLSettings
$sel:port:ModifyEndpoint' :: ModifyEndpoint -> Maybe Int
$sel:password:ModifyEndpoint' :: ModifyEndpoint -> Maybe (Sensitive Text)
$sel:oracleSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe OracleSettings
$sel:neptuneSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe NeptuneSettings
$sel:mySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MySQLSettings
$sel:mongoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MongoDbSettings
$sel:microsoftSQLServerSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MicrosoftSQLServerSettings
$sel:kinesisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KinesisSettings
$sel:kafkaSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KafkaSettings
$sel:iBMDb2Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe IBMDb2Settings
$sel:gcpMySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe GcpMySQLSettings
$sel:extraConnectionAttributes:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:externalTableDefinition:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:exactSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe Bool
$sel:engineName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:endpointType:ModifyEndpoint' :: ModifyEndpoint -> Maybe ReplicationEndpointTypeValue
$sel:endpointIdentifier:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:elasticsearchSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe ElasticsearchSettings
$sel:dynamoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DynamoDbSettings
$sel:docDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DocDbSettings
$sel:dmsTransferSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsTransferSettings
$sel:databaseName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:certificateArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
certificateArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
databaseName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DmsTransferSettings
dmsTransferSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DocDbSettings
docDbSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DynamoDbSettings
dynamoDbSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ElasticsearchSettings
elasticsearchSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
endpointIdentifier
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ReplicationEndpointTypeValue
endpointType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
engineName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Bool
exactSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
externalTableDefinition
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
extraConnectionAttributes
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe GcpMySQLSettings
gcpMySQLSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe IBMDb2Settings
iBMDb2Settings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KafkaSettings
kafkaSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe KinesisSettings
kinesisSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MongoDbSettings
mongoDbSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe MySQLSettings
mySQLSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe NeptuneSettings
neptuneSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe OracleSettings
oracleSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (Sensitive Text)
password
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Int
port
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PostgreSQLSettings
postgreSQLSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedisSettings
redisSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RedshiftSettings
redshiftSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe S3Settings
s3Settings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serverName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
serviceAccessRoleArn
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe DmsSslModeValue
sslMode
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SybaseSettings
sybaseSettings
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
username
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
endpointArn

instance Prelude.NFData ModifyEndpoint where
  rnf :: ModifyEndpoint -> ()
rnf ModifyEndpoint' {Maybe Bool
Maybe Int
Maybe Text
Maybe (Sensitive Text)
Maybe DmsSslModeValue
Maybe DmsTransferSettings
Maybe DynamoDbSettings
Maybe ElasticsearchSettings
Maybe IBMDb2Settings
Maybe KinesisSettings
Maybe KafkaSettings
Maybe NeptuneSettings
Maybe MongoDbSettings
Maybe DocDbSettings
Maybe OracleSettings
Maybe PostgreSQLSettings
Maybe RedshiftSettings
Maybe ReplicationEndpointTypeValue
Maybe S3Settings
Maybe MicrosoftSQLServerSettings
Maybe RedisSettings
Maybe SybaseSettings
Maybe MySQLSettings
Maybe GcpMySQLSettings
Text
endpointArn :: Text
username :: Maybe Text
sybaseSettings :: Maybe SybaseSettings
sslMode :: Maybe DmsSslModeValue
serviceAccessRoleArn :: Maybe Text
serverName :: Maybe Text
s3Settings :: Maybe S3Settings
redshiftSettings :: Maybe RedshiftSettings
redisSettings :: Maybe RedisSettings
postgreSQLSettings :: Maybe PostgreSQLSettings
port :: Maybe Int
password :: Maybe (Sensitive Text)
oracleSettings :: Maybe OracleSettings
neptuneSettings :: Maybe NeptuneSettings
mySQLSettings :: Maybe MySQLSettings
mongoDbSettings :: Maybe MongoDbSettings
microsoftSQLServerSettings :: Maybe MicrosoftSQLServerSettings
kinesisSettings :: Maybe KinesisSettings
kafkaSettings :: Maybe KafkaSettings
iBMDb2Settings :: Maybe IBMDb2Settings
gcpMySQLSettings :: Maybe GcpMySQLSettings
extraConnectionAttributes :: Maybe Text
externalTableDefinition :: Maybe Text
exactSettings :: Maybe Bool
engineName :: Maybe Text
endpointType :: Maybe ReplicationEndpointTypeValue
endpointIdentifier :: Maybe Text
elasticsearchSettings :: Maybe ElasticsearchSettings
dynamoDbSettings :: Maybe DynamoDbSettings
docDbSettings :: Maybe DocDbSettings
dmsTransferSettings :: Maybe DmsTransferSettings
databaseName :: Maybe Text
certificateArn :: Maybe Text
$sel:endpointArn:ModifyEndpoint' :: ModifyEndpoint -> Text
$sel:username:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:sybaseSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe SybaseSettings
$sel:sslMode:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsSslModeValue
$sel:serviceAccessRoleArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:serverName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:s3Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe S3Settings
$sel:redshiftSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedshiftSettings
$sel:redisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedisSettings
$sel:postgreSQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe PostgreSQLSettings
$sel:port:ModifyEndpoint' :: ModifyEndpoint -> Maybe Int
$sel:password:ModifyEndpoint' :: ModifyEndpoint -> Maybe (Sensitive Text)
$sel:oracleSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe OracleSettings
$sel:neptuneSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe NeptuneSettings
$sel:mySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MySQLSettings
$sel:mongoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MongoDbSettings
$sel:microsoftSQLServerSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MicrosoftSQLServerSettings
$sel:kinesisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KinesisSettings
$sel:kafkaSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KafkaSettings
$sel:iBMDb2Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe IBMDb2Settings
$sel:gcpMySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe GcpMySQLSettings
$sel:extraConnectionAttributes:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:externalTableDefinition:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:exactSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe Bool
$sel:engineName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:endpointType:ModifyEndpoint' :: ModifyEndpoint -> Maybe ReplicationEndpointTypeValue
$sel:endpointIdentifier:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:elasticsearchSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe ElasticsearchSettings
$sel:dynamoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DynamoDbSettings
$sel:docDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DocDbSettings
$sel:dmsTransferSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsTransferSettings
$sel:databaseName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:certificateArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
certificateArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
databaseName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DmsTransferSettings
dmsTransferSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DocDbSettings
docDbSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DynamoDbSettings
dynamoDbSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ElasticsearchSettings
elasticsearchSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
endpointIdentifier
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ReplicationEndpointTypeValue
endpointType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
engineName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Bool
exactSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
externalTableDefinition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
extraConnectionAttributes
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe GcpMySQLSettings
gcpMySQLSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe IBMDb2Settings
iBMDb2Settings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KafkaSettings
kafkaSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe KinesisSettings
kinesisSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MongoDbSettings
mongoDbSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe MySQLSettings
mySQLSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe NeptuneSettings
neptuneSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe OracleSettings
oracleSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (Sensitive Text)
password
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
port
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe PostgreSQLSettings
postgreSQLSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe RedisSettings
redisSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe RedshiftSettings
redshiftSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe S3Settings
s3Settings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
serverName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
serviceAccessRoleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe DmsSslModeValue
sslMode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe SybaseSettings
sybaseSettings
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Text
username
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Text
endpointArn

instance Data.ToHeaders ModifyEndpoint where
  toHeaders :: ModifyEndpoint -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonDMSv20160101.ModifyEndpoint" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON ModifyEndpoint where
  toJSON :: ModifyEndpoint -> Value
toJSON ModifyEndpoint' {Maybe Bool
Maybe Int
Maybe Text
Maybe (Sensitive Text)
Maybe DmsSslModeValue
Maybe DmsTransferSettings
Maybe DynamoDbSettings
Maybe ElasticsearchSettings
Maybe IBMDb2Settings
Maybe KinesisSettings
Maybe KafkaSettings
Maybe NeptuneSettings
Maybe MongoDbSettings
Maybe DocDbSettings
Maybe OracleSettings
Maybe PostgreSQLSettings
Maybe RedshiftSettings
Maybe ReplicationEndpointTypeValue
Maybe S3Settings
Maybe MicrosoftSQLServerSettings
Maybe RedisSettings
Maybe SybaseSettings
Maybe MySQLSettings
Maybe GcpMySQLSettings
Text
endpointArn :: Text
username :: Maybe Text
sybaseSettings :: Maybe SybaseSettings
sslMode :: Maybe DmsSslModeValue
serviceAccessRoleArn :: Maybe Text
serverName :: Maybe Text
s3Settings :: Maybe S3Settings
redshiftSettings :: Maybe RedshiftSettings
redisSettings :: Maybe RedisSettings
postgreSQLSettings :: Maybe PostgreSQLSettings
port :: Maybe Int
password :: Maybe (Sensitive Text)
oracleSettings :: Maybe OracleSettings
neptuneSettings :: Maybe NeptuneSettings
mySQLSettings :: Maybe MySQLSettings
mongoDbSettings :: Maybe MongoDbSettings
microsoftSQLServerSettings :: Maybe MicrosoftSQLServerSettings
kinesisSettings :: Maybe KinesisSettings
kafkaSettings :: Maybe KafkaSettings
iBMDb2Settings :: Maybe IBMDb2Settings
gcpMySQLSettings :: Maybe GcpMySQLSettings
extraConnectionAttributes :: Maybe Text
externalTableDefinition :: Maybe Text
exactSettings :: Maybe Bool
engineName :: Maybe Text
endpointType :: Maybe ReplicationEndpointTypeValue
endpointIdentifier :: Maybe Text
elasticsearchSettings :: Maybe ElasticsearchSettings
dynamoDbSettings :: Maybe DynamoDbSettings
docDbSettings :: Maybe DocDbSettings
dmsTransferSettings :: Maybe DmsTransferSettings
databaseName :: Maybe Text
certificateArn :: Maybe Text
$sel:endpointArn:ModifyEndpoint' :: ModifyEndpoint -> Text
$sel:username:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:sybaseSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe SybaseSettings
$sel:sslMode:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsSslModeValue
$sel:serviceAccessRoleArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:serverName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:s3Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe S3Settings
$sel:redshiftSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedshiftSettings
$sel:redisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe RedisSettings
$sel:postgreSQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe PostgreSQLSettings
$sel:port:ModifyEndpoint' :: ModifyEndpoint -> Maybe Int
$sel:password:ModifyEndpoint' :: ModifyEndpoint -> Maybe (Sensitive Text)
$sel:oracleSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe OracleSettings
$sel:neptuneSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe NeptuneSettings
$sel:mySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MySQLSettings
$sel:mongoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MongoDbSettings
$sel:microsoftSQLServerSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe MicrosoftSQLServerSettings
$sel:kinesisSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KinesisSettings
$sel:kafkaSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe KafkaSettings
$sel:iBMDb2Settings:ModifyEndpoint' :: ModifyEndpoint -> Maybe IBMDb2Settings
$sel:gcpMySQLSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe GcpMySQLSettings
$sel:extraConnectionAttributes:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:externalTableDefinition:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:exactSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe Bool
$sel:engineName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:endpointType:ModifyEndpoint' :: ModifyEndpoint -> Maybe ReplicationEndpointTypeValue
$sel:endpointIdentifier:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:elasticsearchSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe ElasticsearchSettings
$sel:dynamoDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DynamoDbSettings
$sel:docDbSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DocDbSettings
$sel:dmsTransferSettings:ModifyEndpoint' :: ModifyEndpoint -> Maybe DmsTransferSettings
$sel:databaseName:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
$sel:certificateArn:ModifyEndpoint' :: ModifyEndpoint -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"CertificateArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
certificateArn,
            (Key
"DatabaseName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
databaseName,
            (Key
"DmsTransferSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DmsTransferSettings
dmsTransferSettings,
            (Key
"DocDbSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocDbSettings
docDbSettings,
            (Key
"DynamoDbSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DynamoDbSettings
dynamoDbSettings,
            (Key
"ElasticsearchSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ElasticsearchSettings
elasticsearchSettings,
            (Key
"EndpointIdentifier" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
endpointIdentifier,
            (Key
"EndpointType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ReplicationEndpointTypeValue
endpointType,
            (Key
"EngineName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
engineName,
            (Key
"ExactSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
exactSettings,
            (Key
"ExternalTableDefinition" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
externalTableDefinition,
            (Key
"ExtraConnectionAttributes" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
extraConnectionAttributes,
            (Key
"GcpMySQLSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe GcpMySQLSettings
gcpMySQLSettings,
            (Key
"IBMDb2Settings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe IBMDb2Settings
iBMDb2Settings,
            (Key
"KafkaSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KafkaSettings
kafkaSettings,
            (Key
"KinesisSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe KinesisSettings
kinesisSettings,
            (Key
"MicrosoftSQLServerSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MicrosoftSQLServerSettings
microsoftSQLServerSettings,
            (Key
"MongoDbSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MongoDbSettings
mongoDbSettings,
            (Key
"MySQLSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe MySQLSettings
mySQLSettings,
            (Key
"NeptuneSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe NeptuneSettings
neptuneSettings,
            (Key
"OracleSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe OracleSettings
oracleSettings,
            (Key
"Password" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe (Sensitive Text)
password,
            (Key
"Port" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Int
port,
            (Key
"PostgreSQLSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PostgreSQLSettings
postgreSQLSettings,
            (Key
"RedisSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RedisSettings
redisSettings,
            (Key
"RedshiftSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe RedshiftSettings
redshiftSettings,
            (Key
"S3Settings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe S3Settings
s3Settings,
            (Key
"ServerName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serverName,
            (Key
"ServiceAccessRoleArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
serviceAccessRoleArn,
            (Key
"SslMode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DmsSslModeValue
sslMode,
            (Key
"SybaseSettings" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SybaseSettings
sybaseSettings,
            (Key
"Username" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
username,
            forall a. a -> Maybe a
Prelude.Just (Key
"EndpointArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
endpointArn)
          ]
      )

instance Data.ToPath ModifyEndpoint where
  toPath :: ModifyEndpoint -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery ModifyEndpoint where
  toQuery :: ModifyEndpoint -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- |
--
-- /See:/ 'newModifyEndpointResponse' smart constructor.
data ModifyEndpointResponse = ModifyEndpointResponse'
  { -- | The modified endpoint.
    ModifyEndpointResponse -> Maybe Endpoint
endpoint :: Prelude.Maybe Endpoint,
    -- | The response's http status code.
    ModifyEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ModifyEndpointResponse -> ModifyEndpointResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ModifyEndpointResponse -> ModifyEndpointResponse -> Bool
$c/= :: ModifyEndpointResponse -> ModifyEndpointResponse -> Bool
== :: ModifyEndpointResponse -> ModifyEndpointResponse -> Bool
$c== :: ModifyEndpointResponse -> ModifyEndpointResponse -> Bool
Prelude.Eq, Int -> ModifyEndpointResponse -> ShowS
[ModifyEndpointResponse] -> ShowS
ModifyEndpointResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ModifyEndpointResponse] -> ShowS
$cshowList :: [ModifyEndpointResponse] -> ShowS
show :: ModifyEndpointResponse -> String
$cshow :: ModifyEndpointResponse -> String
showsPrec :: Int -> ModifyEndpointResponse -> ShowS
$cshowsPrec :: Int -> ModifyEndpointResponse -> ShowS
Prelude.Show, forall x. Rep ModifyEndpointResponse x -> ModifyEndpointResponse
forall x. ModifyEndpointResponse -> Rep ModifyEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ModifyEndpointResponse x -> ModifyEndpointResponse
$cfrom :: forall x. ModifyEndpointResponse -> Rep ModifyEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'ModifyEndpointResponse' 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:
--
-- 'endpoint', 'modifyEndpointResponse_endpoint' - The modified endpoint.
--
-- 'httpStatus', 'modifyEndpointResponse_httpStatus' - The response's http status code.
newModifyEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ModifyEndpointResponse
newModifyEndpointResponse :: Int -> ModifyEndpointResponse
newModifyEndpointResponse Int
pHttpStatus_ =
  ModifyEndpointResponse'
    { $sel:endpoint:ModifyEndpointResponse' :: Maybe Endpoint
endpoint = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ModifyEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The modified endpoint.
modifyEndpointResponse_endpoint :: Lens.Lens' ModifyEndpointResponse (Prelude.Maybe Endpoint)
modifyEndpointResponse_endpoint :: Lens' ModifyEndpointResponse (Maybe Endpoint)
modifyEndpointResponse_endpoint = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpointResponse' {Maybe Endpoint
endpoint :: Maybe Endpoint
$sel:endpoint:ModifyEndpointResponse' :: ModifyEndpointResponse -> Maybe Endpoint
endpoint} -> Maybe Endpoint
endpoint) (\s :: ModifyEndpointResponse
s@ModifyEndpointResponse' {} Maybe Endpoint
a -> ModifyEndpointResponse
s {$sel:endpoint:ModifyEndpointResponse' :: Maybe Endpoint
endpoint = Maybe Endpoint
a} :: ModifyEndpointResponse)

-- | The response's http status code.
modifyEndpointResponse_httpStatus :: Lens.Lens' ModifyEndpointResponse Prelude.Int
modifyEndpointResponse_httpStatus :: Lens' ModifyEndpointResponse Int
modifyEndpointResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ModifyEndpointResponse' {Int
httpStatus :: Int
$sel:httpStatus:ModifyEndpointResponse' :: ModifyEndpointResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ModifyEndpointResponse
s@ModifyEndpointResponse' {} Int
a -> ModifyEndpointResponse
s {$sel:httpStatus:ModifyEndpointResponse' :: Int
httpStatus = Int
a} :: ModifyEndpointResponse)

instance Prelude.NFData ModifyEndpointResponse where
  rnf :: ModifyEndpointResponse -> ()
rnf ModifyEndpointResponse' {Int
Maybe Endpoint
httpStatus :: Int
endpoint :: Maybe Endpoint
$sel:httpStatus:ModifyEndpointResponse' :: ModifyEndpointResponse -> Int
$sel:endpoint:ModifyEndpointResponse' :: ModifyEndpointResponse -> Maybe Endpoint
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Endpoint
endpoint
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus