module Stratosphere.Bedrock.Agent.AgentCollaboratorProperty ( module Exports, AgentCollaboratorProperty(..), mkAgentCollaboratorProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.Bedrock.Agent.AgentDescriptorProperty as Exports import Stratosphere.ResourceProperties import Stratosphere.Value data AgentCollaboratorProperty = -- | See: AgentCollaboratorProperty {haddock_workaround_ :: (), -- | See: agentDescriptor :: AgentDescriptorProperty, -- | See: collaborationInstruction :: (Value Prelude.Text), -- | See: collaboratorName :: (Value Prelude.Text), -- | See: relayConversationHistory :: (Prelude.Maybe (Value Prelude.Text))} deriving stock (Prelude.Eq, Prelude.Show) mkAgentCollaboratorProperty :: AgentDescriptorProperty -> Value Prelude.Text -> Value Prelude.Text -> AgentCollaboratorProperty mkAgentCollaboratorProperty agentDescriptor collaborationInstruction collaboratorName = AgentCollaboratorProperty {haddock_workaround_ = (), agentDescriptor = agentDescriptor, collaborationInstruction = collaborationInstruction, collaboratorName = collaboratorName, relayConversationHistory = Prelude.Nothing} instance ToResourceProperties AgentCollaboratorProperty where toResourceProperties AgentCollaboratorProperty {..} = ResourceProperties {awsType = "AWS::Bedrock::Agent.AgentCollaborator", supportsTags = Prelude.False, properties = Prelude.fromList ((Prelude.<>) ["AgentDescriptor" JSON..= agentDescriptor, "CollaborationInstruction" JSON..= collaborationInstruction, "CollaboratorName" JSON..= collaboratorName] (Prelude.catMaybes [(JSON..=) "RelayConversationHistory" Prelude.<$> relayConversationHistory]))} instance JSON.ToJSON AgentCollaboratorProperty where toJSON AgentCollaboratorProperty {..} = JSON.object (Prelude.fromList ((Prelude.<>) ["AgentDescriptor" JSON..= agentDescriptor, "CollaborationInstruction" JSON..= collaborationInstruction, "CollaboratorName" JSON..= collaboratorName] (Prelude.catMaybes [(JSON..=) "RelayConversationHistory" Prelude.<$> relayConversationHistory]))) instance Property "AgentDescriptor" AgentCollaboratorProperty where type PropertyType "AgentDescriptor" AgentCollaboratorProperty = AgentDescriptorProperty set newValue AgentCollaboratorProperty {..} = AgentCollaboratorProperty {agentDescriptor = newValue, ..} instance Property "CollaborationInstruction" AgentCollaboratorProperty where type PropertyType "CollaborationInstruction" AgentCollaboratorProperty = Value Prelude.Text set newValue AgentCollaboratorProperty {..} = AgentCollaboratorProperty {collaborationInstruction = newValue, ..} instance Property "CollaboratorName" AgentCollaboratorProperty where type PropertyType "CollaboratorName" AgentCollaboratorProperty = Value Prelude.Text set newValue AgentCollaboratorProperty {..} = AgentCollaboratorProperty {collaboratorName = newValue, ..} instance Property "RelayConversationHistory" AgentCollaboratorProperty where type PropertyType "RelayConversationHistory" AgentCollaboratorProperty = Value Prelude.Text set newValue AgentCollaboratorProperty {..} = AgentCollaboratorProperty {relayConversationHistory = Prelude.pure newValue, ..}