module Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageConfigurationProperty (
        module Exports, SupplementalDataStorageConfigurationProperty(..),
        mkSupplementalDataStorageConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.SupplementalDataStorageLocationProperty as Exports
import Stratosphere.ResourceProperties
data SupplementalDataStorageConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastorageconfiguration.html>
    SupplementalDataStorageConfigurationProperty {SupplementalDataStorageConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-supplementaldatastorageconfiguration.html#cfn-bedrock-knowledgebase-supplementaldatastorageconfiguration-supplementaldatastoragelocations>
                                                  SupplementalDataStorageConfigurationProperty
-> [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]}
  deriving stock (SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty -> Bool
(SupplementalDataStorageConfigurationProperty
 -> SupplementalDataStorageConfigurationProperty -> Bool)
-> (SupplementalDataStorageConfigurationProperty
    -> SupplementalDataStorageConfigurationProperty -> Bool)
-> Eq SupplementalDataStorageConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty -> Bool
== :: SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty -> Bool
$c/= :: SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty -> Bool
/= :: SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty -> Bool
Prelude.Eq, Int -> SupplementalDataStorageConfigurationProperty -> ShowS
[SupplementalDataStorageConfigurationProperty] -> ShowS
SupplementalDataStorageConfigurationProperty -> String
(Int -> SupplementalDataStorageConfigurationProperty -> ShowS)
-> (SupplementalDataStorageConfigurationProperty -> String)
-> ([SupplementalDataStorageConfigurationProperty] -> ShowS)
-> Show SupplementalDataStorageConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SupplementalDataStorageConfigurationProperty -> ShowS
showsPrec :: Int -> SupplementalDataStorageConfigurationProperty -> ShowS
$cshow :: SupplementalDataStorageConfigurationProperty -> String
show :: SupplementalDataStorageConfigurationProperty -> String
$cshowList :: [SupplementalDataStorageConfigurationProperty] -> ShowS
showList :: [SupplementalDataStorageConfigurationProperty] -> ShowS
Prelude.Show)
mkSupplementalDataStorageConfigurationProperty ::
  [SupplementalDataStorageLocationProperty]
  -> SupplementalDataStorageConfigurationProperty
mkSupplementalDataStorageConfigurationProperty :: [SupplementalDataStorageLocationProperty]
-> SupplementalDataStorageConfigurationProperty
mkSupplementalDataStorageConfigurationProperty
  [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations
  = SupplementalDataStorageConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations = [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations}
instance ToResourceProperties SupplementalDataStorageConfigurationProperty where
  toResourceProperties :: SupplementalDataStorageConfigurationProperty -> ResourceProperties
toResourceProperties
    SupplementalDataStorageConfigurationProperty {[SupplementalDataStorageLocationProperty]
()
haddock_workaround_ :: SupplementalDataStorageConfigurationProperty -> ()
supplementalDataStorageLocations :: SupplementalDataStorageConfigurationProperty
-> [SupplementalDataStorageLocationProperty]
haddock_workaround_ :: ()
supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::KnowledgeBase.SupplementalDataStorageConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"SupplementalDataStorageLocations"
                         Key -> [SupplementalDataStorageLocationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations]}
instance JSON.ToJSON SupplementalDataStorageConfigurationProperty where
  toJSON :: SupplementalDataStorageConfigurationProperty -> Value
toJSON SupplementalDataStorageConfigurationProperty {[SupplementalDataStorageLocationProperty]
()
haddock_workaround_ :: SupplementalDataStorageConfigurationProperty -> ()
supplementalDataStorageLocations :: SupplementalDataStorageConfigurationProperty
-> [SupplementalDataStorageLocationProperty]
haddock_workaround_ :: ()
supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"SupplementalDataStorageLocations"
           Key -> [SupplementalDataStorageLocationProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations]
instance Property "SupplementalDataStorageLocations" SupplementalDataStorageConfigurationProperty where
  type PropertyType "SupplementalDataStorageLocations" SupplementalDataStorageConfigurationProperty = [SupplementalDataStorageLocationProperty]
  set :: PropertyType
  "SupplementalDataStorageLocations"
  SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty
-> SupplementalDataStorageConfigurationProperty
set PropertyType
  "SupplementalDataStorageLocations"
  SupplementalDataStorageConfigurationProperty
newValue SupplementalDataStorageConfigurationProperty {[SupplementalDataStorageLocationProperty]
()
haddock_workaround_ :: SupplementalDataStorageConfigurationProperty -> ()
supplementalDataStorageLocations :: SupplementalDataStorageConfigurationProperty
-> [SupplementalDataStorageLocationProperty]
haddock_workaround_ :: ()
supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]
..}
    = SupplementalDataStorageConfigurationProperty
        {supplementalDataStorageLocations :: [SupplementalDataStorageLocationProperty]
supplementalDataStorageLocations = [SupplementalDataStorageLocationProperty]
PropertyType
  "SupplementalDataStorageLocations"
  SupplementalDataStorageConfigurationProperty
newValue, ()
haddock_workaround_ :: ()
haddock_workaround_ :: ()
..}