module Stratosphere.Bedrock.DataSource.FixedSizeChunkingConfigurationProperty (
        FixedSizeChunkingConfigurationProperty(..),
        mkFixedSizeChunkingConfigurationProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data FixedSizeChunkingConfigurationProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html>
    FixedSizeChunkingConfigurationProperty {FixedSizeChunkingConfigurationProperty -> ()
haddock_workaround_ :: (),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens>
                                            FixedSizeChunkingConfigurationProperty -> Value Integer
maxTokens :: (Value Prelude.Integer),
                                            -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage>
                                            FixedSizeChunkingConfigurationProperty -> Value Integer
overlapPercentage :: (Value Prelude.Integer)}
  deriving stock (FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty -> Bool
(FixedSizeChunkingConfigurationProperty
 -> FixedSizeChunkingConfigurationProperty -> Bool)
-> (FixedSizeChunkingConfigurationProperty
    -> FixedSizeChunkingConfigurationProperty -> Bool)
-> Eq FixedSizeChunkingConfigurationProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty -> Bool
== :: FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty -> Bool
$c/= :: FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty -> Bool
/= :: FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty -> Bool
Prelude.Eq, Int -> FixedSizeChunkingConfigurationProperty -> ShowS
[FixedSizeChunkingConfigurationProperty] -> ShowS
FixedSizeChunkingConfigurationProperty -> String
(Int -> FixedSizeChunkingConfigurationProperty -> ShowS)
-> (FixedSizeChunkingConfigurationProperty -> String)
-> ([FixedSizeChunkingConfigurationProperty] -> ShowS)
-> Show FixedSizeChunkingConfigurationProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> FixedSizeChunkingConfigurationProperty -> ShowS
showsPrec :: Int -> FixedSizeChunkingConfigurationProperty -> ShowS
$cshow :: FixedSizeChunkingConfigurationProperty -> String
show :: FixedSizeChunkingConfigurationProperty -> String
$cshowList :: [FixedSizeChunkingConfigurationProperty] -> ShowS
showList :: [FixedSizeChunkingConfigurationProperty] -> ShowS
Prelude.Show)
mkFixedSizeChunkingConfigurationProperty ::
  Value Prelude.Integer
  -> Value Prelude.Integer -> FixedSizeChunkingConfigurationProperty
mkFixedSizeChunkingConfigurationProperty :: Value Integer
-> Value Integer -> FixedSizeChunkingConfigurationProperty
mkFixedSizeChunkingConfigurationProperty
  Value Integer
maxTokens
  Value Integer
overlapPercentage
  = FixedSizeChunkingConfigurationProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), maxTokens :: Value Integer
maxTokens = Value Integer
maxTokens,
       overlapPercentage :: Value Integer
overlapPercentage = Value Integer
overlapPercentage}
instance ToResourceProperties FixedSizeChunkingConfigurationProperty where
  toResourceProperties :: FixedSizeChunkingConfigurationProperty -> ResourceProperties
toResourceProperties FixedSizeChunkingConfigurationProperty {()
Value Integer
haddock_workaround_ :: FixedSizeChunkingConfigurationProperty -> ()
maxTokens :: FixedSizeChunkingConfigurationProperty -> Value Integer
overlapPercentage :: FixedSizeChunkingConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
overlapPercentage :: Value Integer
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::Bedrock::DataSource.FixedSizeChunkingConfiguration",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"MaxTokens" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
maxTokens,
                       Key
"OverlapPercentage" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
overlapPercentage]}
instance JSON.ToJSON FixedSizeChunkingConfigurationProperty where
  toJSON :: FixedSizeChunkingConfigurationProperty -> Value
toJSON FixedSizeChunkingConfigurationProperty {()
Value Integer
haddock_workaround_ :: FixedSizeChunkingConfigurationProperty -> ()
maxTokens :: FixedSizeChunkingConfigurationProperty -> Value Integer
overlapPercentage :: FixedSizeChunkingConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
overlapPercentage :: Value Integer
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"MaxTokens" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
maxTokens,
         Key
"OverlapPercentage" Key -> Value Integer -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Integer
overlapPercentage]
instance Property "MaxTokens" FixedSizeChunkingConfigurationProperty where
  type PropertyType "MaxTokens" FixedSizeChunkingConfigurationProperty = Value Prelude.Integer
  set :: PropertyType "MaxTokens" FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty
set PropertyType "MaxTokens" FixedSizeChunkingConfigurationProperty
newValue FixedSizeChunkingConfigurationProperty {()
Value Integer
haddock_workaround_ :: FixedSizeChunkingConfigurationProperty -> ()
maxTokens :: FixedSizeChunkingConfigurationProperty -> Value Integer
overlapPercentage :: FixedSizeChunkingConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
overlapPercentage :: Value Integer
..}
    = FixedSizeChunkingConfigurationProperty {maxTokens :: Value Integer
maxTokens = PropertyType "MaxTokens" FixedSizeChunkingConfigurationProperty
Value Integer
newValue, ()
Value Integer
haddock_workaround_ :: ()
overlapPercentage :: Value Integer
haddock_workaround_ :: ()
overlapPercentage :: Value Integer
..}
instance Property "OverlapPercentage" FixedSizeChunkingConfigurationProperty where
  type PropertyType "OverlapPercentage" FixedSizeChunkingConfigurationProperty = Value Prelude.Integer
  set :: PropertyType
  "OverlapPercentage" FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty
-> FixedSizeChunkingConfigurationProperty
set PropertyType
  "OverlapPercentage" FixedSizeChunkingConfigurationProperty
newValue FixedSizeChunkingConfigurationProperty {()
Value Integer
haddock_workaround_ :: FixedSizeChunkingConfigurationProperty -> ()
maxTokens :: FixedSizeChunkingConfigurationProperty -> Value Integer
overlapPercentage :: FixedSizeChunkingConfigurationProperty -> Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
overlapPercentage :: Value Integer
..}
    = FixedSizeChunkingConfigurationProperty
        {overlapPercentage :: Value Integer
overlapPercentage = PropertyType
  "OverlapPercentage" FixedSizeChunkingConfigurationProperty
Value Integer
newValue, ()
Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
haddock_workaround_ :: ()
maxTokens :: Value Integer
..}