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