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: Endpoint {haddock_workaround_ :: (), -- | See: certificateArn :: (Prelude.Maybe (Value Prelude.Text)), -- | See: databaseName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: docDbSettings :: (Prelude.Maybe DocDbSettingsProperty), -- | See: dynamoDbSettings :: (Prelude.Maybe DynamoDbSettingsProperty), -- | See: elasticsearchSettings :: (Prelude.Maybe ElasticsearchSettingsProperty), -- | See: endpointIdentifier :: (Prelude.Maybe (Value Prelude.Text)), -- | See: endpointType :: (Value Prelude.Text), -- | See: engineName :: (Value Prelude.Text), -- | See: extraConnectionAttributes :: (Prelude.Maybe (Value Prelude.Text)), -- | See: gcpMySQLSettings :: (Prelude.Maybe GcpMySQLSettingsProperty), -- | See: ibmDb2Settings :: (Prelude.Maybe IbmDb2SettingsProperty), -- | See: kafkaSettings :: (Prelude.Maybe KafkaSettingsProperty), -- | See: kinesisSettings :: (Prelude.Maybe KinesisSettingsProperty), -- | See: kmsKeyId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: microsoftSqlServerSettings :: (Prelude.Maybe MicrosoftSqlServerSettingsProperty), -- | See: mongoDbSettings :: (Prelude.Maybe MongoDbSettingsProperty), -- | See: mySqlSettings :: (Prelude.Maybe MySqlSettingsProperty), -- | See: neptuneSettings :: (Prelude.Maybe NeptuneSettingsProperty), -- | See: oracleSettings :: (Prelude.Maybe OracleSettingsProperty), -- | See: password :: (Prelude.Maybe (Value Prelude.Text)), -- | See: port :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: postgreSqlSettings :: (Prelude.Maybe PostgreSqlSettingsProperty), -- | See: redisSettings :: (Prelude.Maybe RedisSettingsProperty), -- | See: redshiftSettings :: (Prelude.Maybe RedshiftSettingsProperty), -- | See: resourceIdentifier :: (Prelude.Maybe (Value Prelude.Text)), -- | See: s3Settings :: (Prelude.Maybe S3SettingsProperty), -- | See: serverName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: sslMode :: (Prelude.Maybe (Value Prelude.Text)), -- | See: sybaseSettings :: (Prelude.Maybe SybaseSettingsProperty), -- | See: tags :: (Prelude.Maybe [Tag]), -- | See: 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, ..}