module Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterConfigurationProperty (
        module Exports, OpenSearchManagedClusterConfigurationProperty(..),
        mkOpenSearchManagedClusterConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.Bedrock.KnowledgeBase.OpenSearchManagedClusterFieldMappingProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data OpenSearchManagedClusterConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html>
    OpenSearchManagedClusterConfigurationProperty {OpenSearchManagedClusterConfigurationProperty -> ()
haddock_workaround_ :: (),
                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-domainarn>
                                                   OpenSearchManagedClusterConfigurationProperty -> Value Text
domainArn :: (Value Prelude.Text),
                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-domainendpoint>
                                                   OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: (Value Prelude.Text),
                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-fieldmapping>
                                                   OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty,
                                                   -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchmanagedclusterconfiguration.html#cfn-bedrock-knowledgebase-opensearchmanagedclusterconfiguration-vectorindexname>
                                                   OpenSearchManagedClusterConfigurationProperty -> Value Text
vectorIndexName :: (Value Prelude.Text)}
  deriving stock (OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty -> Bool
(OpenSearchManagedClusterConfigurationProperty
 -> OpenSearchManagedClusterConfigurationProperty -> Bool)
-> (OpenSearchManagedClusterConfigurationProperty
    -> OpenSearchManagedClusterConfigurationProperty -> Bool)
-> Eq OpenSearchManagedClusterConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty -> Bool
== :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty -> Bool
$c/= :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty -> Bool
/= :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty -> Bool
Prelude.Eq, Int -> OpenSearchManagedClusterConfigurationProperty -> ShowS
[OpenSearchManagedClusterConfigurationProperty] -> ShowS
OpenSearchManagedClusterConfigurationProperty -> String
(Int -> OpenSearchManagedClusterConfigurationProperty -> ShowS)
-> (OpenSearchManagedClusterConfigurationProperty -> String)
-> ([OpenSearchManagedClusterConfigurationProperty] -> ShowS)
-> Show OpenSearchManagedClusterConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OpenSearchManagedClusterConfigurationProperty -> ShowS
showsPrec :: Int -> OpenSearchManagedClusterConfigurationProperty -> ShowS
$cshow :: OpenSearchManagedClusterConfigurationProperty -> String
show :: OpenSearchManagedClusterConfigurationProperty -> String
$cshowList :: [OpenSearchManagedClusterConfigurationProperty] -> ShowS
showList :: [OpenSearchManagedClusterConfigurationProperty] -> ShowS
Prelude.Show)
mkOpenSearchManagedClusterConfigurationProperty ::
  Value Prelude.Text
  -> Value Prelude.Text
     -> OpenSearchManagedClusterFieldMappingProperty
        -> Value Prelude.Text
           -> OpenSearchManagedClusterConfigurationProperty
mkOpenSearchManagedClusterConfigurationProperty :: Value Text
-> Value Text
-> OpenSearchManagedClusterFieldMappingProperty
-> Value Text
-> OpenSearchManagedClusterConfigurationProperty
mkOpenSearchManagedClusterConfigurationProperty
  Value Text
domainArn
  Value Text
domainEndpoint
  OpenSearchManagedClusterFieldMappingProperty
fieldMapping
  Value Text
vectorIndexName
  = OpenSearchManagedClusterConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), domainArn :: Value Text
domainArn = Value Text
domainArn,
       domainEndpoint :: Value Text
domainEndpoint = Value Text
domainEndpoint, fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
fieldMapping = OpenSearchManagedClusterFieldMappingProperty
fieldMapping,
       vectorIndexName :: Value Text
vectorIndexName = Value Text
vectorIndexName}
instance ToResourceProperties OpenSearchManagedClusterConfigurationProperty where
  toResourceProperties :: OpenSearchManagedClusterConfigurationProperty -> ResourceProperties
toResourceProperties
    OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::KnowledgeBase.OpenSearchManagedClusterConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"DomainArn" 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
domainArn,
                       Key
"DomainEndpoint" 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
domainEndpoint,
                       Key
"FieldMapping" Key -> OpenSearchManagedClusterFieldMappingProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OpenSearchManagedClusterFieldMappingProperty
fieldMapping,
                       Key
"VectorIndexName" 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
vectorIndexName]}
instance JSON.ToJSON OpenSearchManagedClusterConfigurationProperty where
  toJSON :: OpenSearchManagedClusterConfigurationProperty -> Value
toJSON OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"DomainArn" 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
domainArn,
         Key
"DomainEndpoint" 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
domainEndpoint,
         Key
"FieldMapping" Key -> OpenSearchManagedClusterFieldMappingProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= OpenSearchManagedClusterFieldMappingProperty
fieldMapping,
         Key
"VectorIndexName" 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
vectorIndexName]
instance Property "DomainArn" OpenSearchManagedClusterConfigurationProperty where
  type PropertyType "DomainArn" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
  set :: PropertyType
  "DomainArn" OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
set PropertyType
  "DomainArn" OpenSearchManagedClusterConfigurationProperty
newValue OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = OpenSearchManagedClusterConfigurationProperty
        {domainArn :: Value Text
domainArn = PropertyType
  "DomainArn" OpenSearchManagedClusterConfigurationProperty
Value Text
newValue, ()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: ()
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
haddock_workaround_ :: ()
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
instance Property "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty where
  type PropertyType "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
  set :: PropertyType
  "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
set PropertyType
  "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty
newValue OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = OpenSearchManagedClusterConfigurationProperty
        {domainEndpoint :: Value Text
domainEndpoint = PropertyType
  "DomainEndpoint" OpenSearchManagedClusterConfigurationProperty
Value Text
newValue, ()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: ()
domainArn :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
instance Property "FieldMapping" OpenSearchManagedClusterConfigurationProperty where
  type PropertyType "FieldMapping" OpenSearchManagedClusterConfigurationProperty = OpenSearchManagedClusterFieldMappingProperty
  set :: PropertyType
  "FieldMapping" OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
set PropertyType
  "FieldMapping" OpenSearchManagedClusterConfigurationProperty
newValue OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = OpenSearchManagedClusterConfigurationProperty
        {fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
fieldMapping = PropertyType
  "FieldMapping" OpenSearchManagedClusterConfigurationProperty
OpenSearchManagedClusterFieldMappingProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
vectorIndexName :: Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
vectorIndexName :: Value Text
..}
instance Property "VectorIndexName" OpenSearchManagedClusterConfigurationProperty where
  type PropertyType "VectorIndexName" OpenSearchManagedClusterConfigurationProperty = Value Prelude.Text
  set :: PropertyType
  "VectorIndexName" OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterConfigurationProperty
set PropertyType
  "VectorIndexName" OpenSearchManagedClusterConfigurationProperty
newValue OpenSearchManagedClusterConfigurationProperty {()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: OpenSearchManagedClusterConfigurationProperty -> ()
domainArn :: OpenSearchManagedClusterConfigurationProperty -> Value Text
domainEndpoint :: OpenSearchManagedClusterConfigurationProperty -> Value Text
fieldMapping :: OpenSearchManagedClusterConfigurationProperty
-> OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: OpenSearchManagedClusterConfigurationProperty -> Value Text
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
vectorIndexName :: Value Text
..}
    = OpenSearchManagedClusterConfigurationProperty
        {vectorIndexName :: Value Text
vectorIndexName = PropertyType
  "VectorIndexName" OpenSearchManagedClusterConfigurationProperty
Value Text
newValue, ()
Value Text
OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
haddock_workaround_ :: ()
domainArn :: Value Text
domainEndpoint :: Value Text
fieldMapping :: OpenSearchManagedClusterFieldMappingProperty
..}