stratosphere-dms-1.0.0: gen/Stratosphere/DMS/Endpoint.hs
module Stratosphere.DMS.Endpoint (
module Exports, Endpoint(..), mkEndpoint
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.DocDbSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.DynamoDbSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.ElasticsearchSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.GcpMySQLSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.IbmDb2SettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.KafkaSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.KinesisSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.MicrosoftSqlServerSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.MongoDbSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.MySqlSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.NeptuneSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.OracleSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.PostgreSqlSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.RedisSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.RedshiftSettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.S3SettingsProperty as Exports
import {-# SOURCE #-} Stratosphere.DMS.Endpoint.SybaseSettingsProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data Endpoint
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html>
Endpoint {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-certificatearn>
certificateArn :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-databasename>
databaseName :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-docdbsettings>
docDbSettings :: (Prelude.Maybe DocDbSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-dynamodbsettings>
dynamoDbSettings :: (Prelude.Maybe DynamoDbSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-elasticsearchsettings>
elasticsearchSettings :: (Prelude.Maybe ElasticsearchSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointidentifier>
endpointIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-endpointtype>
endpointType :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-enginename>
engineName :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-extraconnectionattributes>
extraConnectionAttributes :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-gcpmysqlsettings>
gcpMySQLSettings :: (Prelude.Maybe GcpMySQLSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-ibmdb2settings>
ibmDb2Settings :: (Prelude.Maybe IbmDb2SettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kafkasettings>
kafkaSettings :: (Prelude.Maybe KafkaSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kinesissettings>
kinesisSettings :: (Prelude.Maybe KinesisSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-kmskeyid>
kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-microsoftsqlserversettings>
microsoftSqlServerSettings :: (Prelude.Maybe MicrosoftSqlServerSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mongodbsettings>
mongoDbSettings :: (Prelude.Maybe MongoDbSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-mysqlsettings>
mySqlSettings :: (Prelude.Maybe MySqlSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-neptunesettings>
neptuneSettings :: (Prelude.Maybe NeptuneSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-oraclesettings>
oracleSettings :: (Prelude.Maybe OracleSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-password>
password :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-port>
port :: (Prelude.Maybe (Value Prelude.Integer)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-postgresqlsettings>
postgreSqlSettings :: (Prelude.Maybe PostgreSqlSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-redissettings>
redisSettings :: (Prelude.Maybe RedisSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-redshiftsettings>
redshiftSettings :: (Prelude.Maybe RedshiftSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-resourceidentifier>
resourceIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-s3settings>
s3Settings :: (Prelude.Maybe S3SettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-servername>
serverName :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sslmode>
sslMode :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-sybasesettings>
sybaseSettings :: (Prelude.Maybe SybaseSettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-tags>
tags :: (Prelude.Maybe [Tag]),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-endpoint.html#cfn-dms-endpoint-username>
username :: (Prelude.Maybe (Value Prelude.Text))}
deriving stock (Prelude.Eq, Prelude.Show)
mkEndpoint :: Value Prelude.Text -> Value Prelude.Text -> Endpoint
mkEndpoint endpointType engineName
= Endpoint
{haddock_workaround_ = (), endpointType = endpointType,
engineName = engineName, certificateArn = Prelude.Nothing,
databaseName = Prelude.Nothing, docDbSettings = Prelude.Nothing,
dynamoDbSettings = Prelude.Nothing,
elasticsearchSettings = Prelude.Nothing,
endpointIdentifier = Prelude.Nothing,
extraConnectionAttributes = Prelude.Nothing,
gcpMySQLSettings = Prelude.Nothing,
ibmDb2Settings = Prelude.Nothing, kafkaSettings = Prelude.Nothing,
kinesisSettings = Prelude.Nothing, kmsKeyId = Prelude.Nothing,
microsoftSqlServerSettings = Prelude.Nothing,
mongoDbSettings = Prelude.Nothing, mySqlSettings = Prelude.Nothing,
neptuneSettings = Prelude.Nothing,
oracleSettings = Prelude.Nothing, password = Prelude.Nothing,
port = Prelude.Nothing, postgreSqlSettings = Prelude.Nothing,
redisSettings = Prelude.Nothing,
redshiftSettings = Prelude.Nothing,
resourceIdentifier = Prelude.Nothing, s3Settings = Prelude.Nothing,
serverName = Prelude.Nothing, sslMode = Prelude.Nothing,
sybaseSettings = Prelude.Nothing, tags = Prelude.Nothing,
username = Prelude.Nothing}
instance ToResourceProperties Endpoint where
toResourceProperties Endpoint {..}
= ResourceProperties
{awsType = "AWS::DMS::Endpoint", supportsTags = Prelude.True,
properties = Prelude.fromList
((Prelude.<>)
["EndpointType" JSON..= endpointType,
"EngineName" JSON..= engineName]
(Prelude.catMaybes
[(JSON..=) "CertificateArn" Prelude.<$> certificateArn,
(JSON..=) "DatabaseName" Prelude.<$> databaseName,
(JSON..=) "DocDbSettings" Prelude.<$> docDbSettings,
(JSON..=) "DynamoDbSettings" Prelude.<$> dynamoDbSettings,
(JSON..=) "ElasticsearchSettings"
Prelude.<$> elasticsearchSettings,
(JSON..=) "EndpointIdentifier" Prelude.<$> endpointIdentifier,
(JSON..=) "ExtraConnectionAttributes"
Prelude.<$> extraConnectionAttributes,
(JSON..=) "GcpMySQLSettings" Prelude.<$> gcpMySQLSettings,
(JSON..=) "IbmDb2Settings" Prelude.<$> ibmDb2Settings,
(JSON..=) "KafkaSettings" Prelude.<$> kafkaSettings,
(JSON..=) "KinesisSettings" Prelude.<$> kinesisSettings,
(JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
(JSON..=) "MicrosoftSqlServerSettings"
Prelude.<$> microsoftSqlServerSettings,
(JSON..=) "MongoDbSettings" Prelude.<$> mongoDbSettings,
(JSON..=) "MySqlSettings" Prelude.<$> mySqlSettings,
(JSON..=) "NeptuneSettings" Prelude.<$> neptuneSettings,
(JSON..=) "OracleSettings" Prelude.<$> oracleSettings,
(JSON..=) "Password" Prelude.<$> password,
(JSON..=) "Port" Prelude.<$> port,
(JSON..=) "PostgreSqlSettings" Prelude.<$> postgreSqlSettings,
(JSON..=) "RedisSettings" Prelude.<$> redisSettings,
(JSON..=) "RedshiftSettings" Prelude.<$> redshiftSettings,
(JSON..=) "ResourceIdentifier" Prelude.<$> resourceIdentifier,
(JSON..=) "S3Settings" Prelude.<$> s3Settings,
(JSON..=) "ServerName" Prelude.<$> serverName,
(JSON..=) "SslMode" Prelude.<$> sslMode,
(JSON..=) "SybaseSettings" Prelude.<$> sybaseSettings,
(JSON..=) "Tags" Prelude.<$> tags,
(JSON..=) "Username" Prelude.<$> username]))}
instance JSON.ToJSON Endpoint where
toJSON Endpoint {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["EndpointType" JSON..= endpointType,
"EngineName" JSON..= engineName]
(Prelude.catMaybes
[(JSON..=) "CertificateArn" Prelude.<$> certificateArn,
(JSON..=) "DatabaseName" Prelude.<$> databaseName,
(JSON..=) "DocDbSettings" Prelude.<$> docDbSettings,
(JSON..=) "DynamoDbSettings" Prelude.<$> dynamoDbSettings,
(JSON..=) "ElasticsearchSettings"
Prelude.<$> elasticsearchSettings,
(JSON..=) "EndpointIdentifier" Prelude.<$> endpointIdentifier,
(JSON..=) "ExtraConnectionAttributes"
Prelude.<$> extraConnectionAttributes,
(JSON..=) "GcpMySQLSettings" Prelude.<$> gcpMySQLSettings,
(JSON..=) "IbmDb2Settings" Prelude.<$> ibmDb2Settings,
(JSON..=) "KafkaSettings" Prelude.<$> kafkaSettings,
(JSON..=) "KinesisSettings" Prelude.<$> kinesisSettings,
(JSON..=) "KmsKeyId" Prelude.<$> kmsKeyId,
(JSON..=) "MicrosoftSqlServerSettings"
Prelude.<$> microsoftSqlServerSettings,
(JSON..=) "MongoDbSettings" Prelude.<$> mongoDbSettings,
(JSON..=) "MySqlSettings" Prelude.<$> mySqlSettings,
(JSON..=) "NeptuneSettings" Prelude.<$> neptuneSettings,
(JSON..=) "OracleSettings" Prelude.<$> oracleSettings,
(JSON..=) "Password" Prelude.<$> password,
(JSON..=) "Port" Prelude.<$> port,
(JSON..=) "PostgreSqlSettings" Prelude.<$> postgreSqlSettings,
(JSON..=) "RedisSettings" Prelude.<$> redisSettings,
(JSON..=) "RedshiftSettings" Prelude.<$> redshiftSettings,
(JSON..=) "ResourceIdentifier" Prelude.<$> resourceIdentifier,
(JSON..=) "S3Settings" Prelude.<$> s3Settings,
(JSON..=) "ServerName" Prelude.<$> serverName,
(JSON..=) "SslMode" Prelude.<$> sslMode,
(JSON..=) "SybaseSettings" Prelude.<$> sybaseSettings,
(JSON..=) "Tags" Prelude.<$> tags,
(JSON..=) "Username" Prelude.<$> username])))
instance Property "CertificateArn" Endpoint where
type PropertyType "CertificateArn" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {certificateArn = Prelude.pure newValue, ..}
instance Property "DatabaseName" Endpoint where
type PropertyType "DatabaseName" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {databaseName = Prelude.pure newValue, ..}
instance Property "DocDbSettings" Endpoint where
type PropertyType "DocDbSettings" Endpoint = DocDbSettingsProperty
set newValue Endpoint {..}
= Endpoint {docDbSettings = Prelude.pure newValue, ..}
instance Property "DynamoDbSettings" Endpoint where
type PropertyType "DynamoDbSettings" Endpoint = DynamoDbSettingsProperty
set newValue Endpoint {..}
= Endpoint {dynamoDbSettings = Prelude.pure newValue, ..}
instance Property "ElasticsearchSettings" Endpoint where
type PropertyType "ElasticsearchSettings" Endpoint = ElasticsearchSettingsProperty
set newValue Endpoint {..}
= Endpoint {elasticsearchSettings = Prelude.pure newValue, ..}
instance Property "EndpointIdentifier" Endpoint where
type PropertyType "EndpointIdentifier" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {endpointIdentifier = Prelude.pure newValue, ..}
instance Property "EndpointType" Endpoint where
type PropertyType "EndpointType" Endpoint = Value Prelude.Text
set newValue Endpoint {..} = Endpoint {endpointType = newValue, ..}
instance Property "EngineName" Endpoint where
type PropertyType "EngineName" Endpoint = Value Prelude.Text
set newValue Endpoint {..} = Endpoint {engineName = newValue, ..}
instance Property "ExtraConnectionAttributes" Endpoint where
type PropertyType "ExtraConnectionAttributes" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {extraConnectionAttributes = Prelude.pure newValue, ..}
instance Property "GcpMySQLSettings" Endpoint where
type PropertyType "GcpMySQLSettings" Endpoint = GcpMySQLSettingsProperty
set newValue Endpoint {..}
= Endpoint {gcpMySQLSettings = Prelude.pure newValue, ..}
instance Property "IbmDb2Settings" Endpoint where
type PropertyType "IbmDb2Settings" Endpoint = IbmDb2SettingsProperty
set newValue Endpoint {..}
= Endpoint {ibmDb2Settings = Prelude.pure newValue, ..}
instance Property "KafkaSettings" Endpoint where
type PropertyType "KafkaSettings" Endpoint = KafkaSettingsProperty
set newValue Endpoint {..}
= Endpoint {kafkaSettings = Prelude.pure newValue, ..}
instance Property "KinesisSettings" Endpoint where
type PropertyType "KinesisSettings" Endpoint = KinesisSettingsProperty
set newValue Endpoint {..}
= Endpoint {kinesisSettings = Prelude.pure newValue, ..}
instance Property "KmsKeyId" Endpoint where
type PropertyType "KmsKeyId" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {kmsKeyId = Prelude.pure newValue, ..}
instance Property "MicrosoftSqlServerSettings" Endpoint where
type PropertyType "MicrosoftSqlServerSettings" Endpoint = MicrosoftSqlServerSettingsProperty
set newValue Endpoint {..}
= Endpoint {microsoftSqlServerSettings = Prelude.pure newValue, ..}
instance Property "MongoDbSettings" Endpoint where
type PropertyType "MongoDbSettings" Endpoint = MongoDbSettingsProperty
set newValue Endpoint {..}
= Endpoint {mongoDbSettings = Prelude.pure newValue, ..}
instance Property "MySqlSettings" Endpoint where
type PropertyType "MySqlSettings" Endpoint = MySqlSettingsProperty
set newValue Endpoint {..}
= Endpoint {mySqlSettings = Prelude.pure newValue, ..}
instance Property "NeptuneSettings" Endpoint where
type PropertyType "NeptuneSettings" Endpoint = NeptuneSettingsProperty
set newValue Endpoint {..}
= Endpoint {neptuneSettings = Prelude.pure newValue, ..}
instance Property "OracleSettings" Endpoint where
type PropertyType "OracleSettings" Endpoint = OracleSettingsProperty
set newValue Endpoint {..}
= Endpoint {oracleSettings = Prelude.pure newValue, ..}
instance Property "Password" Endpoint where
type PropertyType "Password" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {password = Prelude.pure newValue, ..}
instance Property "Port" Endpoint where
type PropertyType "Port" Endpoint = Value Prelude.Integer
set newValue Endpoint {..}
= Endpoint {port = Prelude.pure newValue, ..}
instance Property "PostgreSqlSettings" Endpoint where
type PropertyType "PostgreSqlSettings" Endpoint = PostgreSqlSettingsProperty
set newValue Endpoint {..}
= Endpoint {postgreSqlSettings = Prelude.pure newValue, ..}
instance Property "RedisSettings" Endpoint where
type PropertyType "RedisSettings" Endpoint = RedisSettingsProperty
set newValue Endpoint {..}
= Endpoint {redisSettings = Prelude.pure newValue, ..}
instance Property "RedshiftSettings" Endpoint where
type PropertyType "RedshiftSettings" Endpoint = RedshiftSettingsProperty
set newValue Endpoint {..}
= Endpoint {redshiftSettings = Prelude.pure newValue, ..}
instance Property "ResourceIdentifier" Endpoint where
type PropertyType "ResourceIdentifier" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {resourceIdentifier = Prelude.pure newValue, ..}
instance Property "S3Settings" Endpoint where
type PropertyType "S3Settings" Endpoint = S3SettingsProperty
set newValue Endpoint {..}
= Endpoint {s3Settings = Prelude.pure newValue, ..}
instance Property "ServerName" Endpoint where
type PropertyType "ServerName" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {serverName = Prelude.pure newValue, ..}
instance Property "SslMode" Endpoint where
type PropertyType "SslMode" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {sslMode = Prelude.pure newValue, ..}
instance Property "SybaseSettings" Endpoint where
type PropertyType "SybaseSettings" Endpoint = SybaseSettingsProperty
set newValue Endpoint {..}
= Endpoint {sybaseSettings = Prelude.pure newValue, ..}
instance Property "Tags" Endpoint where
type PropertyType "Tags" Endpoint = [Tag]
set newValue Endpoint {..}
= Endpoint {tags = Prelude.pure newValue, ..}
instance Property "Username" Endpoint where
type PropertyType "Username" Endpoint = Value Prelude.Text
set newValue Endpoint {..}
= Endpoint {username = Prelude.pure newValue, ..}