module Stratosphere.Bedrock.DataSource.CustomTransformationConfigurationProperty (
        module Exports, CustomTransformationConfigurationProperty(..),
        mkCustomTransformationConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.IntermediateStorageProperty as Exports
import {-# SOURCE #-} Stratosphere.Bedrock.DataSource.TransformationProperty as Exports
import Stratosphere.ResourceProperties
data CustomTransformationConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html>
    CustomTransformationConfigurationProperty {CustomTransformationConfigurationProperty -> ()
haddock_workaround_ :: (),
                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-intermediatestorage>
                                               CustomTransformationConfigurationProperty
-> IntermediateStorageProperty
intermediateStorage :: IntermediateStorageProperty,
                                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-transformations>
                                               CustomTransformationConfigurationProperty
-> [TransformationProperty]
transformations :: [TransformationProperty]}
  deriving stock (CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty -> Bool
(CustomTransformationConfigurationProperty
 -> CustomTransformationConfigurationProperty -> Bool)
-> (CustomTransformationConfigurationProperty
    -> CustomTransformationConfigurationProperty -> Bool)
-> Eq CustomTransformationConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty -> Bool
== :: CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty -> Bool
$c/= :: CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty -> Bool
/= :: CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty -> Bool
Prelude.Eq, Int -> CustomTransformationConfigurationProperty -> ShowS
[CustomTransformationConfigurationProperty] -> ShowS
CustomTransformationConfigurationProperty -> String
(Int -> CustomTransformationConfigurationProperty -> ShowS)
-> (CustomTransformationConfigurationProperty -> String)
-> ([CustomTransformationConfigurationProperty] -> ShowS)
-> Show CustomTransformationConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> CustomTransformationConfigurationProperty -> ShowS
showsPrec :: Int -> CustomTransformationConfigurationProperty -> ShowS
$cshow :: CustomTransformationConfigurationProperty -> String
show :: CustomTransformationConfigurationProperty -> String
$cshowList :: [CustomTransformationConfigurationProperty] -> ShowS
showList :: [CustomTransformationConfigurationProperty] -> ShowS
Prelude.Show)
mkCustomTransformationConfigurationProperty ::
  IntermediateStorageProperty
  -> [TransformationProperty]
     -> CustomTransformationConfigurationProperty
mkCustomTransformationConfigurationProperty :: IntermediateStorageProperty
-> [TransformationProperty]
-> CustomTransformationConfigurationProperty
mkCustomTransformationConfigurationProperty
  IntermediateStorageProperty
intermediateStorage
  [TransformationProperty]
transformations
  = CustomTransformationConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       intermediateStorage :: IntermediateStorageProperty
intermediateStorage = IntermediateStorageProperty
intermediateStorage,
       transformations :: [TransformationProperty]
transformations = [TransformationProperty]
transformations}
instance ToResourceProperties CustomTransformationConfigurationProperty where
  toResourceProperties :: CustomTransformationConfigurationProperty -> ResourceProperties
toResourceProperties CustomTransformationConfigurationProperty {[TransformationProperty]
()
IntermediateStorageProperty
haddock_workaround_ :: CustomTransformationConfigurationProperty -> ()
intermediateStorage :: CustomTransformationConfigurationProperty
-> IntermediateStorageProperty
transformations :: CustomTransformationConfigurationProperty
-> [TransformationProperty]
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
transformations :: [TransformationProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::DataSource.CustomTransformationConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"IntermediateStorage" Key -> IntermediateStorageProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= IntermediateStorageProperty
intermediateStorage,
                       Key
"Transformations" Key -> [TransformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [TransformationProperty]
transformations]}
instance JSON.ToJSON CustomTransformationConfigurationProperty where
  toJSON :: CustomTransformationConfigurationProperty -> Value
toJSON CustomTransformationConfigurationProperty {[TransformationProperty]
()
IntermediateStorageProperty
haddock_workaround_ :: CustomTransformationConfigurationProperty -> ()
intermediateStorage :: CustomTransformationConfigurationProperty
-> IntermediateStorageProperty
transformations :: CustomTransformationConfigurationProperty
-> [TransformationProperty]
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
transformations :: [TransformationProperty]
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"IntermediateStorage" Key -> IntermediateStorageProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= IntermediateStorageProperty
intermediateStorage,
         Key
"Transformations" Key -> [TransformationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [TransformationProperty]
transformations]
instance Property "IntermediateStorage" CustomTransformationConfigurationProperty where
  type PropertyType "IntermediateStorage" CustomTransformationConfigurationProperty = IntermediateStorageProperty
  set :: PropertyType
  "IntermediateStorage" CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty
set PropertyType
  "IntermediateStorage" CustomTransformationConfigurationProperty
newValue CustomTransformationConfigurationProperty {[TransformationProperty]
()
IntermediateStorageProperty
haddock_workaround_ :: CustomTransformationConfigurationProperty -> ()
intermediateStorage :: CustomTransformationConfigurationProperty
-> IntermediateStorageProperty
transformations :: CustomTransformationConfigurationProperty
-> [TransformationProperty]
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
transformations :: [TransformationProperty]
..}
    = CustomTransformationConfigurationProperty
        {intermediateStorage :: IntermediateStorageProperty
intermediateStorage = PropertyType
  "IntermediateStorage" CustomTransformationConfigurationProperty
IntermediateStorageProperty
newValue, [TransformationProperty]
()
haddock_workaround_ :: ()
transformations :: [TransformationProperty]
haddock_workaround_ :: ()
transformations :: [TransformationProperty]
..}
instance Property "Transformations" CustomTransformationConfigurationProperty where
  type PropertyType "Transformations" CustomTransformationConfigurationProperty = [TransformationProperty]
  set :: PropertyType
  "Transformations" CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty
-> CustomTransformationConfigurationProperty
set PropertyType
  "Transformations" CustomTransformationConfigurationProperty
newValue CustomTransformationConfigurationProperty {[TransformationProperty]
()
IntermediateStorageProperty
haddock_workaround_ :: CustomTransformationConfigurationProperty -> ()
intermediateStorage :: CustomTransformationConfigurationProperty
-> IntermediateStorageProperty
transformations :: CustomTransformationConfigurationProperty
-> [TransformationProperty]
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
transformations :: [TransformationProperty]
..}
    = CustomTransformationConfigurationProperty
        {transformations :: [TransformationProperty]
transformations = [TransformationProperty]
PropertyType
  "Transformations" CustomTransformationConfigurationProperty
newValue, ()
IntermediateStorageProperty
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
haddock_workaround_ :: ()
intermediateStorage :: IntermediateStorageProperty
..}