stratosphere-bedrockagentcore-1.0.0: gen/Stratosphere/BedrockAgentCore/GatewayTarget/ToolDefinitionProperty.hs
module Stratosphere.BedrockAgentCore.GatewayTarget.ToolDefinitionProperty (
module Exports, ToolDefinitionProperty(..),
mkToolDefinitionProperty
) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.BedrockAgentCore.GatewayTarget.SchemaDefinitionProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data ToolDefinitionProperty
= -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html>
ToolDefinitionProperty {haddock_workaround_ :: (),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-description>
description :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-inputschema>
inputSchema :: SchemaDefinitionProperty,
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-name>
name :: (Value Prelude.Text),
-- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrockagentcore-gatewaytarget-tooldefinition.html#cfn-bedrockagentcore-gatewaytarget-tooldefinition-outputschema>
outputSchema :: (Prelude.Maybe SchemaDefinitionProperty)}
deriving stock (Prelude.Eq, Prelude.Show)
mkToolDefinitionProperty ::
Value Prelude.Text
-> SchemaDefinitionProperty
-> Value Prelude.Text -> ToolDefinitionProperty
mkToolDefinitionProperty description inputSchema name
= ToolDefinitionProperty
{haddock_workaround_ = (), description = description,
inputSchema = inputSchema, name = name,
outputSchema = Prelude.Nothing}
instance ToResourceProperties ToolDefinitionProperty where
toResourceProperties ToolDefinitionProperty {..}
= ResourceProperties
{awsType = "AWS::BedrockAgentCore::GatewayTarget.ToolDefinition",
supportsTags = Prelude.False,
properties = Prelude.fromList
((Prelude.<>)
["Description" JSON..= description,
"InputSchema" JSON..= inputSchema, "Name" JSON..= name]
(Prelude.catMaybes
[(JSON..=) "OutputSchema" Prelude.<$> outputSchema]))}
instance JSON.ToJSON ToolDefinitionProperty where
toJSON ToolDefinitionProperty {..}
= JSON.object
(Prelude.fromList
((Prelude.<>)
["Description" JSON..= description,
"InputSchema" JSON..= inputSchema, "Name" JSON..= name]
(Prelude.catMaybes
[(JSON..=) "OutputSchema" Prelude.<$> outputSchema])))
instance Property "Description" ToolDefinitionProperty where
type PropertyType "Description" ToolDefinitionProperty = Value Prelude.Text
set newValue ToolDefinitionProperty {..}
= ToolDefinitionProperty {description = newValue, ..}
instance Property "InputSchema" ToolDefinitionProperty where
type PropertyType "InputSchema" ToolDefinitionProperty = SchemaDefinitionProperty
set newValue ToolDefinitionProperty {..}
= ToolDefinitionProperty {inputSchema = newValue, ..}
instance Property "Name" ToolDefinitionProperty where
type PropertyType "Name" ToolDefinitionProperty = Value Prelude.Text
set newValue ToolDefinitionProperty {..}
= ToolDefinitionProperty {name = newValue, ..}
instance Property "OutputSchema" ToolDefinitionProperty where
type PropertyType "OutputSchema" ToolDefinitionProperty = SchemaDefinitionProperty
set newValue ToolDefinitionProperty {..}
= ToolDefinitionProperty {outputSchema = Prelude.pure newValue, ..}