module Stratosphere.CleanRoomsML.TrainingDataset.DatasetInputConfigProperty (
        module Exports, DatasetInputConfigProperty(..),
        mkDatasetInputConfigProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.CleanRoomsML.TrainingDataset.ColumnSchemaProperty as Exports
import {-# SOURCE #-} Stratosphere.CleanRoomsML.TrainingDataset.DataSourceProperty as Exports
import Stratosphere.ResourceProperties
data DatasetInputConfigProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html>
    DatasetInputConfigProperty {DatasetInputConfigProperty -> ()
haddock_workaround_ :: (),
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html#cfn-cleanroomsml-trainingdataset-datasetinputconfig-datasource>
                                DatasetInputConfigProperty -> DataSourceProperty
dataSource :: DataSourceProperty,
                                -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cleanroomsml-trainingdataset-datasetinputconfig.html#cfn-cleanroomsml-trainingdataset-datasetinputconfig-schema>
                                DatasetInputConfigProperty -> [ColumnSchemaProperty]
schema :: [ColumnSchemaProperty]}
  deriving stock (DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool
(DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool)
-> (DatasetInputConfigProperty
    -> DatasetInputConfigProperty -> Bool)
-> Eq DatasetInputConfigProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool
== :: DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool
$c/= :: DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool
/= :: DatasetInputConfigProperty -> DatasetInputConfigProperty -> Bool
Prelude.Eq, Int -> DatasetInputConfigProperty -> ShowS
[DatasetInputConfigProperty] -> ShowS
DatasetInputConfigProperty -> String
(Int -> DatasetInputConfigProperty -> ShowS)
-> (DatasetInputConfigProperty -> String)
-> ([DatasetInputConfigProperty] -> ShowS)
-> Show DatasetInputConfigProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DatasetInputConfigProperty -> ShowS
showsPrec :: Int -> DatasetInputConfigProperty -> ShowS
$cshow :: DatasetInputConfigProperty -> String
show :: DatasetInputConfigProperty -> String
$cshowList :: [DatasetInputConfigProperty] -> ShowS
showList :: [DatasetInputConfigProperty] -> ShowS
Prelude.Show)
mkDatasetInputConfigProperty ::
  DataSourceProperty
  -> [ColumnSchemaProperty] -> DatasetInputConfigProperty
mkDatasetInputConfigProperty :: DataSourceProperty
-> [ColumnSchemaProperty] -> DatasetInputConfigProperty
mkDatasetInputConfigProperty DataSourceProperty
dataSource [ColumnSchemaProperty]
schema
  = DatasetInputConfigProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), dataSource :: DataSourceProperty
dataSource = DataSourceProperty
dataSource,
       schema :: [ColumnSchemaProperty]
schema = [ColumnSchemaProperty]
schema}
instance ToResourceProperties DatasetInputConfigProperty where
  toResourceProperties :: DatasetInputConfigProperty -> ResourceProperties
toResourceProperties DatasetInputConfigProperty {[ColumnSchemaProperty]
()
DataSourceProperty
haddock_workaround_ :: DatasetInputConfigProperty -> ()
dataSource :: DatasetInputConfigProperty -> DataSourceProperty
schema :: DatasetInputConfigProperty -> [ColumnSchemaProperty]
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
schema :: [ColumnSchemaProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::CleanRoomsML::TrainingDataset.DatasetInputConfig",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DataSource" Key -> DataSourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DataSourceProperty
dataSource,
                       Key
"Schema" Key -> [ColumnSchemaProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [ColumnSchemaProperty]
schema]}
instance JSON.ToJSON DatasetInputConfigProperty where
  toJSON :: DatasetInputConfigProperty -> Value
toJSON DatasetInputConfigProperty {[ColumnSchemaProperty]
()
DataSourceProperty
haddock_workaround_ :: DatasetInputConfigProperty -> ()
dataSource :: DatasetInputConfigProperty -> DataSourceProperty
schema :: DatasetInputConfigProperty -> [ColumnSchemaProperty]
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
schema :: [ColumnSchemaProperty]
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DataSource" Key -> DataSourceProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= DataSourceProperty
dataSource, Key
"Schema" Key -> [ColumnSchemaProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [ColumnSchemaProperty]
schema]
instance Property "DataSource" DatasetInputConfigProperty where
  type PropertyType "DataSource" DatasetInputConfigProperty = DataSourceProperty
  set :: PropertyType "DataSource" DatasetInputConfigProperty
-> DatasetInputConfigProperty -> DatasetInputConfigProperty
set PropertyType "DataSource" DatasetInputConfigProperty
newValue DatasetInputConfigProperty {[ColumnSchemaProperty]
()
DataSourceProperty
haddock_workaround_ :: DatasetInputConfigProperty -> ()
dataSource :: DatasetInputConfigProperty -> DataSourceProperty
schema :: DatasetInputConfigProperty -> [ColumnSchemaProperty]
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
schema :: [ColumnSchemaProperty]
..}
    = DatasetInputConfigProperty {dataSource :: DataSourceProperty
dataSource = PropertyType "DataSource" DatasetInputConfigProperty
DataSourceProperty
newValue, [ColumnSchemaProperty]
()
haddock_workaround_ :: ()
schema :: [ColumnSchemaProperty]
haddock_workaround_ :: ()
schema :: [ColumnSchemaProperty]
..}
instance Property "Schema" DatasetInputConfigProperty where
  type PropertyType "Schema" DatasetInputConfigProperty = [ColumnSchemaProperty]
  set :: PropertyType "Schema" DatasetInputConfigProperty
-> DatasetInputConfigProperty -> DatasetInputConfigProperty
set PropertyType "Schema" DatasetInputConfigProperty
newValue DatasetInputConfigProperty {[ColumnSchemaProperty]
()
DataSourceProperty
haddock_workaround_ :: DatasetInputConfigProperty -> ()
dataSource :: DatasetInputConfigProperty -> DataSourceProperty
schema :: DatasetInputConfigProperty -> [ColumnSchemaProperty]
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
schema :: [ColumnSchemaProperty]
..}
    = DatasetInputConfigProperty {schema :: [ColumnSchemaProperty]
schema = [ColumnSchemaProperty]
PropertyType "Schema" DatasetInputConfigProperty
newValue, ()
DataSourceProperty
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
haddock_workaround_ :: ()
dataSource :: DataSourceProperty
..}