module Stratosphere.DMS.Endpoint.PostgreSqlSettingsProperty ( PostgreSqlSettingsProperty(..), mkPostgreSqlSettingsProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import Stratosphere.ResourceProperties import Stratosphere.Value data PostgreSqlSettingsProperty = -- | See: PostgreSqlSettingsProperty {haddock_workaround_ :: (), -- | See: afterConnectScript :: (Prelude.Maybe (Value Prelude.Text)), -- | See: babelfishDatabaseName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: captureDdls :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: databaseMode :: (Prelude.Maybe (Value Prelude.Text)), -- | See: ddlArtifactsSchema :: (Prelude.Maybe (Value Prelude.Text)), -- | See: executeTimeout :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: failTasksOnLobTruncation :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: heartbeatEnable :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: heartbeatFrequency :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: heartbeatSchema :: (Prelude.Maybe (Value Prelude.Text)), -- | See: mapBooleanAsBoolean :: (Prelude.Maybe (Value Prelude.Bool)), -- | See: maxFileSize :: (Prelude.Maybe (Value Prelude.Integer)), -- | See: pluginName :: (Prelude.Maybe (Value Prelude.Text)), -- | See: secretsManagerAccessRoleArn :: (Prelude.Maybe (Value Prelude.Text)), -- | See: secretsManagerSecretId :: (Prelude.Maybe (Value Prelude.Text)), -- | See: slotName :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkPostgreSqlSettingsProperty :: PostgreSqlSettingsProperty mkPostgreSqlSettingsProperty = PostgreSqlSettingsProperty {haddock_workaround_ = (), afterConnectScript = Prelude.Nothing, babelfishDatabaseName = Prelude.Nothing, captureDdls = Prelude.Nothing, databaseMode = Prelude.Nothing, ddlArtifactsSchema = Prelude.Nothing, executeTimeout = Prelude.Nothing, failTasksOnLobTruncation = Prelude.Nothing, heartbeatEnable = Prelude.Nothing, heartbeatFrequency = Prelude.Nothing, heartbeatSchema = Prelude.Nothing, mapBooleanAsBoolean = Prelude.Nothing, maxFileSize = Prelude.Nothing, pluginName = Prelude.Nothing, secretsManagerAccessRoleArn = Prelude.Nothing, secretsManagerSecretId = Prelude.Nothing, slotName = Prelude.Nothing} instance ToResourceProperties PostgreSqlSettingsProperty where toResourceProperties PostgreSqlSettingsProperty {..} = ResourceProperties {awsType = "AWS::DMS::Endpoint.PostgreSqlSettings", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AfterConnectScript" Prelude.<$> afterConnectScript, (JSON..=) "BabelfishDatabaseName" Prelude.<$> babelfishDatabaseName, (JSON..=) "CaptureDdls" Prelude.<$> captureDdls, (JSON..=) "DatabaseMode" Prelude.<$> databaseMode, (JSON..=) "DdlArtifactsSchema" Prelude.<$> ddlArtifactsSchema, (JSON..=) "ExecuteTimeout" Prelude.<$> executeTimeout, (JSON..=) "FailTasksOnLobTruncation" Prelude.<$> failTasksOnLobTruncation, (JSON..=) "HeartbeatEnable" Prelude.<$> heartbeatEnable, (JSON..=) "HeartbeatFrequency" Prelude.<$> heartbeatFrequency, (JSON..=) "HeartbeatSchema" Prelude.<$> heartbeatSchema, (JSON..=) "MapBooleanAsBoolean" Prelude.<$> mapBooleanAsBoolean, (JSON..=) "MaxFileSize" Prelude.<$> maxFileSize, (JSON..=) "PluginName" Prelude.<$> pluginName, (JSON..=) "SecretsManagerAccessRoleArn" Prelude.<$> secretsManagerAccessRoleArn, (JSON..=) "SecretsManagerSecretId" Prelude.<$> secretsManagerSecretId, (JSON..=) "SlotName" Prelude.<$> slotName])} instance JSON.ToJSON PostgreSqlSettingsProperty where toJSON PostgreSqlSettingsProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AfterConnectScript" Prelude.<$> afterConnectScript, (JSON..=) "BabelfishDatabaseName" Prelude.<$> babelfishDatabaseName, (JSON..=) "CaptureDdls" Prelude.<$> captureDdls, (JSON..=) "DatabaseMode" Prelude.<$> databaseMode, (JSON..=) "DdlArtifactsSchema" Prelude.<$> ddlArtifactsSchema, (JSON..=) "ExecuteTimeout" Prelude.<$> executeTimeout, (JSON..=) "FailTasksOnLobTruncation" Prelude.<$> failTasksOnLobTruncation, (JSON..=) "HeartbeatEnable" Prelude.<$> heartbeatEnable, (JSON..=) "HeartbeatFrequency" Prelude.<$> heartbeatFrequency, (JSON..=) "HeartbeatSchema" Prelude.<$> heartbeatSchema, (JSON..=) "MapBooleanAsBoolean" Prelude.<$> mapBooleanAsBoolean, (JSON..=) "MaxFileSize" Prelude.<$> maxFileSize, (JSON..=) "PluginName" Prelude.<$> pluginName, (JSON..=) "SecretsManagerAccessRoleArn" Prelude.<$> secretsManagerAccessRoleArn, (JSON..=) "SecretsManagerSecretId" Prelude.<$> secretsManagerSecretId, (JSON..=) "SlotName" Prelude.<$> slotName])) instance Property "AfterConnectScript" PostgreSqlSettingsProperty where type PropertyType "AfterConnectScript" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {afterConnectScript = Prelude.pure newValue, ..} instance Property "BabelfishDatabaseName" PostgreSqlSettingsProperty where type PropertyType "BabelfishDatabaseName" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {babelfishDatabaseName = Prelude.pure newValue, ..} instance Property "CaptureDdls" PostgreSqlSettingsProperty where type PropertyType "CaptureDdls" PostgreSqlSettingsProperty = Value Prelude.Bool set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {captureDdls = Prelude.pure newValue, ..} instance Property "DatabaseMode" PostgreSqlSettingsProperty where type PropertyType "DatabaseMode" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {databaseMode = Prelude.pure newValue, ..} instance Property "DdlArtifactsSchema" PostgreSqlSettingsProperty where type PropertyType "DdlArtifactsSchema" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {ddlArtifactsSchema = Prelude.pure newValue, ..} instance Property "ExecuteTimeout" PostgreSqlSettingsProperty where type PropertyType "ExecuteTimeout" PostgreSqlSettingsProperty = Value Prelude.Integer set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {executeTimeout = Prelude.pure newValue, ..} instance Property "FailTasksOnLobTruncation" PostgreSqlSettingsProperty where type PropertyType "FailTasksOnLobTruncation" PostgreSqlSettingsProperty = Value Prelude.Bool set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {failTasksOnLobTruncation = Prelude.pure newValue, ..} instance Property "HeartbeatEnable" PostgreSqlSettingsProperty where type PropertyType "HeartbeatEnable" PostgreSqlSettingsProperty = Value Prelude.Bool set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {heartbeatEnable = Prelude.pure newValue, ..} instance Property "HeartbeatFrequency" PostgreSqlSettingsProperty where type PropertyType "HeartbeatFrequency" PostgreSqlSettingsProperty = Value Prelude.Integer set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {heartbeatFrequency = Prelude.pure newValue, ..} instance Property "HeartbeatSchema" PostgreSqlSettingsProperty where type PropertyType "HeartbeatSchema" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {heartbeatSchema = Prelude.pure newValue, ..} instance Property "MapBooleanAsBoolean" PostgreSqlSettingsProperty where type PropertyType "MapBooleanAsBoolean" PostgreSqlSettingsProperty = Value Prelude.Bool set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {mapBooleanAsBoolean = Prelude.pure newValue, ..} instance Property "MaxFileSize" PostgreSqlSettingsProperty where type PropertyType "MaxFileSize" PostgreSqlSettingsProperty = Value Prelude.Integer set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {maxFileSize = Prelude.pure newValue, ..} instance Property "PluginName" PostgreSqlSettingsProperty where type PropertyType "PluginName" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {pluginName = Prelude.pure newValue, ..} instance Property "SecretsManagerAccessRoleArn" PostgreSqlSettingsProperty where type PropertyType "SecretsManagerAccessRoleArn" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {secretsManagerAccessRoleArn = Prelude.pure newValue, ..} instance Property "SecretsManagerSecretId" PostgreSqlSettingsProperty where type PropertyType "SecretsManagerSecretId" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {secretsManagerSecretId = Prelude.pure newValue, ..} instance Property "SlotName" PostgreSqlSettingsProperty where type PropertyType "SlotName" PostgreSqlSettingsProperty = Value Prelude.Text set newValue PostgreSqlSettingsProperty {..} = PostgreSqlSettingsProperty {slotName = Prelude.pure newValue, ..}