module Stratosphere.IoTAnalytics.Pipeline.DatastoreProperty (
        DatastoreProperty(..), mkDatastoreProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data DatastoreProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html>
    DatastoreProperty {DatastoreProperty -> ()
haddock_workaround_ :: (),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-datastorename>
                       DatastoreProperty -> Value Text
datastoreName :: (Value Prelude.Text),
                       -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-pipeline-datastore.html#cfn-iotanalytics-pipeline-datastore-name>
                       DatastoreProperty -> Value Text
name :: (Value Prelude.Text)}
  deriving stock (DatastoreProperty -> DatastoreProperty -> Bool
(DatastoreProperty -> DatastoreProperty -> Bool)
-> (DatastoreProperty -> DatastoreProperty -> Bool)
-> Eq DatastoreProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DatastoreProperty -> DatastoreProperty -> Bool
== :: DatastoreProperty -> DatastoreProperty -> Bool
$c/= :: DatastoreProperty -> DatastoreProperty -> Bool
/= :: DatastoreProperty -> DatastoreProperty -> Bool
Prelude.Eq, Int -> DatastoreProperty -> ShowS
[DatastoreProperty] -> ShowS
DatastoreProperty -> String
(Int -> DatastoreProperty -> ShowS)
-> (DatastoreProperty -> String)
-> ([DatastoreProperty] -> ShowS)
-> Show DatastoreProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DatastoreProperty -> ShowS
showsPrec :: Int -> DatastoreProperty -> ShowS
$cshow :: DatastoreProperty -> String
show :: DatastoreProperty -> String
$cshowList :: [DatastoreProperty] -> ShowS
showList :: [DatastoreProperty] -> ShowS
Prelude.Show)
mkDatastoreProperty ::
  Value Prelude.Text -> Value Prelude.Text -> DatastoreProperty
mkDatastoreProperty :: Value Text -> Value Text -> DatastoreProperty
mkDatastoreProperty Value Text
datastoreName Value Text
name
  = DatastoreProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), datastoreName :: Value Text
datastoreName = Value Text
datastoreName,
       name :: Value Text
name = Value Text
name}
instance ToResourceProperties DatastoreProperty where
  toResourceProperties :: DatastoreProperty -> ResourceProperties
toResourceProperties DatastoreProperty {()
Value Text
haddock_workaround_ :: DatastoreProperty -> ()
datastoreName :: DatastoreProperty -> Value Text
name :: DatastoreProperty -> Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
name :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTAnalytics::Pipeline.Datastore",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DatastoreName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
datastoreName,
                       Key
"Name" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
name]}
instance JSON.ToJSON DatastoreProperty where
  toJSON :: DatastoreProperty -> Value
toJSON DatastoreProperty {()
Value Text
haddock_workaround_ :: DatastoreProperty -> ()
datastoreName :: DatastoreProperty -> Value Text
name :: DatastoreProperty -> Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
name :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DatastoreName" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
datastoreName, Key
"Name" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
name]
instance Property "DatastoreName" DatastoreProperty where
  type PropertyType "DatastoreName" DatastoreProperty = Value Prelude.Text
  set :: PropertyType "DatastoreName" DatastoreProperty
-> DatastoreProperty -> DatastoreProperty
set PropertyType "DatastoreName" DatastoreProperty
newValue DatastoreProperty {()
Value Text
haddock_workaround_ :: DatastoreProperty -> ()
datastoreName :: DatastoreProperty -> Value Text
name :: DatastoreProperty -> Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
name :: Value Text
..}
    = DatastoreProperty {datastoreName :: Value Text
datastoreName = PropertyType "DatastoreName" DatastoreProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
name :: Value Text
haddock_workaround_ :: ()
name :: Value Text
..}
instance Property "Name" DatastoreProperty where
  type PropertyType "Name" DatastoreProperty = Value Prelude.Text
  set :: PropertyType "Name" DatastoreProperty
-> DatastoreProperty -> DatastoreProperty
set PropertyType "Name" DatastoreProperty
newValue DatastoreProperty {()
Value Text
haddock_workaround_ :: DatastoreProperty -> ()
datastoreName :: DatastoreProperty -> Value Text
name :: DatastoreProperty -> Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
name :: Value Text
..}
    = DatastoreProperty {name :: Value Text
name = PropertyType "Name" DatastoreProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
haddock_workaround_ :: ()
datastoreName :: Value Text
..}