module Stratosphere.Bedrock.DataAutomationProject.DocumentStandardOutputConfigurationProperty (
        module Exports, DocumentStandardOutputConfigurationProperty(..),
        mkDocumentStandardOutputConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentOutputFormatProperty as Exports
import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentStandardExtractionProperty as Exports
import {-# SOURCE #-} Stratosphere.Bedrock.DataAutomationProject.DocumentStandardGenerativeFieldProperty as Exports
import Stratosphere.ResourceProperties
data DocumentStandardOutputConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html>
    DocumentStandardOutputConfigurationProperty {DocumentStandardOutputConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-extraction>
                                                 DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
extraction :: (Prelude.Maybe DocumentStandardExtractionProperty),
                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-generativefield>
                                                 DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
generativeField :: (Prelude.Maybe DocumentStandardGenerativeFieldProperty),
                                                 -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-dataautomationproject-documentstandardoutputconfiguration.html#cfn-bedrock-dataautomationproject-documentstandardoutputconfiguration-outputformat>
                                                 DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
outputFormat :: (Prelude.Maybe DocumentOutputFormatProperty)}
  deriving stock (DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty -> Bool
(DocumentStandardOutputConfigurationProperty
 -> DocumentStandardOutputConfigurationProperty -> Bool)
-> (DocumentStandardOutputConfigurationProperty
    -> DocumentStandardOutputConfigurationProperty -> Bool)
-> Eq DocumentStandardOutputConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty -> Bool
== :: DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty -> Bool
$c/= :: DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty -> Bool
/= :: DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty -> Bool
Prelude.Eq, Int -> DocumentStandardOutputConfigurationProperty -> ShowS
[DocumentStandardOutputConfigurationProperty] -> ShowS
DocumentStandardOutputConfigurationProperty -> String
(Int -> DocumentStandardOutputConfigurationProperty -> ShowS)
-> (DocumentStandardOutputConfigurationProperty -> String)
-> ([DocumentStandardOutputConfigurationProperty] -> ShowS)
-> Show DocumentStandardOutputConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> DocumentStandardOutputConfigurationProperty -> ShowS
showsPrec :: Int -> DocumentStandardOutputConfigurationProperty -> ShowS
$cshow :: DocumentStandardOutputConfigurationProperty -> String
show :: DocumentStandardOutputConfigurationProperty -> String
$cshowList :: [DocumentStandardOutputConfigurationProperty] -> ShowS
showList :: [DocumentStandardOutputConfigurationProperty] -> ShowS
Prelude.Show)
mkDocumentStandardOutputConfigurationProperty ::
  DocumentStandardOutputConfigurationProperty
mkDocumentStandardOutputConfigurationProperty :: DocumentStandardOutputConfigurationProperty
mkDocumentStandardOutputConfigurationProperty
  = DocumentStandardOutputConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), extraction :: Maybe DocumentStandardExtractionProperty
extraction = Maybe DocumentStandardExtractionProperty
forall a. Maybe a
Prelude.Nothing,
       generativeField :: Maybe DocumentStandardGenerativeFieldProperty
generativeField = Maybe DocumentStandardGenerativeFieldProperty
forall a. Maybe a
Prelude.Nothing, outputFormat :: Maybe DocumentOutputFormatProperty
outputFormat = Maybe DocumentOutputFormatProperty
forall a. Maybe a
Prelude.Nothing}
instance ToResourceProperties DocumentStandardOutputConfigurationProperty where
  toResourceProperties :: DocumentStandardOutputConfigurationProperty -> ResourceProperties
toResourceProperties
    DocumentStandardOutputConfigurationProperty {Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: DocumentStandardOutputConfigurationProperty -> ()
extraction :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
generativeField :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::DataAutomationProject.DocumentStandardOutputConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Item Object] -> Object
forall l. IsList l => [Item l] -> l
Prelude.fromList
                        ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
                           [Key -> DocumentStandardExtractionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Extraction" (DocumentStandardExtractionProperty -> (Key, Value))
-> Maybe DocumentStandardExtractionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentStandardExtractionProperty
extraction,
                            Key -> DocumentStandardGenerativeFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GenerativeField" (DocumentStandardGenerativeFieldProperty -> (Key, Value))
-> Maybe DocumentStandardGenerativeFieldProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentStandardGenerativeFieldProperty
generativeField,
                            Key -> DocumentOutputFormatProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"OutputFormat" (DocumentOutputFormatProperty -> (Key, Value))
-> Maybe DocumentOutputFormatProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentOutputFormatProperty
outputFormat])}
instance JSON.ToJSON DocumentStandardOutputConfigurationProperty where
  toJSON :: DocumentStandardOutputConfigurationProperty -> Value
