module Stratosphere.CleanRooms.ConfiguredTable.SnowflakeTableSchemaV1Property (
        SnowflakeTableSchemaV1Property(..),
        mkSnowflakeTableSchemaV1Property
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data SnowflakeTableSchemaV1Property
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-snowflaketableschemav1.html>
    SnowflakeTableSchemaV1Property {SnowflakeTableSchemaV1Property -> ()
haddock_workaround_ :: (),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-snowflaketableschemav1.html#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columnname>
                                    SnowflakeTableSchemaV1Property -> Value Text
columnName :: (Value Prelude.Text),
                                    -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanrooms-configuredtable-snowflaketableschemav1.html#cfn-cleanrooms-configuredtable-snowflaketableschemav1-columntype>
                                    SnowflakeTableSchemaV1Property -> Value Text
columnType :: (Value Prelude.Text)}
  deriving stock (SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> Bool
(SnowflakeTableSchemaV1Property
 -> SnowflakeTableSchemaV1Property -> Bool)
-> (SnowflakeTableSchemaV1Property
    -> SnowflakeTableSchemaV1Property -> Bool)
-> Eq SnowflakeTableSchemaV1Property
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> Bool
== :: SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> Bool
$c/= :: SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> Bool
/= :: SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> Bool
Prelude.Eq, Int -> SnowflakeTableSchemaV1Property -> ShowS
[SnowflakeTableSchemaV1Property] -> ShowS
SnowflakeTableSchemaV1Property -> String
(Int -> SnowflakeTableSchemaV1Property -> ShowS)
-> (SnowflakeTableSchemaV1Property -> String)
-> ([SnowflakeTableSchemaV1Property] -> ShowS)
-> Show SnowflakeTableSchemaV1Property
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SnowflakeTableSchemaV1Property -> ShowS
showsPrec :: Int -> SnowflakeTableSchemaV1Property -> ShowS
$cshow :: SnowflakeTableSchemaV1Property -> String
show :: SnowflakeTableSchemaV1Property -> String
$cshowList :: [SnowflakeTableSchemaV1Property] -> ShowS
showList :: [SnowflakeTableSchemaV1Property] -> ShowS
Prelude.Show)
mkSnowflakeTableSchemaV1Property ::
  Value Prelude.Text
  -> Value Prelude.Text -> SnowflakeTableSchemaV1Property
mkSnowflakeTableSchemaV1Property :: Value Text -> Value Text -> SnowflakeTableSchemaV1Property
mkSnowflakeTableSchemaV1Property Value Text
columnName Value Text
columnType
  = SnowflakeTableSchemaV1Property
      {haddock_workaround_ :: ()
haddock_workaround_ = (), columnName :: Value Text
columnName = Value Text
columnName,
       columnType :: Value Text
columnType = Value Text
columnType}
instance ToResourceProperties SnowflakeTableSchemaV1Property where
  toResourceProperties :: SnowflakeTableSchemaV1Property -> ResourceProperties
toResourceProperties SnowflakeTableSchemaV1Property {()
Value Text
haddock_workaround_ :: SnowflakeTableSchemaV1Property -> ()
columnName :: SnowflakeTableSchemaV1Property -> Value Text
columnType :: SnowflakeTableSchemaV1Property -> Value Text
haddock_workaround_ :: ()
columnName :: Value Text
columnType :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CleanRooms::ConfiguredTable.SnowflakeTableSchemaV1",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ColumnName" 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
columnName,
                       Key
"ColumnType" 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
columnType]}
instance JSON.ToJSON SnowflakeTableSchemaV1Property where
  toJSON :: SnowflakeTableSchemaV1Property -> Value
toJSON SnowflakeTableSchemaV1Property {()
Value Text
haddock_workaround_ :: SnowflakeTableSchemaV1Property -> ()
columnName :: SnowflakeTableSchemaV1Property -> Value Text
columnType :: SnowflakeTableSchemaV1Property -> Value Text
haddock_workaround_ :: ()
columnName :: Value Text
columnType :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ColumnName" 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
columnName, Key
"ColumnType" 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
columnType]
instance Property "ColumnName" SnowflakeTableSchemaV1Property where
  type PropertyType "ColumnName" SnowflakeTableSchemaV1Property = Value Prelude.Text
  set :: PropertyType "ColumnName" SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> SnowflakeTableSchemaV1Property
set PropertyType "ColumnName" SnowflakeTableSchemaV1Property
newValue SnowflakeTableSchemaV1Property {()
Value Text
haddock_workaround_ :: SnowflakeTableSchemaV1Property -> ()
columnName :: SnowflakeTableSchemaV1Property -> Value Text
columnType :: SnowflakeTableSchemaV1Property -> Value Text
haddock_workaround_ :: ()
columnName :: Value Text
columnType :: Value Text
..}
    = SnowflakeTableSchemaV1Property {columnName :: Value Text
columnName = PropertyType "ColumnName" SnowflakeTableSchemaV1Property
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
columnType :: Value Text
haddock_workaround_ :: ()
columnType :: Value Text
..}
instance Property "ColumnType" SnowflakeTableSchemaV1Property where
  type PropertyType "ColumnType" SnowflakeTableSchemaV1Property = Value Prelude.Text
  set :: PropertyType "ColumnType" SnowflakeTableSchemaV1Property
-> SnowflakeTableSchemaV1Property -> SnowflakeTableSchemaV1Property
set PropertyType "ColumnType" SnowflakeTableSchemaV1Property
newValue SnowflakeTableSchemaV1Property {()
Value Text
haddock_workaround_ :: SnowflakeTableSchemaV1Property -> ()
columnName :: SnowflakeTableSchemaV1Property -> Value Text
columnType :: SnowflakeTableSchemaV1Property -> Value Text
haddock_workaround_ :: ()
columnName :: Value Text
columnType :: Value Text
..}
    = SnowflakeTableSchemaV1Property {columnType :: Value Text
columnType = PropertyType "ColumnType" SnowflakeTableSchemaV1Property
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
columnName :: Value Text
haddock_workaround_ :: ()
columnName :: Value Text
..}