package awsbedrock


// Contains configurations for a prompt node in the flow.
//
// You can use a prompt from Prompt management or you can define one in this node. If the prompt contains variables, the inputs into this node will fill in the variables. The output from this node is the response generated by the model. For more information, see [Node types in a flow](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-nodes.html) in the Amazon Bedrock User Guide.
//
// Example:
//   // The code below shows an example of how to instantiate this type.
//   // The values are placeholders you should change.
//   import "github.com/aws/aws-cdk-go/awscdk"
//
//   promptFlowNodeConfigurationProperty := &PromptFlowNodeConfigurationProperty{
//   	SourceConfiguration: &PromptFlowNodeSourceConfigurationProperty{
//   		Inline: &PromptFlowNodeInlineConfigurationProperty{
//   			ModelId: jsii.String("modelId"),
//   			TemplateConfiguration: &PromptTemplateConfigurationProperty{
//   				Text: &TextPromptTemplateConfigurationProperty{
//   					Text: jsii.String("text"),
//
//   					// the properties below are optional
//   					InputVariables: []interface{}{
//   						&PromptInputVariableProperty{
//   							Name: jsii.String("name"),
//   						},
//   					},
//   				},
//   			},
//   			TemplateType: jsii.String("templateType"),
//
//   			// the properties below are optional
//   			InferenceConfiguration: &PromptInferenceConfigurationProperty{
//   				Text: &PromptModelInferenceConfigurationProperty{
//   					MaxTokens: jsii.Number(123),
//   					StopSequences: []*string{
//   						jsii.String("stopSequences"),
//   					},
//   					Temperature: jsii.Number(123),
//   					TopP: jsii.Number(123),
//   				},
//   			},
//   		},
//   		Resource: &PromptFlowNodeResourceConfigurationProperty{
//   			PromptArn: jsii.String("promptArn"),
//   		},
//   	},
//
//   	// the properties below are optional
//   	GuardrailConfiguration: &GuardrailConfigurationProperty{
//   		GuardrailIdentifier: jsii.String("guardrailIdentifier"),
//   		GuardrailVersion: jsii.String("guardrailVersion"),
//   	},
//   }
//
// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html
//
type CfnFlowVersion_PromptFlowNodeConfigurationProperty struct {
	// Specifies whether the prompt is from Prompt management or defined inline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html#cfn-bedrock-flowversion-promptflownodeconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// Contains configurations for a guardrail to apply to the prompt in this node and the response generated from it.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html#cfn-bedrock-flowversion-promptflownodeconfiguration-guardrailconfiguration
	//
	GuardrailConfiguration interface{} `field:"optional" json:"guardrailConfiguration" yaml:"guardrailConfiguration"`
}