toJSON DocumentStandardOutputConfigurationProperty {Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: DocumentStandardOutputConfigurationProperty -> ()
extraction :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
generativeField :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        ([Item [(Key, Value)]] -> [(Key, Value)]
forall l. IsList l => [Item l] -> l
Prelude.fromList
           ([Maybe (Key, Value)] -> [(Key, Value)]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
              [Key -> DocumentStandardExtractionProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"Extraction" (DocumentStandardExtractionProperty -> (Key, Value))
-> Maybe DocumentStandardExtractionProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentStandardExtractionProperty
extraction,
               Key -> DocumentStandardGenerativeFieldProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"GenerativeField" (DocumentStandardGenerativeFieldProperty -> (Key, Value))
-> Maybe DocumentStandardGenerativeFieldProperty
-> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentStandardGenerativeFieldProperty
generativeField,
               Key -> DocumentOutputFormatProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
(JSON..=) Key
"OutputFormat" (DocumentOutputFormatProperty -> (Key, Value))
-> Maybe DocumentOutputFormatProperty -> Maybe (Key, Value)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe DocumentOutputFormatProperty
outputFormat]))
instance Property "Extraction" DocumentStandardOutputConfigurationProperty where
  type PropertyType "Extraction" DocumentStandardOutputConfigurationProperty = DocumentStandardExtractionProperty
  set :: PropertyType
  "Extraction" DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
set PropertyType
  "Extraction" DocumentStandardOutputConfigurationProperty
newValue DocumentStandardOutputConfigurationProperty {Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: DocumentStandardOutputConfigurationProperty -> ()
extraction :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
generativeField :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
    = DocumentStandardOutputConfigurationProperty
        {extraction :: Maybe DocumentStandardExtractionProperty
extraction = DocumentStandardExtractionProperty
-> Maybe DocumentStandardExtractionProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "Extraction" DocumentStandardOutputConfigurationProperty
DocumentStandardExtractionProperty
newValue, Maybe DocumentOutputFormatProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: ()
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
instance Property "GenerativeField" DocumentStandardOutputConfigurationProperty where
  type PropertyType "GenerativeField" DocumentStandardOutputConfigurationProperty = DocumentStandardGenerativeFieldProperty
  set :: PropertyType
  "GenerativeField" DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
set PropertyType
  "GenerativeField" DocumentStandardOutputConfigurationProperty
newValue DocumentStandardOutputConfigurationProperty {Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: DocumentStandardOutputConfigurationProperty -> ()
extraction :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
generativeField :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
    = DocumentStandardOutputConfigurationProperty
        {generativeField :: Maybe DocumentStandardGenerativeFieldProperty
generativeField = DocumentStandardGenerativeFieldProperty
-> Maybe DocumentStandardGenerativeFieldProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "GenerativeField" DocumentStandardOutputConfigurationProperty
DocumentStandardGenerativeFieldProperty
newValue, Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
()
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
outputFormat :: Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
instance Property "OutputFormat" DocumentStandardOutputConfigurationProperty where
  type PropertyType "OutputFormat" DocumentStandardOutputConfigurationProperty = DocumentOutputFormatProperty
  set :: PropertyType
  "OutputFormat" DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
-> DocumentStandardOutputConfigurationProperty
set PropertyType
  "OutputFormat" DocumentStandardOutputConfigurationProperty
newValue DocumentStandardOutputConfigurationProperty {Maybe DocumentOutputFormatProperty
Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: DocumentStandardOutputConfigurationProperty -> ()
extraction :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardExtractionProperty
generativeField :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: DocumentStandardOutputConfigurationProperty
-> Maybe DocumentOutputFormatProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
outputFormat :: Maybe DocumentOutputFormatProperty
..}
    = DocumentStandardOutputConfigurationProperty
        {outputFormat :: Maybe DocumentOutputFormatProperty
outputFormat = DocumentOutputFormatProperty -> Maybe DocumentOutputFormatProperty
forall a. a -> Maybe a
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure PropertyType
  "OutputFormat" DocumentStandardOutputConfigurationProperty
DocumentOutputFormatProperty
newValue, Maybe DocumentStandardExtractionProperty
Maybe DocumentStandardGenerativeFieldProperty
()
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
haddock_workaround_ :: ()
extraction :: Maybe DocumentStandardExtractionProperty
generativeField :: Maybe DocumentStandardGenerativeFieldProperty
..}