module Stratosphere.DataZone.DataSource.RedshiftClusterStorageProperty (
        RedshiftClusterStorageProperty(..),
        mkRedshiftClusterStorageProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RedshiftClusterStorageProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-redshiftclusterstorage.html>
    RedshiftClusterStorageProperty {RedshiftClusterStorageProperty -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datazone-datasource-redshiftclusterstorage.html#cfn-datazone-datasource-redshiftclusterstorage-clustername>
                                    RedshiftClusterStorageProperty -> Value Text
clusterName :: (Value Prelude.Text)}
  deriving stock (RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> Bool
(RedshiftClusterStorageProperty
 -> RedshiftClusterStorageProperty -> Bool)
-> (RedshiftClusterStorageProperty
    -> RedshiftClusterStorageProperty -> Bool)
-> Eq RedshiftClusterStorageProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> Bool
== :: RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> Bool
$c/= :: RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> Bool
/= :: RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> Bool
Prelude.Eq, Int -> RedshiftClusterStorageProperty -> ShowS
[RedshiftClusterStorageProperty] -> ShowS
RedshiftClusterStorageProperty -> String
(Int -> RedshiftClusterStorageProperty -> ShowS)
-> (RedshiftClusterStorageProperty -> String)
-> ([RedshiftClusterStorageProperty] -> ShowS)
-> Show RedshiftClusterStorageProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RedshiftClusterStorageProperty -> ShowS
showsPrec :: Int -> RedshiftClusterStorageProperty -> ShowS
$cshow :: RedshiftClusterStorageProperty -> String
show :: RedshiftClusterStorageProperty -> String
$cshowList :: [RedshiftClusterStorageProperty] -> ShowS
showList :: [RedshiftClusterStorageProperty] -> ShowS
Prelude.Show)
mkRedshiftClusterStorageProperty ::
  Value Prelude.Text -> RedshiftClusterStorageProperty
mkRedshiftClusterStorageProperty :: Value Text -> RedshiftClusterStorageProperty
mkRedshiftClusterStorageProperty Value Text
clusterName
  = RedshiftClusterStorageProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), clusterName :: Value Text
clusterName = Value Text
clusterName}
instance ToResourceProperties RedshiftClusterStorageProperty where
  toResourceProperties :: RedshiftClusterStorageProperty -> ResourceProperties
toResourceProperties RedshiftClusterStorageProperty {()
Value Text
haddock_workaround_ :: RedshiftClusterStorageProperty -> ()
clusterName :: RedshiftClusterStorageProperty -> Value Text
haddock_workaround_ :: ()
clusterName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::DataZone::DataSource.RedshiftClusterStorage",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ClusterName" 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
clusterName]}
instance JSON.ToJSON RedshiftClusterStorageProperty where
  toJSON :: RedshiftClusterStorageProperty -> Value
toJSON RedshiftClusterStorageProperty {()
Value Text
haddock_workaround_ :: RedshiftClusterStorageProperty -> ()
clusterName :: RedshiftClusterStorageProperty -> Value Text
haddock_workaround_ :: ()
clusterName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object [Key
"ClusterName" 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
clusterName]
instance Property "ClusterName" RedshiftClusterStorageProperty where
  type PropertyType "ClusterName" RedshiftClusterStorageProperty = Value Prelude.Text
  set :: PropertyType "ClusterName" RedshiftClusterStorageProperty
-> RedshiftClusterStorageProperty -> RedshiftClusterStorageProperty
set PropertyType "ClusterName" RedshiftClusterStorageProperty
newValue RedshiftClusterStorageProperty {()
Value Text
haddock_workaround_ :: RedshiftClusterStorageProperty -> ()
clusterName :: RedshiftClusterStorageProperty -> Value Text
haddock_workaround_ :: ()
clusterName :: Value Text
..}
    = RedshiftClusterStorageProperty {clusterName :: Value Text
clusterName = PropertyType "ClusterName" RedshiftClusterStorageProperty
Value Text
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}