stratosphere-dms-1.0.0: gen/Stratosphere/DMS/DataProvider.hs
module Stratosphere.DMS.DataProvider (
module Exports, DataProvider(..), mkDataProvider
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.DMS.DataProvider.SettingsProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Tag
import Stratosphere.Value
data DataProvider
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html>
DataProvider {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-dataprovideridentifier>
dataProviderIdentifier :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-dataprovidername>
dataProviderName :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-description>
description :: (Prelude.Maybe (Value Prelude.Text)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-engine>
engine :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-exactsettings>
exactSettings :: (Prelude.Maybe (Value Prelude.Bool)),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-settings>
settings :: (Prelude.Maybe SettingsProperty),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dms-dataprovider.html#cfn-dms-dataprovider-tags>
tags :: (Prelude.Maybe [Tag])}
deriving stock (Prelude.Eq, Prelude.Show)
mkDataProvider :: Value Prelude.Text -> DataProvider
mkDataProvider engine
= DataProvider
{haddock_workaround_ = (), engine = engine,
dataProviderIdentifier = Prelude.Nothing,
dataProviderName = Prelude.Nothing, description = Prelude.Nothing,
exactSettings = Prelude.Nothing, settings = Prelude.Nothing,
tags = Prelude.Nothing}
instance ToResourceProperties DataProvider where
toResourceProperties DataProvider {..}
= ResourceProperties
{awsType = "AWS::DMS::DataProvider", supportsTags = Prelude.True,
properties = Prelude.fromList
((Prelude.<>)
["Engine" JSON..= engine]
(Prelude.catMaybes
[(JSON..=) "DataProviderIdentifier"
Prelude.<$> dataProviderIdentifier,
(JSON..=) "DataProviderName" Prelude.<$> dataProviderName,
(JSON..=) "Description" Prelude.<$> description,
(JSON..=) "ExactSettings" Prelude.<$> exactSettings,
(JSON..=) "Settings" Prelude.<$> settings,
(JSON..=) "Tags" Prelude.<$> tags]))}
instance JSON.ToJSON DataProvider where
toJSON DataProvider {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["Engine" JSON..= engine]
(Prelude.catMaybes
[(JSON..=) "DataProviderIdentifier"
Prelude.<$> dataProviderIdentifier,
(JSON..=) "DataProviderName" Prelude.<$> dataProviderName,
(JSON..=) "Description" Prelude.<$> description,
(JSON..=) "ExactSettings" Prelude.<$> exactSettings,
(JSON..=) "Settings" Prelude.<$> settings,
(JSON..=) "Tags" Prelude.<$> tags])))
instance Property "DataProviderIdentifier" DataProvider where
type PropertyType "DataProviderIdentifier" DataProvider = Value Prelude.Text
set newValue DataProvider {..}
= DataProvider {dataProviderIdentifier = Prelude.pure newValue, ..}
instance Property "DataProviderName" DataProvider where
type PropertyType "DataProviderName" DataProvider = Value Prelude.Text
set newValue DataProvider {..}
= DataProvider {dataProviderName = Prelude.pure newValue, ..}
instance Property "Description" DataProvider where
type PropertyType "Description" DataProvider = Value Prelude.Text
set newValue DataProvider {..}
= DataProvider {description = Prelude.pure newValue, ..}
instance Property "Engine" DataProvider where
type PropertyType "Engine" DataProvider = Value Prelude.Text
set newValue DataProvider {..}
= DataProvider {engine = newValue, ..}
instance Property "ExactSettings" DataProvider where
type PropertyType "ExactSettings" DataProvider = Value Prelude.Bool
set newValue DataProvider {..}
= DataProvider {exactSettings = Prelude.pure newValue, ..}
instance Property "Settings" DataProvider where
type PropertyType "Settings" DataProvider = SettingsProperty
set newValue DataProvider {..}
= DataProvider {settings = Prelude.pure newValue, ..}
instance Property "Tags" DataProvider where
type PropertyType "Tags" DataProvider = [Tag]
set newValue DataProvider {..}
= DataProvider {tags = Prelude.pure newValue, ..}