awsbedrock

package
v2.156.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 2

README

Amazon Bedrock Construct Library

Amazon Bedrock is a fully managed service that offers a choice of foundation models (FMs) along with a broad set of capabilities for building generative AI applications.

This construct library provides a collection of constructs that can look up existing Bedrock models for use with other services' CDK constructs, such as AWS Step Functions.

To look up a Bedrock base foundation model:

import "github.com/aws/aws-cdk-go/awscdk"


bedrock.FoundationModel_FromFoundationModelId(this, jsii.String("Model"), bedrock.FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2())

To look up a Bedrock provisioned throughput model:

import bedrock "github.com/aws/aws-cdk-go/awscdk"


bedrock.ProvisionedModel_FromProvisionedModelArn(this, jsii.String("Model"), jsii.String("arn:aws:bedrock:us-east-2:123456789012:provisioned-model/abc-123"))

There are no official hand-written (L2) constructs for provisioning Bedrock resources yet. Here are some suggestions on how to proceed:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CfnAgentAlias_CFN_RESOURCE_TYPE_NAME added in v2.139.0

func CfnAgentAlias_CFN_RESOURCE_TYPE_NAME() *string

func CfnAgentAlias_IsCfnElement added in v2.139.0

func CfnAgentAlias_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAgentAlias_IsCfnResource added in v2.139.0

func CfnAgentAlias_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnAgentAlias_IsConstruct added in v2.139.0

func CfnAgentAlias_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnAgent_CFN_RESOURCE_TYPE_NAME added in v2.139.0

func CfnAgent_CFN_RESOURCE_TYPE_NAME() *string

func CfnAgent_IsCfnElement added in v2.139.0

func CfnAgent_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnAgent_IsCfnResource added in v2.139.0

func CfnAgent_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnAgent_IsConstruct added in v2.139.0

func CfnAgent_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnDataSource_CFN_RESOURCE_TYPE_NAME added in v2.139.0

func CfnDataSource_CFN_RESOURCE_TYPE_NAME() *string

func CfnDataSource_IsCfnElement added in v2.139.0

func CfnDataSource_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnDataSource_IsCfnResource added in v2.139.0

func CfnDataSource_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnDataSource_IsConstruct added in v2.139.0

func CfnDataSource_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnFlowAlias_CFN_RESOURCE_TYPE_NAME added in v2.154.0

func CfnFlowAlias_CFN_RESOURCE_TYPE_NAME() *string

func CfnFlowAlias_IsCfnElement added in v2.154.0

func CfnFlowAlias_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnFlowAlias_IsCfnResource added in v2.154.0

func CfnFlowAlias_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnFlowAlias_IsConstruct added in v2.154.0

func CfnFlowAlias_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnFlowVersion_CFN_RESOURCE_TYPE_NAME added in v2.154.0

func CfnFlowVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnFlowVersion_IsCfnElement added in v2.154.0

func CfnFlowVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnFlowVersion_IsCfnResource added in v2.154.0

func CfnFlowVersion_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnFlowVersion_IsConstruct added in v2.154.0

func CfnFlowVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnFlow_CFN_RESOURCE_TYPE_NAME added in v2.154.0

func CfnFlow_CFN_RESOURCE_TYPE_NAME() *string

func CfnFlow_IsCfnElement added in v2.154.0

func CfnFlow_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnFlow_IsCfnResource added in v2.154.0

func CfnFlow_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnFlow_IsConstruct added in v2.154.0

func CfnFlow_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnGuardrailVersion_CFN_RESOURCE_TYPE_NAME added in v2.143.0

func CfnGuardrailVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnGuardrailVersion_IsCfnElement added in v2.143.0

func CfnGuardrailVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnGuardrailVersion_IsCfnResource added in v2.143.0

func CfnGuardrailVersion_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnGuardrailVersion_IsConstruct added in v2.143.0

func CfnGuardrailVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnGuardrail_CFN_RESOURCE_TYPE_NAME added in v2.140.0

func CfnGuardrail_CFN_RESOURCE_TYPE_NAME() *string

func CfnGuardrail_IsCfnElement added in v2.140.0

func CfnGuardrail_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnGuardrail_IsCfnResource added in v2.140.0

func CfnGuardrail_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnGuardrail_IsConstruct added in v2.140.0

func CfnGuardrail_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnKnowledgeBase_CFN_RESOURCE_TYPE_NAME added in v2.139.0

func CfnKnowledgeBase_CFN_RESOURCE_TYPE_NAME() *string

func CfnKnowledgeBase_IsCfnElement added in v2.139.0

func CfnKnowledgeBase_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnKnowledgeBase_IsCfnResource added in v2.139.0

func CfnKnowledgeBase_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnKnowledgeBase_IsConstruct added in v2.139.0

func CfnKnowledgeBase_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnPromptVersion_CFN_RESOURCE_TYPE_NAME added in v2.154.0

func CfnPromptVersion_CFN_RESOURCE_TYPE_NAME() *string

func CfnPromptVersion_IsCfnElement added in v2.154.0

func CfnPromptVersion_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPromptVersion_IsCfnResource added in v2.154.0

func CfnPromptVersion_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnPromptVersion_IsConstruct added in v2.154.0

func CfnPromptVersion_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func CfnPrompt_CFN_RESOURCE_TYPE_NAME added in v2.154.0

func CfnPrompt_CFN_RESOURCE_TYPE_NAME() *string

func CfnPrompt_IsCfnElement added in v2.154.0

func CfnPrompt_IsCfnElement(x interface{}) *bool

Returns `true` if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of `instanceof` to allow stack elements from different versions of this library to be included in the same stack.

Returns: The construct as a stack element or undefined if it is not a stack element.

func CfnPrompt_IsCfnResource added in v2.154.0

func CfnPrompt_IsCfnResource(x interface{}) *bool

Check whether the given object is a CfnResource.

func CfnPrompt_IsConstruct added in v2.154.0

func CfnPrompt_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Use this method instead of `instanceof` to properly detect `Construct` instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the `constructs` library on disk are seen as independent, completely different libraries. As a consequence, the class `Construct` in each copy of the `constructs` library is seen as a different class, and an instance of one class will not test as `instanceof` the other class. `npm install` will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the `constructs` library can be accidentally installed, and `instanceof` will behave unpredictably. It is safest to avoid using `instanceof`, and using this type-testing method instead.

Returns: true if `x` is an object created from a class which extends `Construct`.

func NewCfnAgentAlias_Override added in v2.139.0

func NewCfnAgentAlias_Override(c CfnAgentAlias, scope constructs.Construct, id *string, props *CfnAgentAliasProps)

func NewCfnAgent_Override added in v2.139.0

func NewCfnAgent_Override(c CfnAgent, scope constructs.Construct, id *string, props *CfnAgentProps)

func NewCfnDataSource_Override added in v2.139.0

func NewCfnDataSource_Override(c CfnDataSource, scope constructs.Construct, id *string, props *CfnDataSourceProps)

func NewCfnFlowAlias_Override added in v2.154.0

func NewCfnFlowAlias_Override(c CfnFlowAlias, scope constructs.Construct, id *string, props *CfnFlowAliasProps)

func NewCfnFlowVersion_Override added in v2.154.0

func NewCfnFlowVersion_Override(c CfnFlowVersion, scope constructs.Construct, id *string, props *CfnFlowVersionProps)

func NewCfnFlow_Override added in v2.154.0

func NewCfnFlow_Override(c CfnFlow, scope constructs.Construct, id *string, props *CfnFlowProps)

func NewCfnGuardrailVersion_Override added in v2.143.0

func NewCfnGuardrailVersion_Override(c CfnGuardrailVersion, scope constructs.Construct, id *string, props *CfnGuardrailVersionProps)

func NewCfnGuardrail_Override added in v2.140.0

func NewCfnGuardrail_Override(c CfnGuardrail, scope constructs.Construct, id *string, props *CfnGuardrailProps)

func NewCfnKnowledgeBase_Override added in v2.139.0

func NewCfnKnowledgeBase_Override(c CfnKnowledgeBase, scope constructs.Construct, id *string, props *CfnKnowledgeBaseProps)

func NewCfnPromptVersion_Override added in v2.154.0

func NewCfnPromptVersion_Override(c CfnPromptVersion, scope constructs.Construct, id *string, props *CfnPromptVersionProps)

func NewCfnPrompt_Override added in v2.154.0

func NewCfnPrompt_Override(c CfnPrompt, scope constructs.Construct, id *string, props *CfnPromptProps)

func NewFoundationModelIdentifier_Override

func NewFoundationModelIdentifier_Override(f FoundationModelIdentifier, modelId *string)

Constructor for foundation model identifier.

Types

type CfnAgent added in v2.139.0

type CfnAgent interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The action groups that belong to an agent.
	ActionGroups() interface{}
	SetActionGroups(val interface{})
	// The name of the agent.
	AgentName() *string
	SetAgentName(val *string)
	// The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
	AgentResourceRoleArn() *string
	SetAgentResourceRoleArn(val *string)
	// The Amazon Resource Name (ARN) of the agent.
	AttrAgentArn() *string
	// The unique identifier of the agent.
	AttrAgentId() *string
	// The status of the agent and whether it is ready for use. The following statuses are possible:.
	//
	// - CREATING – The agent is being created.
	// - PREPARING – The agent is being prepared.
	// - PREPARED – The agent is prepared and ready to be invoked.
	// - NOT_PREPARED – The agent has been created but not yet prepared.
	// - FAILED – The agent API operation failed.
	// - UPDATING – The agent is being updated.
	// - DELETING – The agent is being deleted.
	AttrAgentStatus() *string
	// The version of the agent.
	AttrAgentVersion() *string
	// The time at which the agent was created.
	AttrCreatedAt() *string
	// Contains reasons that the agent-related API that you invoked failed.
	AttrFailureReasons() *[]*string
	// The time at which the agent was last prepared.
	AttrPreparedAt() *string
	// Contains recommended actions to take for the agent-related API that you invoked to succeed.
	AttrRecommendedActions() *[]*string
	// The time at which the agent was last updated.
	AttrUpdatedAt() *string
	// Specifies whether to automatically update the `DRAFT` version of the agent after making changes to the agent.
	AutoPrepare() interface{}
	SetAutoPrepare(val interface{})
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.
	CustomerEncryptionKeyArn() *string
	SetCustomerEncryptionKeyArn(val *string)
	// The description of the agent.
	Description() *string
	SetDescription(val *string)
	// The foundation model used for orchestration by the agent.
	FoundationModel() *string
	SetFoundationModel(val *string)
	// Details about the guardrail associated with the agent.
	GuardrailConfiguration() interface{}
	SetGuardrailConfiguration(val interface{})
	// The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.
	IdleSessionTtlInSeconds() *float64
	SetIdleSessionTtlInSeconds(val *float64)
	// Instructions that tell the agent what it should do and how it should interact with users.
	Instruction() *string
	SetInstruction(val *string)
	// The knowledge bases associated with the agent.
	KnowledgeBases() interface{}
	SetKnowledgeBases(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Contains configurations to override prompt templates in different parts of an agent sequence.
	PromptOverrideConfiguration() interface{}
	SetPromptOverrideConfiguration(val interface{})
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Specifies whether to delete the resource even if it's in use.
	SkipResourceInUseCheckOnDelete() interface{}
	SetSkipResourceInUseCheckOnDelete(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	TestAliasTags() interface{}
	SetTestAliasTags(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Specifies an agent as a resource in a top-level template. Minimally, you must specify the following properties:.

- AgentName – Specify a name for the agent. - AgentResourceRoleArn – Specify the Amazon Resource Name (ARN) of the service role with permissions to invoke API operations on the agent. For more information, see [Create a service role for Agents for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-permissions.html) . - FoundationModel – Specify the model ID of a foundation model to use when invoking the agent. For more information, see [Supported regions and models for Agents for Amazon Bedrock](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-supported.html) .

For more information about using agents in Amazon Bedrock , see [Agents for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/agents.html) .

See the *Properties* section below for descriptions of both the required and optional properties.

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"

cfnAgent := awscdk.Aws_bedrock.NewCfnAgent(this, jsii.String("MyCfnAgent"), &CfnAgentProps{
	AgentName: jsii.String("agentName"),

	// the properties below are optional
	ActionGroups: []interface{}{
		&AgentActionGroupProperty{
			ActionGroupName: jsii.String("actionGroupName"),

			// the properties below are optional
			ActionGroupExecutor: &ActionGroupExecutorProperty{
				CustomControl: jsii.String("customControl"),
				Lambda: jsii.String("lambda"),
			},
			ActionGroupState: jsii.String("actionGroupState"),
			ApiSchema: &APISchemaProperty{
				Payload: jsii.String("payload"),
				S3: &S3IdentifierProperty{
					S3BucketName: jsii.String("s3BucketName"),
					S3ObjectKey: jsii.String("s3ObjectKey"),
				},
			},
			Description: jsii.String("description"),
			FunctionSchema: &FunctionSchemaProperty{
				Functions: []interface{}{
					&FunctionProperty{
						Name: jsii.String("name"),

						// the properties below are optional
						Description: jsii.String("description"),
						Parameters: map[string]interface{}{
							"parametersKey": &ParameterDetailProperty{
								"type": jsii.String("type"),

								// the properties below are optional
								"description": jsii.String("description"),
								"required": jsii.Boolean(false),
							},
						},
					},
				},
			},
			ParentActionGroupSignature: jsii.String("parentActionGroupSignature"),
			SkipResourceInUseCheckOnDelete: jsii.Boolean(false),
		},
	},
	AgentResourceRoleArn: jsii.String("agentResourceRoleArn"),
	AutoPrepare: jsii.Boolean(false),
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	Description: jsii.String("description"),
	FoundationModel: jsii.String("foundationModel"),
	GuardrailConfiguration: &GuardrailConfigurationProperty{
		GuardrailIdentifier: jsii.String("guardrailIdentifier"),
		GuardrailVersion: jsii.String("guardrailVersion"),
	},
	IdleSessionTtlInSeconds: jsii.Number(123),
	Instruction: jsii.String("instruction"),
	KnowledgeBases: []interface{}{
		&AgentKnowledgeBaseProperty{
			Description: jsii.String("description"),
			KnowledgeBaseId: jsii.String("knowledgeBaseId"),

			// the properties below are optional
			KnowledgeBaseState: jsii.String("knowledgeBaseState"),
		},
	},
	PromptOverrideConfiguration: &PromptOverrideConfigurationProperty{
		PromptConfigurations: []interface{}{
			&PromptConfigurationProperty{
				BasePromptTemplate: jsii.String("basePromptTemplate"),
				InferenceConfiguration: &InferenceConfigurationProperty{
					MaximumLength: jsii.Number(123),
					StopSequences: []*string{
						jsii.String("stopSequences"),
					},
					Temperature: jsii.Number(123),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
				ParserMode: jsii.String("parserMode"),
				PromptCreationMode: jsii.String("promptCreationMode"),
				PromptState: jsii.String("promptState"),
				PromptType: jsii.String("promptType"),
			},
		},

		// the properties below are optional
		OverrideLambda: jsii.String("overrideLambda"),
	},
	SkipResourceInUseCheckOnDelete: jsii.Boolean(false),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TestAliasTags: map[string]*string{
		"testAliasTagsKey": jsii.String("testAliasTags"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html

func NewCfnAgent added in v2.139.0

func NewCfnAgent(scope constructs.Construct, id *string, props *CfnAgentProps) CfnAgent

type CfnAgentAlias added in v2.139.0

type CfnAgentAlias interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The name of the alias of the agent.
	AgentAliasName() *string
	SetAgentAliasName(val *string)
	// The unique identifier of the agent.
	AgentId() *string
	SetAgentId(val *string)
	// The Amazon Resource Name (ARN) of the alias of the agent.
	AttrAgentAliasArn() *string
	// Contains details about the history of the alias.
	AttrAgentAliasHistoryEvents() awscdk.IResolvable
	// The unique identifier of the alias of the agent.
	AttrAgentAliasId() *string
	// The status of the alias of the agent and whether it is ready for use.
	//
	// The following statuses are possible:
	//
	// - CREATING – The agent alias is being created.
	// - PREPARED – The agent alias is finished being created or updated and is ready to be invoked.
	// - FAILED – The agent alias API operation failed.
	// - UPDATING – The agent alias is being updated.
	// - DELETING – The agent alias is being deleted.
	AttrAgentAliasStatus() *string
	// The time at which the alias of the agent was created.
	AttrCreatedAt() *string
	// The time at which the alias was last updated.
	AttrUpdatedAt() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the alias of the agent.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Contains details about the routing configuration of the alias.
	RoutingConfiguration() interface{}
	SetRoutingConfiguration(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Specifies an agent alias as a resource in a top-level template. Minimally, you must specify the following properties:.

- AgentAliasName – Specify a name for the alias.

For more information about creating aliases for an agent in Amazon Bedrock , see [Deploy an Amazon Bedrock agent](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-deploy.html) .

See the *Properties* section below for descriptions of both the required and optional properties.

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"

cfnAgentAlias := awscdk.Aws_bedrock.NewCfnAgentAlias(this, jsii.String("MyCfnAgentAlias"), &CfnAgentAliasProps{
	AgentAliasName: jsii.String("agentAliasName"),
	AgentId: jsii.String("agentId"),

	// the properties below are optional
	Description: jsii.String("description"),
	RoutingConfiguration: []interface{}{
		&AgentAliasRoutingConfigurationListItemProperty{
			AgentVersion: jsii.String("agentVersion"),
		},
	},
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html

func NewCfnAgentAlias added in v2.139.0

func NewCfnAgentAlias(scope constructs.Construct, id *string, props *CfnAgentAliasProps) CfnAgentAlias

type CfnAgentAliasProps added in v2.139.0

type CfnAgentAliasProps struct {
	// The name of the alias of the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentaliasname
	//
	AgentAliasName *string `field:"required" json:"agentAliasName" yaml:"agentAliasName"`
	// The unique identifier of the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-agentid
	//
	AgentId *string `field:"required" json:"agentId" yaml:"agentId"`
	// The description of the alias of the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Contains details about the routing configuration of the alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-routingconfiguration
	//
	RoutingConfiguration interface{} `field:"optional" json:"routingConfiguration" yaml:"routingConfiguration"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html#cfn-bedrock-agentalias-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnAgentAlias`.

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"

cfnAgentAliasProps := &CfnAgentAliasProps{
	AgentAliasName: jsii.String("agentAliasName"),
	AgentId: jsii.String("agentId"),

	// the properties below are optional
	Description: jsii.String("description"),
	RoutingConfiguration: []interface{}{
		&AgentAliasRoutingConfigurationListItemProperty{
			AgentVersion: jsii.String("agentVersion"),
		},
	},
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agentalias.html

type CfnAgentAlias_AgentAliasHistoryEventProperty added in v2.139.0

type CfnAgentAlias_AgentAliasHistoryEventProperty struct {
	// The date that the alias stopped being associated to the version in the `routingConfiguration` object.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-enddate
	//
	EndDate *string `field:"optional" json:"endDate" yaml:"endDate"`
	// Contains details about the version of the agent with which the alias is associated.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-routingconfiguration
	//
	RoutingConfiguration interface{} `field:"optional" json:"routingConfiguration" yaml:"routingConfiguration"`
	// The date that the alias began being associated to the version in the `routingConfiguration` object.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html#cfn-bedrock-agentalias-agentaliashistoryevent-startdate
	//
	StartDate *string `field:"optional" json:"startDate" yaml:"startDate"`
}

Contains details about the history of the alias.

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"

agentAliasHistoryEventProperty := &AgentAliasHistoryEventProperty{
	EndDate: jsii.String("endDate"),
	RoutingConfiguration: []interface{}{
		&AgentAliasRoutingConfigurationListItemProperty{
			AgentVersion: jsii.String("agentVersion"),
		},
	},
	StartDate: jsii.String("startDate"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliashistoryevent.html

type CfnAgentAlias_AgentAliasRoutingConfigurationListItemProperty added in v2.139.0

type CfnAgentAlias_AgentAliasRoutingConfigurationListItemProperty struct {
	// The version of the agent with which the alias is associated.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html#cfn-bedrock-agentalias-agentaliasroutingconfigurationlistitem-agentversion
	//
	AgentVersion *string `field:"required" json:"agentVersion" yaml:"agentVersion"`
}

Contains details about the routing configuration of the alias.

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"

agentAliasRoutingConfigurationListItemProperty := &AgentAliasRoutingConfigurationListItemProperty{
	AgentVersion: jsii.String("agentVersion"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agentalias-agentaliasroutingconfigurationlistitem.html

type CfnAgentProps added in v2.139.0

type CfnAgentProps struct {
	// The name of the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentname
	//
	AgentName *string `field:"required" json:"agentName" yaml:"agentName"`
	// The action groups that belong to an agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-actiongroups
	//
	ActionGroups interface{} `field:"optional" json:"actionGroups" yaml:"actionGroups"`
	// The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-agentresourcerolearn
	//
	AgentResourceRoleArn *string `field:"optional" json:"agentResourceRoleArn" yaml:"agentResourceRoleArn"`
	// Specifies whether to automatically update the `DRAFT` version of the agent after making changes to the agent.
	//
	// The `DRAFT` version can be continually iterated upon during internal development. By default, this value is `false` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-autoprepare
	//
	// Default: - false.
	//
	AutoPrepare interface{} `field:"optional" json:"autoPrepare" yaml:"autoPrepare"`
	// The Amazon Resource Name (ARN) of the AWS KMS key that encrypts the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-customerencryptionkeyarn
	//
	CustomerEncryptionKeyArn *string `field:"optional" json:"customerEncryptionKeyArn" yaml:"customerEncryptionKeyArn"`
	// The description of the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The foundation model used for orchestration by the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-foundationmodel
	//
	FoundationModel *string `field:"optional" json:"foundationModel" yaml:"foundationModel"`
	// Details about the guardrail associated with the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-guardrailconfiguration
	//
	GuardrailConfiguration interface{} `field:"optional" json:"guardrailConfiguration" yaml:"guardrailConfiguration"`
	// The number of seconds for which Amazon Bedrock keeps information about a user's conversation with the agent.
	//
	// A user interaction remains active for the amount of time specified. If no conversation occurs during this time, the session expires and Amazon Bedrock deletes any data provided before the timeout.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-idlesessionttlinseconds
	//
	IdleSessionTtlInSeconds *float64 `field:"optional" json:"idleSessionTtlInSeconds" yaml:"idleSessionTtlInSeconds"`
	// Instructions that tell the agent what it should do and how it should interact with users.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-instruction
	//
	Instruction *string `field:"optional" json:"instruction" yaml:"instruction"`
	// The knowledge bases associated with the agent.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-knowledgebases
	//
	KnowledgeBases interface{} `field:"optional" json:"knowledgeBases" yaml:"knowledgeBases"`
	// Contains configurations to override prompt templates in different parts of an agent sequence.
	//
	// For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-promptoverrideconfiguration
	//
	PromptOverrideConfiguration interface{} `field:"optional" json:"promptOverrideConfiguration" yaml:"promptOverrideConfiguration"`
	// Specifies whether to delete the resource even if it's in use.
	//
	// By default, this value is `false` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-skipresourceinusecheckondelete
	//
	// Default: - false.
	//
	SkipResourceInUseCheckOnDelete interface{} `field:"optional" json:"skipResourceInUseCheckOnDelete" yaml:"skipResourceInUseCheckOnDelete"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html#cfn-bedrock-agent-testaliastags
	//
	TestAliasTags interface{} `field:"optional" json:"testAliasTags" yaml:"testAliasTags"`
}

Properties for defining a `CfnAgent`.

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"

cfnAgentProps := &CfnAgentProps{
	AgentName: jsii.String("agentName"),

	// the properties below are optional
	ActionGroups: []interface{}{
		&AgentActionGroupProperty{
			ActionGroupName: jsii.String("actionGroupName"),

			// the properties below are optional
			ActionGroupExecutor: &ActionGroupExecutorProperty{
				CustomControl: jsii.String("customControl"),
				Lambda: jsii.String("lambda"),
			},
			ActionGroupState: jsii.String("actionGroupState"),
			ApiSchema: &APISchemaProperty{
				Payload: jsii.String("payload"),
				S3: &S3IdentifierProperty{
					S3BucketName: jsii.String("s3BucketName"),
					S3ObjectKey: jsii.String("s3ObjectKey"),
				},
			},
			Description: jsii.String("description"),
			FunctionSchema: &FunctionSchemaProperty{
				Functions: []interface{}{
					&FunctionProperty{
						Name: jsii.String("name"),

						// the properties below are optional
						Description: jsii.String("description"),
						Parameters: map[string]interface{}{
							"parametersKey": &ParameterDetailProperty{
								"type": jsii.String("type"),

								// the properties below are optional
								"description": jsii.String("description"),
								"required": jsii.Boolean(false),
							},
						},
					},
				},
			},
			ParentActionGroupSignature: jsii.String("parentActionGroupSignature"),
			SkipResourceInUseCheckOnDelete: jsii.Boolean(false),
		},
	},
	AgentResourceRoleArn: jsii.String("agentResourceRoleArn"),
	AutoPrepare: jsii.Boolean(false),
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	Description: jsii.String("description"),
	FoundationModel: jsii.String("foundationModel"),
	GuardrailConfiguration: &GuardrailConfigurationProperty{
		GuardrailIdentifier: jsii.String("guardrailIdentifier"),
		GuardrailVersion: jsii.String("guardrailVersion"),
	},
	IdleSessionTtlInSeconds: jsii.Number(123),
	Instruction: jsii.String("instruction"),
	KnowledgeBases: []interface{}{
		&AgentKnowledgeBaseProperty{
			Description: jsii.String("description"),
			KnowledgeBaseId: jsii.String("knowledgeBaseId"),

			// the properties below are optional
			KnowledgeBaseState: jsii.String("knowledgeBaseState"),
		},
	},
	PromptOverrideConfiguration: &PromptOverrideConfigurationProperty{
		PromptConfigurations: []interface{}{
			&PromptConfigurationProperty{
				BasePromptTemplate: jsii.String("basePromptTemplate"),
				InferenceConfiguration: &InferenceConfigurationProperty{
					MaximumLength: jsii.Number(123),
					StopSequences: []*string{
						jsii.String("stopSequences"),
					},
					Temperature: jsii.Number(123),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
				ParserMode: jsii.String("parserMode"),
				PromptCreationMode: jsii.String("promptCreationMode"),
				PromptState: jsii.String("promptState"),
				PromptType: jsii.String("promptType"),
			},
		},

		// the properties below are optional
		OverrideLambda: jsii.String("overrideLambda"),
	},
	SkipResourceInUseCheckOnDelete: jsii.Boolean(false),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TestAliasTags: map[string]*string{
		"testAliasTagsKey": jsii.String("testAliasTags"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-agent.html

type CfnAgent_APISchemaProperty added in v2.139.0

type CfnAgent_APISchemaProperty struct {
	// The JSON or YAML-formatted payload defining the OpenAPI schema for the action group.
	//
	// For more information, see [Action group OpenAPI schemas](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-payload
	//
	Payload *string `field:"optional" json:"payload" yaml:"payload"`
	// Contains details about the S3 object containing the OpenAPI schema for the action group.
	//
	// For more information, see [Action group OpenAPI schemas](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-s3
	//
	S3 interface{} `field:"optional" json:"s3" yaml:"s3"`
}

Contains details about the OpenAPI schema for the action group.

For more information, see [Action group OpenAPI schemas](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html) . You can either include the schema directly in the `payload` field or you can upload it to an S3 bucket and specify the S3 bucket location in the `s3` field.

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"

aPISchemaProperty := &APISchemaProperty{
	Payload: jsii.String("payload"),
	S3: &S3IdentifierProperty{
		S3BucketName: jsii.String("s3BucketName"),
		S3ObjectKey: jsii.String("s3ObjectKey"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html

type CfnAgent_ActionGroupExecutorProperty added in v2.139.0

type CfnAgent_ActionGroupExecutorProperty struct {
	// To return the action group invocation results directly in the `InvokeAgent` response, specify `RETURN_CONTROL` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html#cfn-bedrock-agent-actiongroupexecutor-customcontrol
	//
	CustomControl *string `field:"optional" json:"customControl" yaml:"customControl"`
	// The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html#cfn-bedrock-agent-actiongroupexecutor-lambda
	//
	Lambda *string `field:"optional" json:"lambda" yaml:"lambda"`
}

Contains details about the Lambda function containing the business logic that is carried out upon invoking the action or the custom control method for handling the information elicited from the user.

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"

actionGroupExecutorProperty := &ActionGroupExecutorProperty{
	CustomControl: jsii.String("customControl"),
	Lambda: jsii.String("lambda"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-actiongroupexecutor.html

type CfnAgent_AgentActionGroupProperty added in v2.139.0

type CfnAgent_AgentActionGroupProperty struct {
	// The name of the action group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupname
	//
	ActionGroupName *string `field:"required" json:"actionGroupName" yaml:"actionGroupName"`
	// The Amazon Resource Name (ARN) of the Lambda function containing the business logic that is carried out upon invoking the action or the custom control method for handling the information elicited from the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupexecutor
	//
	ActionGroupExecutor interface{} `field:"optional" json:"actionGroupExecutor" yaml:"actionGroupExecutor"`
	// Specifies whether the action group is available for the agent to invoke or not when sending an [InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) request.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-actiongroupstate
	//
	ActionGroupState *string `field:"optional" json:"actionGroupState" yaml:"actionGroupState"`
	// Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema.
	//
	// For more information, see [Action group OpenAPI schemas](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-api-schema.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-apischema
	//
	ApiSchema interface{} `field:"optional" json:"apiSchema" yaml:"apiSchema"`
	// The description of the action group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Defines functions that each define parameters that the agent needs to invoke from the user.
	//
	// Each function represents an action in an action group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-functionschema
	//
	FunctionSchema interface{} `field:"optional" json:"functionSchema" yaml:"functionSchema"`
	// If this field is set as `AMAZON.UserInput` , the agent can request the user for additional information when trying to complete a task. The `description` , `apiSchema` , and `actionGroupExecutor` fields must be blank for this action group.
	//
	// During orchestration, if the agent determines that it needs to invoke an API in an action group, but doesn't have enough information to complete the API request, it will invoke this action group instead and return an [Observation](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html) reprompting the user for more information.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-parentactiongroupsignature
	//
	ParentActionGroupSignature *string `field:"optional" json:"parentActionGroupSignature" yaml:"parentActionGroupSignature"`
	// Specifies whether to delete the resource even if it's in use.
	//
	// By default, this value is `false` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-skipresourceinusecheckondelete
	//
	// Default: - false.
	//
	SkipResourceInUseCheckOnDelete interface{} `field:"optional" json:"skipResourceInUseCheckOnDelete" yaml:"skipResourceInUseCheckOnDelete"`
}

Contains details about an action group.

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"

agentActionGroupProperty := &AgentActionGroupProperty{
	ActionGroupName: jsii.String("actionGroupName"),

	// the properties below are optional
	ActionGroupExecutor: &ActionGroupExecutorProperty{
		CustomControl: jsii.String("customControl"),
		Lambda: jsii.String("lambda"),
	},
	ActionGroupState: jsii.String("actionGroupState"),
	ApiSchema: &APISchemaProperty{
		Payload: jsii.String("payload"),
		S3: &S3IdentifierProperty{
			S3BucketName: jsii.String("s3BucketName"),
			S3ObjectKey: jsii.String("s3ObjectKey"),
		},
	},
	Description: jsii.String("description"),
	FunctionSchema: &FunctionSchemaProperty{
		Functions: []interface{}{
			&FunctionProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				Description: jsii.String("description"),
				Parameters: map[string]interface{}{
					"parametersKey": &ParameterDetailProperty{
						"type": jsii.String("type"),

						// the properties below are optional
						"description": jsii.String("description"),
						"required": jsii.Boolean(false),
					},
				},
			},
		},
	},
	ParentActionGroupSignature: jsii.String("parentActionGroupSignature"),
	SkipResourceInUseCheckOnDelete: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html

type CfnAgent_AgentKnowledgeBaseProperty added in v2.139.0

type CfnAgent_AgentKnowledgeBaseProperty struct {
	// The description of the association between the agent and the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-description
	//
	Description *string `field:"required" json:"description" yaml:"description"`
	// The unique identifier of the association between the agent and the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebaseid
	//
	KnowledgeBaseId *string `field:"required" json:"knowledgeBaseId" yaml:"knowledgeBaseId"`
	// Specifies whether to use the knowledge base or not when sending an [InvokeAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_InvokeAgent.html) request.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html#cfn-bedrock-agent-agentknowledgebase-knowledgebasestate
	//
	KnowledgeBaseState *string `field:"optional" json:"knowledgeBaseState" yaml:"knowledgeBaseState"`
}

Contains details about a knowledge base that is associated with an agent.

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"

agentKnowledgeBaseProperty := &AgentKnowledgeBaseProperty{
	Description: jsii.String("description"),
	KnowledgeBaseId: jsii.String("knowledgeBaseId"),

	// the properties below are optional
	KnowledgeBaseState: jsii.String("knowledgeBaseState"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentknowledgebase.html

type CfnAgent_FunctionProperty added in v2.143.0

type CfnAgent_FunctionProperty struct {
	// A name for the function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// A description of the function and its purpose.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The parameters that the agent elicits from the user to fulfill the function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html#cfn-bedrock-agent-function-parameters
	//
	Parameters interface{} `field:"optional" json:"parameters" yaml:"parameters"`
}

Defines parameters that the agent needs to invoke from the user to complete the function.

Corresponds to an action in an action group.

This data type is used in the following API operations:

- [CreateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) - [CreateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) - [UpdateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) - [UpdateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) - [GetAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax)

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"

functionProperty := &FunctionProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	Description: jsii.String("description"),
	Parameters: map[string]interface{}{
		"parametersKey": &ParameterDetailProperty{
			"type": jsii.String("type"),

			// the properties below are optional
			"description": jsii.String("description"),
			"required": jsii.Boolean(false),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-function.html

type CfnAgent_FunctionSchemaProperty added in v2.143.0

type CfnAgent_FunctionSchemaProperty struct {
	// A list of functions that each define an action in the action group.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-functionschema.html#cfn-bedrock-agent-functionschema-functions
	//
	Functions interface{} `field:"required" json:"functions" yaml:"functions"`
}

Defines functions that each define parameters that the agent needs to invoke from the user.

Each function represents an action in an action group.

This data type is used in the following API operations:

- [CreateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) - [CreateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) - [UpdateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) - [UpdateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) - [GetAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax)

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"

functionSchemaProperty := &FunctionSchemaProperty{
	Functions: []interface{}{
		&FunctionProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			Description: jsii.String("description"),
			Parameters: map[string]interface{}{
				"parametersKey": &ParameterDetailProperty{
					"type": jsii.String("type"),

					// the properties below are optional
					"description": jsii.String("description"),
					"required": jsii.Boolean(false),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-functionschema.html

type CfnAgent_GuardrailConfigurationProperty added in v2.148.0

type CfnAgent_GuardrailConfigurationProperty struct {
	// The identifier for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html#cfn-bedrock-agent-guardrailconfiguration-guardrailidentifier
	//
	GuardrailIdentifier *string `field:"optional" json:"guardrailIdentifier" yaml:"guardrailIdentifier"`
	// The version of the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html#cfn-bedrock-agent-guardrailconfiguration-guardrailversion
	//
	GuardrailVersion *string `field:"optional" json:"guardrailVersion" yaml:"guardrailVersion"`
}

Configuration information for a guardrail that you use with the [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) operation.

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"

guardrailConfigurationProperty := &GuardrailConfigurationProperty{
	GuardrailIdentifier: jsii.String("guardrailIdentifier"),
	GuardrailVersion: jsii.String("guardrailVersion"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-guardrailconfiguration.html

type CfnAgent_InferenceConfigurationProperty added in v2.139.0

type CfnAgent_InferenceConfigurationProperty struct {
	// The maximum number of tokens allowed in the generated response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-maximumlength
	//
	MaximumLength *float64 `field:"optional" json:"maximumLength" yaml:"maximumLength"`
	// A list of stop sequences.
	//
	// A stop sequence is a sequence of characters that causes the model to stop generating the response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-stopsequences
	//
	StopSequences *[]*string `field:"optional" json:"stopSequences" yaml:"stopSequences"`
	// The likelihood of the model selecting higher-probability options while generating a response.
	//
	// A lower value makes the model more likely to choose higher-probability options, while a higher value makes the model more likely to choose lower-probability options.
	//
	// The default value is the default value for the model that you are using. For more information, see [Inference parameters for foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-temperature
	//
	Temperature *float64 `field:"optional" json:"temperature" yaml:"temperature"`
	// While generating a response, the model determines the probability of the following token at each point of generation.
	//
	// The value that you set for `topK` is the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set `topK` to 50, the model selects the next token from among the top 50 most likely choices.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topk
	//
	TopK *float64 `field:"optional" json:"topK" yaml:"topK"`
	// The percentage of most-likely candidates that the model considers for the next token.
	//
	// For example, if you choose a value of 0.8 for `topP` , the model selects from the top 80% of the probability distribution of tokens that could be next in the sequence.
	//
	// The default value is the default value for the model that you are using. For more information, see [Inference parameters for foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html#cfn-bedrock-agent-inferenceconfiguration-topp
	//
	TopP *float64 `field:"optional" json:"topP" yaml:"topP"`
}

Base inference parameters to pass to a model in a call to [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html) or [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html) . For more information, see [Inference parameters for foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .

If you need to pass additional parameters that the model supports, use the `additionalModelRequestFields` request field in the call to `Converse` or `ConverseStream` . For more information, see [Model parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .

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"

inferenceConfigurationProperty := &InferenceConfigurationProperty{
	MaximumLength: jsii.Number(123),
	StopSequences: []*string{
		jsii.String("stopSequences"),
	},
	Temperature: jsii.Number(123),
	TopK: jsii.Number(123),
	TopP: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-inferenceconfiguration.html

type CfnAgent_ParameterDetailProperty added in v2.143.0

type CfnAgent_ParameterDetailProperty struct {
	// The data type of the parameter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// A description of the parameter.
	//
	// Helps the foundation model determine how to elicit the parameters from the user.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Whether the parameter is required for the agent to complete the function for action group invocation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html#cfn-bedrock-agent-parameterdetail-required
	//
	Required interface{} `field:"optional" json:"required" yaml:"required"`
}

Contains details about a parameter in a function for an action group.

This data type is used in the following API operations:

- [CreateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_RequestSyntax) - [CreateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html#API_agent_CreateAgentActionGroup_ResponseSyntax) - [UpdateAgentActionGroup request](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_RequestSyntax) - [UpdateAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html#API_agent_UpdateAgentActionGroup_ResponseSyntax) - [GetAgentActionGroup response](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgentActionGroup.html#API_agent_GetAgentActionGroup_ResponseSyntax)

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"

parameterDetailProperty := &ParameterDetailProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	Description: jsii.String("description"),
	Required: jsii.Boolean(false),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-parameterdetail.html

type CfnAgent_PromptConfigurationProperty added in v2.139.0

type CfnAgent_PromptConfigurationProperty struct {
	// Defines the prompt template with which to replace the default prompt template.
	//
	// You can use placeholder variables in the base prompt template to customize the prompt. For more information, see [Prompt template placeholder variables](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-placeholders.html) . For more information, see [Configure the prompt templates](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts-configure.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-baseprompttemplate
	//
	BasePromptTemplate *string `field:"optional" json:"basePromptTemplate" yaml:"basePromptTemplate"`
	// Contains inference parameters to use when the agent invokes a foundation model in the part of the agent sequence defined by the `promptType` .
	//
	// For more information, see [Inference parameters for foundation models](https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-inferenceconfiguration
	//
	InferenceConfiguration interface{} `field:"optional" json:"inferenceConfiguration" yaml:"inferenceConfiguration"`
	// Specifies whether to override the default parser Lambda function when parsing the raw foundation model output in the part of the agent sequence defined by the `promptType` .
	//
	// If you set the field as `OVERRIDEN` , the `overrideLambda` field in the [PromptOverrideConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html) must be specified with the ARN of a Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-parsermode
	//
	ParserMode *string `field:"optional" json:"parserMode" yaml:"parserMode"`
	// Specifies whether to override the default prompt template for this `promptType` .
	//
	// Set this value to `OVERRIDDEN` to use the prompt that you provide in the `basePromptTemplate` . If you leave it as `DEFAULT` , the agent uses a default prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptcreationmode
	//
	PromptCreationMode *string `field:"optional" json:"promptCreationMode" yaml:"promptCreationMode"`
	// Specifies whether to allow the agent to carry out the step specified in the `promptType` .
	//
	// If you set this value to `DISABLED` , the agent skips that step. The default state for each `promptType` is as follows.
	//
	// - `PRE_PROCESSING` – `ENABLED`
	// - `ORCHESTRATION` – `ENABLED`
	// - `KNOWLEDGE_BASE_RESPONSE_GENERATION` – `ENABLED`
	// - `POST_PROCESSING` – `DISABLED`.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-promptstate
	//
	PromptState *string `field:"optional" json:"promptState" yaml:"promptState"`
	// The step in the agent sequence that this prompt configuration applies to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html#cfn-bedrock-agent-promptconfiguration-prompttype
	//
	PromptType *string `field:"optional" json:"promptType" yaml:"promptType"`
}

Contains configurations to override a prompt template in one part of an agent sequence.

For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .

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"

promptConfigurationProperty := &PromptConfigurationProperty{
	BasePromptTemplate: jsii.String("basePromptTemplate"),
	InferenceConfiguration: &InferenceConfigurationProperty{
		MaximumLength: jsii.Number(123),
		StopSequences: []*string{
			jsii.String("stopSequences"),
		},
		Temperature: jsii.Number(123),
		TopK: jsii.Number(123),
		TopP: jsii.Number(123),
	},
	ParserMode: jsii.String("parserMode"),
	PromptCreationMode: jsii.String("promptCreationMode"),
	PromptState: jsii.String("promptState"),
	PromptType: jsii.String("promptType"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptconfiguration.html

type CfnAgent_PromptOverrideConfigurationProperty added in v2.139.0

type CfnAgent_PromptOverrideConfigurationProperty struct {
	// Contains configurations to override a prompt template in one part of an agent sequence.
	//
	// For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-promptconfigurations
	//
	PromptConfigurations interface{} `field:"required" json:"promptConfigurations" yaml:"promptConfigurations"`
	// The ARN of the Lambda function to use when parsing the raw foundation model output in parts of the agent sequence.
	//
	// If you specify this field, at least one of the `promptConfigurations` must contain a `parserMode` value that is set to `OVERRIDDEN` . For more information, see [Parser Lambda function in Agents for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/lambda-parser.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html#cfn-bedrock-agent-promptoverrideconfiguration-overridelambda
	//
	OverrideLambda *string `field:"optional" json:"overrideLambda" yaml:"overrideLambda"`
}

Contains configurations to override prompts in different parts of an agent sequence.

For more information, see [Advanced prompts](https://docs.aws.amazon.com/bedrock/latest/userguide/advanced-prompts.html) .

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"

promptOverrideConfigurationProperty := &PromptOverrideConfigurationProperty{
	PromptConfigurations: []interface{}{
		&PromptConfigurationProperty{
			BasePromptTemplate: jsii.String("basePromptTemplate"),
			InferenceConfiguration: &InferenceConfigurationProperty{
				MaximumLength: jsii.Number(123),
				StopSequences: []*string{
					jsii.String("stopSequences"),
				},
				Temperature: jsii.Number(123),
				TopK: jsii.Number(123),
				TopP: jsii.Number(123),
			},
			ParserMode: jsii.String("parserMode"),
			PromptCreationMode: jsii.String("promptCreationMode"),
			PromptState: jsii.String("promptState"),
			PromptType: jsii.String("promptType"),
		},
	},

	// the properties below are optional
	OverrideLambda: jsii.String("overrideLambda"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-promptoverrideconfiguration.html

type CfnAgent_S3IdentifierProperty added in v2.139.0

type CfnAgent_S3IdentifierProperty struct {
	// The name of the S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3bucketname
	//
	S3BucketName *string `field:"optional" json:"s3BucketName" yaml:"s3BucketName"`
	// The S3 object key for the S3 resource.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html#cfn-bedrock-agent-s3identifier-s3objectkey
	//
	S3ObjectKey *string `field:"optional" json:"s3ObjectKey" yaml:"s3ObjectKey"`
}

The identifier information for an Amazon S3 bucket.

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"

s3IdentifierProperty := &S3IdentifierProperty{
	S3BucketName: jsii.String("s3BucketName"),
	S3ObjectKey: jsii.String("s3ObjectKey"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-s3identifier.html

type CfnDataSource added in v2.139.0

type CfnDataSource interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time at which the data source was created.
	AttrCreatedAt() *string
	// The unique identifier of the data source.
	AttrDataSourceId() *string
	// The status of the data source. The following statuses are possible:.
	//
	// - Available – The data source has been created and is ready for ingestion into the knowledge base.
	// - Deleting – The data source is being deleted.
	AttrDataSourceStatus() *string
	// The detailed reasons on the failure to delete a data source.
	AttrFailureReasons() *[]*string
	// The time at which the data source was last updated.
	AttrUpdatedAt() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The data deletion policy for the data source.
	DataDeletionPolicy() *string
	SetDataDeletionPolicy(val *string)
	// The connection configuration for the data source.
	DataSourceConfiguration() interface{}
	SetDataSourceConfiguration(val interface{})
	// The description of the data source.
	Description() *string
	SetDescription(val *string)
	// The unique identifier of the knowledge base to which the data source belongs.
	KnowledgeBaseId() *string
	SetKnowledgeBaseId(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the data source.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// Contains details about the configuration of the server-side encryption.
	ServerSideEncryptionConfiguration() interface{}
	SetServerSideEncryptionConfiguration(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Contains details about how to ingest the documents in the data source.
	VectorIngestionConfiguration() interface{}
	SetVectorIngestionConfiguration(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Specifies a data source as a resource in a top-level template. Minimally, you must specify the following properties:.

- Name – Specify a name for the data source. - KnowledgeBaseId – Specify the ID of the knowledge base for the data source to belong to. - DataSourceConfiguration – Specify information about the Amazon S3 bucket containing the data source. The following sub-properties are required:

- Type – Specify the value `S3` .

For more information about setting up data sources in Amazon Bedrock , see [Set up a data source for your knowledge base](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html) .

See the *Properties* section below for descriptions of both the required and optional properties.

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"

cfnDataSource := awscdk.Aws_bedrock.NewCfnDataSource(this, jsii.String("MyCfnDataSource"), &CfnDataSourceProps{
	DataSourceConfiguration: &DataSourceConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		ConfluenceConfiguration: &ConfluenceDataSourceConfigurationProperty{
			SourceConfiguration: &ConfluenceSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				HostType: jsii.String("hostType"),
				HostUrl: jsii.String("hostUrl"),
			},

			// the properties below are optional
			CrawlerConfiguration: &ConfluenceCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		S3Configuration: &S3DataSourceConfigurationProperty{
			BucketArn: jsii.String("bucketArn"),

			// the properties below are optional
			BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
			InclusionPrefixes: []*string{
				jsii.String("inclusionPrefixes"),
			},
		},
		SalesforceConfiguration: &SalesforceDataSourceConfigurationProperty{
			SourceConfiguration: &SalesforceSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				HostUrl: jsii.String("hostUrl"),
			},

			// the properties below are optional
			CrawlerConfiguration: &SalesforceCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		SharePointConfiguration: &SharePointDataSourceConfigurationProperty{
			SourceConfiguration: &SharePointSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				Domain: jsii.String("domain"),
				HostType: jsii.String("hostType"),
				SiteUrls: []*string{
					jsii.String("siteUrls"),
				},

				// the properties below are optional
				TenantId: jsii.String("tenantId"),
			},

			// the properties below are optional
			CrawlerConfiguration: &SharePointCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		WebConfiguration: &WebDataSourceConfigurationProperty{
			SourceConfiguration: &WebSourceConfigurationProperty{
				UrlConfiguration: &UrlConfigurationProperty{
					SeedUrls: []interface{}{
						&SeedUrlProperty{
							Url: jsii.String("url"),
						},
					},
				},
			},

			// the properties below are optional
			CrawlerConfiguration: &WebCrawlerConfigurationProperty{
				CrawlerLimits: &WebCrawlerLimitsProperty{
					RateLimit: jsii.Number(123),
				},
				ExclusionFilters: []*string{
					jsii.String("exclusionFilters"),
				},
				InclusionFilters: []*string{
					jsii.String("inclusionFilters"),
				},
				Scope: jsii.String("scope"),
			},
		},
	},
	KnowledgeBaseId: jsii.String("knowledgeBaseId"),
	Name: jsii.String("name"),

	// the properties below are optional
	DataDeletionPolicy: jsii.String("dataDeletionPolicy"),
	Description: jsii.String("description"),
	ServerSideEncryptionConfiguration: &ServerSideEncryptionConfigurationProperty{
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
	VectorIngestionConfiguration: &VectorIngestionConfigurationProperty{
		ChunkingConfiguration: &ChunkingConfigurationProperty{
			ChunkingStrategy: jsii.String("chunkingStrategy"),

			// the properties below are optional
			FixedSizeChunkingConfiguration: &FixedSizeChunkingConfigurationProperty{
				MaxTokens: jsii.Number(123),
				OverlapPercentage: jsii.Number(123),
			},
			HierarchicalChunkingConfiguration: &HierarchicalChunkingConfigurationProperty{
				LevelConfigurations: []interface{}{
					&HierarchicalChunkingLevelConfigurationProperty{
						MaxTokens: jsii.Number(123),
					},
				},
				OverlapTokens: jsii.Number(123),
			},
			SemanticChunkingConfiguration: &SemanticChunkingConfigurationProperty{
				BreakpointPercentileThreshold: jsii.Number(123),
				BufferSize: jsii.Number(123),
				MaxTokens: jsii.Number(123),
			},
		},
		CustomTransformationConfiguration: &CustomTransformationConfigurationProperty{
			IntermediateStorage: &IntermediateStorageProperty{
				S3Location: &S3LocationProperty{
					Uri: jsii.String("uri"),
				},
			},
			Transformations: []interface{}{
				&TransformationProperty{
					StepToApply: jsii.String("stepToApply"),
					TransformationFunction: &TransformationFunctionProperty{
						TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
							LambdaArn: jsii.String("lambdaArn"),
						},
					},
				},
			},
		},
		ParsingConfiguration: &ParsingConfigurationProperty{
			ParsingStrategy: jsii.String("parsingStrategy"),

			// the properties below are optional
			BedrockFoundationModelConfiguration: &BedrockFoundationModelConfigurationProperty{
				ModelArn: jsii.String("modelArn"),

				// the properties below are optional
				ParsingPrompt: &ParsingPromptProperty{
					ParsingPromptText: jsii.String("parsingPromptText"),
				},
			},
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html

func NewCfnDataSource added in v2.139.0

func NewCfnDataSource(scope constructs.Construct, id *string, props *CfnDataSourceProps) CfnDataSource

type CfnDataSourceProps added in v2.139.0

type CfnDataSourceProps struct {
	// The connection configuration for the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datasourceconfiguration
	//
	DataSourceConfiguration interface{} `field:"required" json:"dataSourceConfiguration" yaml:"dataSourceConfiguration"`
	// The unique identifier of the knowledge base to which the data source belongs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-knowledgebaseid
	//
	KnowledgeBaseId *string `field:"required" json:"knowledgeBaseId" yaml:"knowledgeBaseId"`
	// The name of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data deletion policy for the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-datadeletionpolicy
	//
	DataDeletionPolicy *string `field:"optional" json:"dataDeletionPolicy" yaml:"dataDeletionPolicy"`
	// The description of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Contains details about the configuration of the server-side encryption.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-serversideencryptionconfiguration
	//
	ServerSideEncryptionConfiguration interface{} `field:"optional" json:"serverSideEncryptionConfiguration" yaml:"serverSideEncryptionConfiguration"`
	// Contains details about how to ingest the documents in the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html#cfn-bedrock-datasource-vectoringestionconfiguration
	//
	VectorIngestionConfiguration interface{} `field:"optional" json:"vectorIngestionConfiguration" yaml:"vectorIngestionConfiguration"`
}

Properties for defining a `CfnDataSource`.

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"

cfnDataSourceProps := &CfnDataSourceProps{
	DataSourceConfiguration: &DataSourceConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		ConfluenceConfiguration: &ConfluenceDataSourceConfigurationProperty{
			SourceConfiguration: &ConfluenceSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				HostType: jsii.String("hostType"),
				HostUrl: jsii.String("hostUrl"),
			},

			// the properties below are optional
			CrawlerConfiguration: &ConfluenceCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		S3Configuration: &S3DataSourceConfigurationProperty{
			BucketArn: jsii.String("bucketArn"),

			// the properties below are optional
			BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
			InclusionPrefixes: []*string{
				jsii.String("inclusionPrefixes"),
			},
		},
		SalesforceConfiguration: &SalesforceDataSourceConfigurationProperty{
			SourceConfiguration: &SalesforceSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				HostUrl: jsii.String("hostUrl"),
			},

			// the properties below are optional
			CrawlerConfiguration: &SalesforceCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		SharePointConfiguration: &SharePointDataSourceConfigurationProperty{
			SourceConfiguration: &SharePointSourceConfigurationProperty{
				AuthType: jsii.String("authType"),
				CredentialsSecretArn: jsii.String("credentialsSecretArn"),
				Domain: jsii.String("domain"),
				HostType: jsii.String("hostType"),
				SiteUrls: []*string{
					jsii.String("siteUrls"),
				},

				// the properties below are optional
				TenantId: jsii.String("tenantId"),
			},

			// the properties below are optional
			CrawlerConfiguration: &SharePointCrawlerConfigurationProperty{
				FilterConfiguration: &CrawlFilterConfigurationProperty{
					Type: jsii.String("type"),

					// the properties below are optional
					PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
						Filters: []interface{}{
							&PatternObjectFilterProperty{
								ObjectType: jsii.String("objectType"),

								// the properties below are optional
								ExclusionFilters: []*string{
									jsii.String("exclusionFilters"),
								},
								InclusionFilters: []*string{
									jsii.String("inclusionFilters"),
								},
							},
						},
					},
				},
			},
		},
		WebConfiguration: &WebDataSourceConfigurationProperty{
			SourceConfiguration: &WebSourceConfigurationProperty{
				UrlConfiguration: &UrlConfigurationProperty{
					SeedUrls: []interface{}{
						&SeedUrlProperty{
							Url: jsii.String("url"),
						},
					},
				},
			},

			// the properties below are optional
			CrawlerConfiguration: &WebCrawlerConfigurationProperty{
				CrawlerLimits: &WebCrawlerLimitsProperty{
					RateLimit: jsii.Number(123),
				},
				ExclusionFilters: []*string{
					jsii.String("exclusionFilters"),
				},
				InclusionFilters: []*string{
					jsii.String("inclusionFilters"),
				},
				Scope: jsii.String("scope"),
			},
		},
	},
	KnowledgeBaseId: jsii.String("knowledgeBaseId"),
	Name: jsii.String("name"),

	// the properties below are optional
	DataDeletionPolicy: jsii.String("dataDeletionPolicy"),
	Description: jsii.String("description"),
	ServerSideEncryptionConfiguration: &ServerSideEncryptionConfigurationProperty{
		KmsKeyArn: jsii.String("kmsKeyArn"),
	},
	VectorIngestionConfiguration: &VectorIngestionConfigurationProperty{
		ChunkingConfiguration: &ChunkingConfigurationProperty{
			ChunkingStrategy: jsii.String("chunkingStrategy"),

			// the properties below are optional
			FixedSizeChunkingConfiguration: &FixedSizeChunkingConfigurationProperty{
				MaxTokens: jsii.Number(123),
				OverlapPercentage: jsii.Number(123),
			},
			HierarchicalChunkingConfiguration: &HierarchicalChunkingConfigurationProperty{
				LevelConfigurations: []interface{}{
					&HierarchicalChunkingLevelConfigurationProperty{
						MaxTokens: jsii.Number(123),
					},
				},
				OverlapTokens: jsii.Number(123),
			},
			SemanticChunkingConfiguration: &SemanticChunkingConfigurationProperty{
				BreakpointPercentileThreshold: jsii.Number(123),
				BufferSize: jsii.Number(123),
				MaxTokens: jsii.Number(123),
			},
		},
		CustomTransformationConfiguration: &CustomTransformationConfigurationProperty{
			IntermediateStorage: &IntermediateStorageProperty{
				S3Location: &S3LocationProperty{
					Uri: jsii.String("uri"),
				},
			},
			Transformations: []interface{}{
				&TransformationProperty{
					StepToApply: jsii.String("stepToApply"),
					TransformationFunction: &TransformationFunctionProperty{
						TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
							LambdaArn: jsii.String("lambdaArn"),
						},
					},
				},
			},
		},
		ParsingConfiguration: &ParsingConfigurationProperty{
			ParsingStrategy: jsii.String("parsingStrategy"),

			// the properties below are optional
			BedrockFoundationModelConfiguration: &BedrockFoundationModelConfigurationProperty{
				ModelArn: jsii.String("modelArn"),

				// the properties below are optional
				ParsingPrompt: &ParsingPromptProperty{
					ParsingPromptText: jsii.String("parsingPromptText"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.html

type CfnDataSource_BedrockFoundationModelConfigurationProperty added in v2.154.0

type CfnDataSource_BedrockFoundationModelConfigurationProperty struct {
	// The model's ARN.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelconfiguration-modelarn
	//
	ModelArn *string `field:"required" json:"modelArn" yaml:"modelArn"`
	// Instructions for interpreting the contents of a document.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html#cfn-bedrock-datasource-bedrockfoundationmodelconfiguration-parsingprompt
	//
	ParsingPrompt interface{} `field:"optional" json:"parsingPrompt" yaml:"parsingPrompt"`
}

Settings for a foundation model used to parse documents for a data source.

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"

bedrockFoundationModelConfigurationProperty := &BedrockFoundationModelConfigurationProperty{
	ModelArn: jsii.String("modelArn"),

	// the properties below are optional
	ParsingPrompt: &ParsingPromptProperty{
		ParsingPromptText: jsii.String("parsingPromptText"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-bedrockfoundationmodelconfiguration.html

type CfnDataSource_ChunkingConfigurationProperty added in v2.139.0

type CfnDataSource_ChunkingConfigurationProperty struct {
	// Knowledge base can split your source data into chunks.
	//
	// A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried. You have the following options for chunking your data. If you opt for `NONE` , then you may want to pre-process your files by splitting them up such that each file corresponds to a chunk.
	//
	// - `FIXED_SIZE` – Amazon Bedrock splits your source data into chunks of the approximate size that you set in the `fixedSizeChunkingConfiguration` .
	// - `HIERARCHICAL` – Split documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.
	// - `SEMANTIC` – Split documents into chunks based on groups of similar content derived with natural language processing.
	// - `NONE` – Amazon Bedrock treats each file as one chunk. If you choose this option, you may want to pre-process your documents by splitting them into separate files.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-chunkingstrategy
	//
	ChunkingStrategy *string `field:"required" json:"chunkingStrategy" yaml:"chunkingStrategy"`
	// Configurations for when you choose fixed-size chunking.
	//
	// If you set the `chunkingStrategy` as `NONE` , exclude this field.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-fixedsizechunkingconfiguration
	//
	FixedSizeChunkingConfiguration interface{} `field:"optional" json:"fixedSizeChunkingConfiguration" yaml:"fixedSizeChunkingConfiguration"`
	// Settings for hierarchical document chunking for a data source.
	//
	// Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-hierarchicalchunkingconfiguration
	//
	HierarchicalChunkingConfiguration interface{} `field:"optional" json:"hierarchicalChunkingConfiguration" yaml:"hierarchicalChunkingConfiguration"`
	// Settings for semantic document chunking for a data source.
	//
	// Semantic chunking splits a document into into smaller documents based on groups of similar content derived from the text with natural language processing.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html#cfn-bedrock-datasource-chunkingconfiguration-semanticchunkingconfiguration
	//
	SemanticChunkingConfiguration interface{} `field:"optional" json:"semanticChunkingConfiguration" yaml:"semanticChunkingConfiguration"`
}

Details about how to chunk the documents in the data source.

A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.

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"

chunkingConfigurationProperty := &ChunkingConfigurationProperty{
	ChunkingStrategy: jsii.String("chunkingStrategy"),

	// the properties below are optional
	FixedSizeChunkingConfiguration: &FixedSizeChunkingConfigurationProperty{
		MaxTokens: jsii.Number(123),
		OverlapPercentage: jsii.Number(123),
	},
	HierarchicalChunkingConfiguration: &HierarchicalChunkingConfigurationProperty{
		LevelConfigurations: []interface{}{
			&HierarchicalChunkingLevelConfigurationProperty{
				MaxTokens: jsii.Number(123),
			},
		},
		OverlapTokens: jsii.Number(123),
	},
	SemanticChunkingConfiguration: &SemanticChunkingConfigurationProperty{
		BreakpointPercentileThreshold: jsii.Number(123),
		BufferSize: jsii.Number(123),
		MaxTokens: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-chunkingconfiguration.html

type CfnDataSource_ConfluenceCrawlerConfigurationProperty added in v2.154.1

type CfnDataSource_ConfluenceCrawlerConfigurationProperty struct {
	// The configuration of filtering the Confluence content.
	//
	// For example, configuring regular expression patterns to include or exclude certain content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html#cfn-bedrock-datasource-confluencecrawlerconfiguration-filterconfiguration
	//
	FilterConfiguration interface{} `field:"optional" json:"filterConfiguration" yaml:"filterConfiguration"`
}

The configuration of the Confluence content.

For example, configuring specific types of Confluence content.

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"

confluenceCrawlerConfigurationProperty := &ConfluenceCrawlerConfigurationProperty{
	FilterConfiguration: &CrawlFilterConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
			Filters: []interface{}{
				&PatternObjectFilterProperty{
					ObjectType: jsii.String("objectType"),

					// the properties below are optional
					ExclusionFilters: []*string{
						jsii.String("exclusionFilters"),
					},
					InclusionFilters: []*string{
						jsii.String("inclusionFilters"),
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencecrawlerconfiguration.html

type CfnDataSource_ConfluenceDataSourceConfigurationProperty added in v2.154.1

type CfnDataSource_ConfluenceDataSourceConfigurationProperty struct {
	// The endpoint information to connect to your Confluence data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// The configuration of the Confluence content.
	//
	// For example, configuring specific types of Confluence content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html#cfn-bedrock-datasource-confluencedatasourceconfiguration-crawlerconfiguration
	//
	CrawlerConfiguration interface{} `field:"optional" json:"crawlerConfiguration" yaml:"crawlerConfiguration"`
}

The configuration information to connect to Confluence as your data source.

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"

confluenceDataSourceConfigurationProperty := &ConfluenceDataSourceConfigurationProperty{
	SourceConfiguration: &ConfluenceSourceConfigurationProperty{
		AuthType: jsii.String("authType"),
		CredentialsSecretArn: jsii.String("credentialsSecretArn"),
		HostType: jsii.String("hostType"),
		HostUrl: jsii.String("hostUrl"),
	},

	// the properties below are optional
	CrawlerConfiguration: &ConfluenceCrawlerConfigurationProperty{
		FilterConfiguration: &CrawlFilterConfigurationProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
				Filters: []interface{}{
					&PatternObjectFilterProperty{
						ObjectType: jsii.String("objectType"),

						// the properties below are optional
						ExclusionFilters: []*string{
							jsii.String("exclusionFilters"),
						},
						InclusionFilters: []*string{
							jsii.String("inclusionFilters"),
						},
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencedatasourceconfiguration.html

type CfnDataSource_ConfluenceSourceConfigurationProperty added in v2.154.1

type CfnDataSource_ConfluenceSourceConfigurationProperty struct {
	// The supported authentication type to authenticate and connect to your Confluence instance.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-authtype
	//
	AuthType *string `field:"required" json:"authType" yaml:"authType"`
	// The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Confluence instance URL.
	//
	// For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see [Confluence connection configuration](https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html#configuration-confluence-connector) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-credentialssecretarn
	//
	CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"`
	// The supported host type, whether online/cloud or server/on-premises.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosttype
	//
	HostType *string `field:"required" json:"hostType" yaml:"hostType"`
	// The Confluence host URL or instance URL.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html#cfn-bedrock-datasource-confluencesourceconfiguration-hosturl
	//
	HostUrl *string `field:"required" json:"hostUrl" yaml:"hostUrl"`
}

The endpoint information to connect to your Confluence data source.

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"

confluenceSourceConfigurationProperty := &ConfluenceSourceConfigurationProperty{
	AuthType: jsii.String("authType"),
	CredentialsSecretArn: jsii.String("credentialsSecretArn"),
	HostType: jsii.String("hostType"),
	HostUrl: jsii.String("hostUrl"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-confluencesourceconfiguration.html

type CfnDataSource_CrawlFilterConfigurationProperty added in v2.154.1

type CfnDataSource_CrawlFilterConfigurationProperty struct {
	// The type of filtering that you want to apply to certain objects or content of the data source.
	//
	// For example, the `PATTERN` type is regular expression patterns you can apply to filter your content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The configuration of filtering certain objects or content types of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html#cfn-bedrock-datasource-crawlfilterconfiguration-patternobjectfilter
	//
	PatternObjectFilter interface{} `field:"optional" json:"patternObjectFilter" yaml:"patternObjectFilter"`
}

The configuration of filtering the data source content.

For example, configuring regular expression patterns to include or exclude certain content.

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"

crawlFilterConfigurationProperty := &CrawlFilterConfigurationProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
		Filters: []interface{}{
			&PatternObjectFilterProperty{
				ObjectType: jsii.String("objectType"),

				// the properties below are optional
				ExclusionFilters: []*string{
					jsii.String("exclusionFilters"),
				},
				InclusionFilters: []*string{
					jsii.String("inclusionFilters"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-crawlfilterconfiguration.html

type CfnDataSource_CustomTransformationConfigurationProperty added in v2.154.0

type CfnDataSource_CustomTransformationConfigurationProperty struct {
	// An S3 bucket path for input and output objects.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-intermediatestorage
	//
	IntermediateStorage interface{} `field:"required" json:"intermediateStorage" yaml:"intermediateStorage"`
	// A Lambda function that processes documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html#cfn-bedrock-datasource-customtransformationconfiguration-transformations
	//
	Transformations interface{} `field:"required" json:"transformations" yaml:"transformations"`
}

Settings for customizing steps in the data source content ingestion pipeline.

You can configure the data source to process documents with a Lambda function after they are parsed and converted into chunks. When you add a post-chunking transformation, the service stores chunked documents in an S3 bucket and invokes a Lambda function to process them.

To process chunked documents with a Lambda function, define an S3 bucket path for input and output objects, and a transformation that specifies the Lambda function to invoke. You can use the Lambda function to customize how chunks are split, and the metadata for each chunk.

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"

customTransformationConfigurationProperty := &CustomTransformationConfigurationProperty{
	IntermediateStorage: &IntermediateStorageProperty{
		S3Location: &S3LocationProperty{
			Uri: jsii.String("uri"),
		},
	},
	Transformations: []interface{}{
		&TransformationProperty{
			StepToApply: jsii.String("stepToApply"),
			TransformationFunction: &TransformationFunctionProperty{
				TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
					LambdaArn: jsii.String("lambdaArn"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-customtransformationconfiguration.html

type CfnDataSource_DataSourceConfigurationProperty added in v2.139.0

type CfnDataSource_DataSourceConfigurationProperty struct {
	// The type of data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The configuration information to connect to Confluence as your data source.
	//
	// > Confluence data source connector is in preview release and is subject to change.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-confluenceconfiguration
	//
	ConfluenceConfiguration interface{} `field:"optional" json:"confluenceConfiguration" yaml:"confluenceConfiguration"`
	// The configuration information to connect to Amazon S3 as your data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-s3configuration
	//
	S3Configuration interface{} `field:"optional" json:"s3Configuration" yaml:"s3Configuration"`
	// The configuration information to connect to Salesforce as your data source.
	//
	// > Salesforce data source connector is in preview release and is subject to change.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-salesforceconfiguration
	//
	SalesforceConfiguration interface{} `field:"optional" json:"salesforceConfiguration" yaml:"salesforceConfiguration"`
	// The configuration information to connect to SharePoint as your data source.
	//
	// > SharePoint data source connector is in preview release and is subject to change.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-sharepointconfiguration
	//
	SharePointConfiguration interface{} `field:"optional" json:"sharePointConfiguration" yaml:"sharePointConfiguration"`
	// The configuration of web URLs to crawl for your data source. You should be authorized to crawl the URLs.
	//
	// > Crawling web URLs as your data source is in preview release and is subject to change.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html#cfn-bedrock-datasource-datasourceconfiguration-webconfiguration
	//
	WebConfiguration interface{} `field:"optional" json:"webConfiguration" yaml:"webConfiguration"`
}

The connection configuration for the data source.

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"

dataSourceConfigurationProperty := &DataSourceConfigurationProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	ConfluenceConfiguration: &ConfluenceDataSourceConfigurationProperty{
		SourceConfiguration: &ConfluenceSourceConfigurationProperty{
			AuthType: jsii.String("authType"),
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			HostType: jsii.String("hostType"),
			HostUrl: jsii.String("hostUrl"),
		},

		// the properties below are optional
		CrawlerConfiguration: &ConfluenceCrawlerConfigurationProperty{
			FilterConfiguration: &CrawlFilterConfigurationProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
					Filters: []interface{}{
						&PatternObjectFilterProperty{
							ObjectType: jsii.String("objectType"),

							// the properties below are optional
							ExclusionFilters: []*string{
								jsii.String("exclusionFilters"),
							},
							InclusionFilters: []*string{
								jsii.String("inclusionFilters"),
							},
						},
					},
				},
			},
		},
	},
	S3Configuration: &S3DataSourceConfigurationProperty{
		BucketArn: jsii.String("bucketArn"),

		// the properties below are optional
		BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
		InclusionPrefixes: []*string{
			jsii.String("inclusionPrefixes"),
		},
	},
	SalesforceConfiguration: &SalesforceDataSourceConfigurationProperty{
		SourceConfiguration: &SalesforceSourceConfigurationProperty{
			AuthType: jsii.String("authType"),
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			HostUrl: jsii.String("hostUrl"),
		},

		// the properties below are optional
		CrawlerConfiguration: &SalesforceCrawlerConfigurationProperty{
			FilterConfiguration: &CrawlFilterConfigurationProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
					Filters: []interface{}{
						&PatternObjectFilterProperty{
							ObjectType: jsii.String("objectType"),

							// the properties below are optional
							ExclusionFilters: []*string{
								jsii.String("exclusionFilters"),
							},
							InclusionFilters: []*string{
								jsii.String("inclusionFilters"),
							},
						},
					},
				},
			},
		},
	},
	SharePointConfiguration: &SharePointDataSourceConfigurationProperty{
		SourceConfiguration: &SharePointSourceConfigurationProperty{
			AuthType: jsii.String("authType"),
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			Domain: jsii.String("domain"),
			HostType: jsii.String("hostType"),
			SiteUrls: []*string{
				jsii.String("siteUrls"),
			},

			// the properties below are optional
			TenantId: jsii.String("tenantId"),
		},

		// the properties below are optional
		CrawlerConfiguration: &SharePointCrawlerConfigurationProperty{
			FilterConfiguration: &CrawlFilterConfigurationProperty{
				Type: jsii.String("type"),

				// the properties below are optional
				PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
					Filters: []interface{}{
						&PatternObjectFilterProperty{
							ObjectType: jsii.String("objectType"),

							// the properties below are optional
							ExclusionFilters: []*string{
								jsii.String("exclusionFilters"),
							},
							InclusionFilters: []*string{
								jsii.String("inclusionFilters"),
							},
						},
					},
				},
			},
		},
	},
	WebConfiguration: &WebDataSourceConfigurationProperty{
		SourceConfiguration: &WebSourceConfigurationProperty{
			UrlConfiguration: &UrlConfigurationProperty{
				SeedUrls: []interface{}{
					&SeedUrlProperty{
						Url: jsii.String("url"),
					},
				},
			},
		},

		// the properties below are optional
		CrawlerConfiguration: &WebCrawlerConfigurationProperty{
			CrawlerLimits: &WebCrawlerLimitsProperty{
				RateLimit: jsii.Number(123),
			},
			ExclusionFilters: []*string{
				jsii.String("exclusionFilters"),
			},
			InclusionFilters: []*string{
				jsii.String("inclusionFilters"),
			},
			Scope: jsii.String("scope"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-datasourceconfiguration.html

type CfnDataSource_FixedSizeChunkingConfigurationProperty added in v2.139.0

type CfnDataSource_FixedSizeChunkingConfigurationProperty struct {
	// The maximum number of tokens to include in a chunk.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"required" json:"maxTokens" yaml:"maxTokens"`
	// The percentage of overlap between adjacent chunks of a data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html#cfn-bedrock-datasource-fixedsizechunkingconfiguration-overlappercentage
	//
	OverlapPercentage *float64 `field:"required" json:"overlapPercentage" yaml:"overlapPercentage"`
}

Configurations for when you choose fixed-size chunking.

If you set the `chunkingStrategy` as `NONE` , exclude this field.

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"

fixedSizeChunkingConfigurationProperty := &FixedSizeChunkingConfigurationProperty{
	MaxTokens: jsii.Number(123),
	OverlapPercentage: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-fixedsizechunkingconfiguration.html

type CfnDataSource_HierarchicalChunkingConfigurationProperty added in v2.154.0

type CfnDataSource_HierarchicalChunkingConfigurationProperty struct {
	// Token settings for each layer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-levelconfigurations
	//
	LevelConfigurations interface{} `field:"required" json:"levelConfigurations" yaml:"levelConfigurations"`
	// The number of tokens to repeat across chunks in the same layer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkingconfiguration-overlaptokens
	//
	OverlapTokens *float64 `field:"required" json:"overlapTokens" yaml:"overlapTokens"`
}

Settings for hierarchical document chunking for a data source.

Hierarchical chunking splits documents into layers of chunks where the first layer contains large chunks, and the second layer contains smaller chunks derived from the first layer.

You configure the number of tokens to overlap, or repeat across adjacent chunks. For example, if you set overlap tokens to 60, the last 60 tokens in the first chunk are also included at the beginning of the second chunk. For each layer, you must also configure the maximum number of tokens in a chunk.

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"

hierarchicalChunkingConfigurationProperty := &HierarchicalChunkingConfigurationProperty{
	LevelConfigurations: []interface{}{
		&HierarchicalChunkingLevelConfigurationProperty{
			MaxTokens: jsii.Number(123),
		},
	},
	OverlapTokens: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkingconfiguration.html

type CfnDataSource_HierarchicalChunkingLevelConfigurationProperty added in v2.154.0

type CfnDataSource_HierarchicalChunkingLevelConfigurationProperty struct {
	// The maximum number of tokens that a chunk can contain in this layer.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html#cfn-bedrock-datasource-hierarchicalchunkinglevelconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"required" json:"maxTokens" yaml:"maxTokens"`
}

Token settings for a layer in a hierarchical chunking configuration.

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"

hierarchicalChunkingLevelConfigurationProperty := &HierarchicalChunkingLevelConfigurationProperty{
	MaxTokens: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-hierarchicalchunkinglevelconfiguration.html

type CfnDataSource_IntermediateStorageProperty added in v2.154.0

type CfnDataSource_IntermediateStorageProperty struct {
	// An S3 bucket path.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html#cfn-bedrock-datasource-intermediatestorage-s3location
	//
	S3Location interface{} `field:"required" json:"s3Location" yaml:"s3Location"`
}

A location for storing content from data sources temporarily as it is processed by custom components in the ingestion pipeline.

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"

intermediateStorageProperty := &IntermediateStorageProperty{
	S3Location: &S3LocationProperty{
		Uri: jsii.String("uri"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-intermediatestorage.html

type CfnDataSource_ParsingConfigurationProperty added in v2.154.0

type CfnDataSource_ParsingConfigurationProperty struct {
	// The parsing strategy for the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-parsingstrategy
	//
	ParsingStrategy *string `field:"required" json:"parsingStrategy" yaml:"parsingStrategy"`
	// Settings for a foundation model used to parse documents for a data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html#cfn-bedrock-datasource-parsingconfiguration-bedrockfoundationmodelconfiguration
	//
	BedrockFoundationModelConfiguration interface{} `field:"optional" json:"bedrockFoundationModelConfiguration" yaml:"bedrockFoundationModelConfiguration"`
}

Settings for parsing document contents.

By default, the service converts the contents of each document into text before splitting it into chunks. To improve processing of PDF files with tables and images, you can configure the data source to convert the pages of text into images and use a model to describe the contents of each page.

To use a model to parse PDF documents, set the parsing strategy to `BEDROCK_FOUNDATION_MODEL` and specify the model to use by ARN. You can also override the default parsing prompt with instructions for how to interpret images and tables in your documents. The following models are supported.

- Anthropic Claude 3 Sonnet - `anthropic.claude-3-sonnet-20240229-v1:0` - Anthropic Claude 3 Haiku - `anthropic.claude-3-haiku-20240307-v1:0`

You can get the ARN of a model with the [ListFoundationModels](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_ListFoundationModels.html) action. Standard model usage charges apply for the foundation model parsing strategy.

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"

parsingConfigurationProperty := &ParsingConfigurationProperty{
	ParsingStrategy: jsii.String("parsingStrategy"),

	// the properties below are optional
	BedrockFoundationModelConfiguration: &BedrockFoundationModelConfigurationProperty{
		ModelArn: jsii.String("modelArn"),

		// the properties below are optional
		ParsingPrompt: &ParsingPromptProperty{
			ParsingPromptText: jsii.String("parsingPromptText"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingconfiguration.html

type CfnDataSource_ParsingPromptProperty added in v2.154.0

type CfnDataSource_ParsingPromptProperty struct {
	// Instructions for interpreting the contents of a document.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html#cfn-bedrock-datasource-parsingprompt-parsingprompttext
	//
	ParsingPromptText *string `field:"required" json:"parsingPromptText" yaml:"parsingPromptText"`
}

Instructions for interpreting the contents of a document.

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"

parsingPromptProperty := &ParsingPromptProperty{
	ParsingPromptText: jsii.String("parsingPromptText"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-parsingprompt.html

type CfnDataSource_PatternObjectFilterConfigurationProperty added in v2.154.1

type CfnDataSource_PatternObjectFilterConfigurationProperty struct {
	// The configuration of specific filters applied to your data source content.
	//
	// You can filter out or include certain content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html#cfn-bedrock-datasource-patternobjectfilterconfiguration-filters
	//
	Filters interface{} `field:"required" json:"filters" yaml:"filters"`
}

The configuration of filtering certain objects or content types of the data source.

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"

patternObjectFilterConfigurationProperty := &PatternObjectFilterConfigurationProperty{
	Filters: []interface{}{
		&PatternObjectFilterProperty{
			ObjectType: jsii.String("objectType"),

			// the properties below are optional
			ExclusionFilters: []*string{
				jsii.String("exclusionFilters"),
			},
			InclusionFilters: []*string{
				jsii.String("inclusionFilters"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilterconfiguration.html

type CfnDataSource_PatternObjectFilterProperty added in v2.154.1

type CfnDataSource_PatternObjectFilterProperty struct {
	// The supported object type or content type of the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-objecttype
	//
	ObjectType *string `field:"required" json:"objectType" yaml:"objectType"`
	// A list of one or more exclusion regular expression patterns to exclude certain object types that adhere to the pattern.
	//
	// If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-exclusionfilters
	//
	ExclusionFilters *[]*string `field:"optional" json:"exclusionFilters" yaml:"exclusionFilters"`
	// A list of one or more inclusion regular expression patterns to include certain object types that adhere to the pattern.
	//
	// If you specify an inclusion and exclusion filter/pattern and both match a document, the exclusion filter takes precedence and the document isn’t crawled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html#cfn-bedrock-datasource-patternobjectfilter-inclusionfilters
	//
	InclusionFilters *[]*string `field:"optional" json:"inclusionFilters" yaml:"inclusionFilters"`
}

The specific filters applied to your data source content.

You can filter out or include certain content.

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"

patternObjectFilterProperty := &PatternObjectFilterProperty{
	ObjectType: jsii.String("objectType"),

	// the properties below are optional
	ExclusionFilters: []*string{
		jsii.String("exclusionFilters"),
	},
	InclusionFilters: []*string{
		jsii.String("inclusionFilters"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-patternobjectfilter.html

type CfnDataSource_S3DataSourceConfigurationProperty added in v2.139.0

type CfnDataSource_S3DataSourceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the S3 bucket that contains your data.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketarn
	//
	BucketArn *string `field:"required" json:"bucketArn" yaml:"bucketArn"`
	// The account ID for the owner of the S3 bucket.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-bucketowneraccountid
	//
	BucketOwnerAccountId *string `field:"optional" json:"bucketOwnerAccountId" yaml:"bucketOwnerAccountId"`
	// A list of S3 prefixes to include certain files or content.
	//
	// For more information, see [Organizing objects using prefixes](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html#cfn-bedrock-datasource-s3datasourceconfiguration-inclusionprefixes
	//
	InclusionPrefixes *[]*string `field:"optional" json:"inclusionPrefixes" yaml:"inclusionPrefixes"`
}

The configuration information to connect to Amazon S3 as your data source.

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"

s3DataSourceConfigurationProperty := &S3DataSourceConfigurationProperty{
	BucketArn: jsii.String("bucketArn"),

	// the properties below are optional
	BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
	InclusionPrefixes: []*string{
		jsii.String("inclusionPrefixes"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3datasourceconfiguration.html

type CfnDataSource_S3LocationProperty added in v2.154.0

type CfnDataSource_S3LocationProperty struct {
	// The location's URI.
	//
	// For example, `s3://my-bucket/chunk-processor/` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html#cfn-bedrock-datasource-s3location-uri
	//
	Uri *string `field:"required" json:"uri" yaml:"uri"`
}

An Amazon S3 location.

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"

s3LocationProperty := &S3LocationProperty{
	Uri: jsii.String("uri"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-s3location.html

type CfnDataSource_SalesforceCrawlerConfigurationProperty added in v2.154.1

type CfnDataSource_SalesforceCrawlerConfigurationProperty struct {
	// The configuration of filtering the Salesforce content.
	//
	// For example, configuring regular expression patterns to include or exclude certain content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html#cfn-bedrock-datasource-salesforcecrawlerconfiguration-filterconfiguration
	//
	FilterConfiguration interface{} `field:"optional" json:"filterConfiguration" yaml:"filterConfiguration"`
}

The configuration of the Salesforce content.

For example, configuring specific types of Salesforce content.

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"

salesforceCrawlerConfigurationProperty := &SalesforceCrawlerConfigurationProperty{
	FilterConfiguration: &CrawlFilterConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
			Filters: []interface{}{
				&PatternObjectFilterProperty{
					ObjectType: jsii.String("objectType"),

					// the properties below are optional
					ExclusionFilters: []*string{
						jsii.String("exclusionFilters"),
					},
					InclusionFilters: []*string{
						jsii.String("inclusionFilters"),
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcecrawlerconfiguration.html

type CfnDataSource_SalesforceDataSourceConfigurationProperty added in v2.154.1

type CfnDataSource_SalesforceDataSourceConfigurationProperty struct {
	// The endpoint information to connect to your Salesforce data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// The configuration of the Salesforce content.
	//
	// For example, configuring specific types of Salesforce content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html#cfn-bedrock-datasource-salesforcedatasourceconfiguration-crawlerconfiguration
	//
	CrawlerConfiguration interface{} `field:"optional" json:"crawlerConfiguration" yaml:"crawlerConfiguration"`
}

The configuration information to connect to Salesforce as your data source.

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"

salesforceDataSourceConfigurationProperty := &SalesforceDataSourceConfigurationProperty{
	SourceConfiguration: &SalesforceSourceConfigurationProperty{
		AuthType: jsii.String("authType"),
		CredentialsSecretArn: jsii.String("credentialsSecretArn"),
		HostUrl: jsii.String("hostUrl"),
	},

	// the properties below are optional
	CrawlerConfiguration: &SalesforceCrawlerConfigurationProperty{
		FilterConfiguration: &CrawlFilterConfigurationProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
				Filters: []interface{}{
					&PatternObjectFilterProperty{
						ObjectType: jsii.String("objectType"),

						// the properties below are optional
						ExclusionFilters: []*string{
							jsii.String("exclusionFilters"),
						},
						InclusionFilters: []*string{
							jsii.String("inclusionFilters"),
						},
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcedatasourceconfiguration.html

type CfnDataSource_SalesforceSourceConfigurationProperty added in v2.154.1

type CfnDataSource_SalesforceSourceConfigurationProperty struct {
	// The supported authentication type to authenticate and connect to your Salesforce instance.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-authtype
	//
	AuthType *string `field:"required" json:"authType" yaml:"authType"`
	// The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your Salesforce instance URL.
	//
	// For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see [Salesforce connection configuration](https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-credentialssecretarn
	//
	CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"`
	// The Salesforce host URL or instance URL.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html#cfn-bedrock-datasource-salesforcesourceconfiguration-hosturl
	//
	HostUrl *string `field:"required" json:"hostUrl" yaml:"hostUrl"`
}

The endpoint information to connect to your Salesforce data source.

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"

salesforceSourceConfigurationProperty := &SalesforceSourceConfigurationProperty{
	AuthType: jsii.String("authType"),
	CredentialsSecretArn: jsii.String("credentialsSecretArn"),
	HostUrl: jsii.String("hostUrl"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-salesforcesourceconfiguration.html

type CfnDataSource_SeedUrlProperty added in v2.154.1

type CfnDataSource_SeedUrlProperty struct {
	// A seed or starting point URL.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html#cfn-bedrock-datasource-seedurl-url
	//
	Url *string `field:"required" json:"url" yaml:"url"`
}

The seed or starting point URL.

You should be authorized to crawl the URL.

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"

seedUrlProperty := &SeedUrlProperty{
	Url: jsii.String("url"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-seedurl.html

type CfnDataSource_SemanticChunkingConfigurationProperty added in v2.154.0

type CfnDataSource_SemanticChunkingConfigurationProperty struct {
	// The dissimilarity threshold for splitting chunks.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-breakpointpercentilethreshold
	//
	BreakpointPercentileThreshold *float64 `field:"required" json:"breakpointPercentileThreshold" yaml:"breakpointPercentileThreshold"`
	// The buffer size.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-buffersize
	//
	BufferSize *float64 `field:"required" json:"bufferSize" yaml:"bufferSize"`
	// The maximum number of tokens that a chunk can contain.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html#cfn-bedrock-datasource-semanticchunkingconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"required" json:"maxTokens" yaml:"maxTokens"`
}

Settings for semantic document chunking for a data source.

Semantic chunking splits a document into into smaller documents based on groups of similar content derived from the text with natural language processing.

With semantic chunking, each sentence is compared to the next to determine how similar they are. You specify a threshold in the form of a percentile, where adjacent sentences that are less similar than that percentage of sentence pairs are divided into separate chunks. For example, if you set the threshold to 90, then the 10 percent of sentence pairs that are least similar are split. So if you have 101 sentences, 100 sentence pairs are compared, and the 10 with the least similarity are split, creating 11 chunks. These chunks are further split if they exceed the max token size.

You must also specify a buffer size, which determines whether sentences are compared in isolation, or within a moving context window that includes the previous and following sentence. For example, if you set the buffer size to `1` , the embedding for sentence 10 is derived from sentences 9, 10, and 11 combined.

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"

semanticChunkingConfigurationProperty := &SemanticChunkingConfigurationProperty{
	BreakpointPercentileThreshold: jsii.Number(123),
	BufferSize: jsii.Number(123),
	MaxTokens: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-semanticchunkingconfiguration.html

type CfnDataSource_ServerSideEncryptionConfigurationProperty added in v2.139.0

type CfnDataSource_ServerSideEncryptionConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the AWS KMS key used to encrypt the resource.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html#cfn-bedrock-datasource-serversideencryptionconfiguration-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
}

Contains the configuration for server-side encryption.

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"

serverSideEncryptionConfigurationProperty := &ServerSideEncryptionConfigurationProperty{
	KmsKeyArn: jsii.String("kmsKeyArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-serversideencryptionconfiguration.html

type CfnDataSource_SharePointCrawlerConfigurationProperty added in v2.154.1

type CfnDataSource_SharePointCrawlerConfigurationProperty struct {
	// The configuration of filtering the SharePoint content.
	//
	// For example, configuring regular expression patterns to include or exclude certain content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html#cfn-bedrock-datasource-sharepointcrawlerconfiguration-filterconfiguration
	//
	FilterConfiguration interface{} `field:"optional" json:"filterConfiguration" yaml:"filterConfiguration"`
}

The configuration of the SharePoint content.

For example, configuring specific types of SharePoint content.

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"

sharePointCrawlerConfigurationProperty := &SharePointCrawlerConfigurationProperty{
	FilterConfiguration: &CrawlFilterConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
			Filters: []interface{}{
				&PatternObjectFilterProperty{
					ObjectType: jsii.String("objectType"),

					// the properties below are optional
					ExclusionFilters: []*string{
						jsii.String("exclusionFilters"),
					},
					InclusionFilters: []*string{
						jsii.String("inclusionFilters"),
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointcrawlerconfiguration.html

type CfnDataSource_SharePointDataSourceConfigurationProperty added in v2.154.1

type CfnDataSource_SharePointDataSourceConfigurationProperty struct {
	// The endpoint information to connect to your SharePoint data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// The configuration of the SharePoint content.
	//
	// For example, configuring specific types of SharePoint content.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html#cfn-bedrock-datasource-sharepointdatasourceconfiguration-crawlerconfiguration
	//
	CrawlerConfiguration interface{} `field:"optional" json:"crawlerConfiguration" yaml:"crawlerConfiguration"`
}

The configuration information to connect to SharePoint as your data source.

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"

sharePointDataSourceConfigurationProperty := &SharePointDataSourceConfigurationProperty{
	SourceConfiguration: &SharePointSourceConfigurationProperty{
		AuthType: jsii.String("authType"),
		CredentialsSecretArn: jsii.String("credentialsSecretArn"),
		Domain: jsii.String("domain"),
		HostType: jsii.String("hostType"),
		SiteUrls: []*string{
			jsii.String("siteUrls"),
		},

		// the properties below are optional
		TenantId: jsii.String("tenantId"),
	},

	// the properties below are optional
	CrawlerConfiguration: &SharePointCrawlerConfigurationProperty{
		FilterConfiguration: &CrawlFilterConfigurationProperty{
			Type: jsii.String("type"),

			// the properties below are optional
			PatternObjectFilter: &PatternObjectFilterConfigurationProperty{
				Filters: []interface{}{
					&PatternObjectFilterProperty{
						ObjectType: jsii.String("objectType"),

						// the properties below are optional
						ExclusionFilters: []*string{
							jsii.String("exclusionFilters"),
						},
						InclusionFilters: []*string{
							jsii.String("inclusionFilters"),
						},
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointdatasourceconfiguration.html

type CfnDataSource_SharePointSourceConfigurationProperty added in v2.154.1

type CfnDataSource_SharePointSourceConfigurationProperty struct {
	// The supported authentication type to authenticate and connect to your SharePoint site/sites.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-authtype
	//
	AuthType *string `field:"required" json:"authType" yaml:"authType"`
	// The Amazon Resource Name of an AWS Secrets Manager secret that stores your authentication credentials for your SharePoint site/sites.
	//
	// For more information on the key-value pairs that must be included in your secret, depending on your authentication type, see [SharePoint connection configuration](https://docs.aws.amazon.com/bedrock/latest/userguide/sharepoint-data-source-connector.html#configuration-sharepoint-connector) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-credentialssecretarn
	//
	CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"`
	// The domain of your SharePoint instance or site URL/URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-domain
	//
	Domain *string `field:"required" json:"domain" yaml:"domain"`
	// The supported host type, whether online/cloud or server/on-premises.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-hosttype
	//
	HostType *string `field:"required" json:"hostType" yaml:"hostType"`
	// A list of one or more SharePoint site URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-siteurls
	//
	SiteUrls *[]*string `field:"required" json:"siteUrls" yaml:"siteUrls"`
	// The identifier of your Microsoft 365 tenant.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html#cfn-bedrock-datasource-sharepointsourceconfiguration-tenantid
	//
	TenantId *string `field:"optional" json:"tenantId" yaml:"tenantId"`
}

The endpoint information to connect to your SharePoint data source.

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"

sharePointSourceConfigurationProperty := &SharePointSourceConfigurationProperty{
	AuthType: jsii.String("authType"),
	CredentialsSecretArn: jsii.String("credentialsSecretArn"),
	Domain: jsii.String("domain"),
	HostType: jsii.String("hostType"),
	SiteUrls: []*string{
		jsii.String("siteUrls"),
	},

	// the properties below are optional
	TenantId: jsii.String("tenantId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-sharepointsourceconfiguration.html

type CfnDataSource_TransformationFunctionProperty added in v2.154.0

type CfnDataSource_TransformationFunctionProperty struct {
	// The Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationfunction.html#cfn-bedrock-datasource-transformationfunction-transformationlambdaconfiguration
	//
	TransformationLambdaConfiguration interface{} `field:"required" json:"transformationLambdaConfiguration" yaml:"transformationLambdaConfiguration"`
}

A Lambda function that processes documents.

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"

transformationFunctionProperty := &TransformationFunctionProperty{
	TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
		LambdaArn: jsii.String("lambdaArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationfunction.html

type CfnDataSource_TransformationLambdaConfigurationProperty added in v2.154.0

type CfnDataSource_TransformationLambdaConfigurationProperty struct {
	// The function's ARN identifier.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationlambdaconfiguration.html#cfn-bedrock-datasource-transformationlambdaconfiguration-lambdaarn
	//
	LambdaArn *string `field:"required" json:"lambdaArn" yaml:"lambdaArn"`
}

A Lambda function that processes documents.

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"

transformationLambdaConfigurationProperty := &TransformationLambdaConfigurationProperty{
	LambdaArn: jsii.String("lambdaArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformationlambdaconfiguration.html

type CfnDataSource_TransformationProperty added in v2.154.0

type CfnDataSource_TransformationProperty struct {
	// When the service applies the transformation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html#cfn-bedrock-datasource-transformation-steptoapply
	//
	StepToApply *string `field:"required" json:"stepToApply" yaml:"stepToApply"`
	// A Lambda function that processes documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html#cfn-bedrock-datasource-transformation-transformationfunction
	//
	TransformationFunction interface{} `field:"required" json:"transformationFunction" yaml:"transformationFunction"`
}

A custom processing step for documents moving through a data source ingestion pipeline.

To process documents after they have been converted into chunks, set the step to apply to `POST_CHUNKING` .

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"

transformationProperty := &TransformationProperty{
	StepToApply: jsii.String("stepToApply"),
	TransformationFunction: &TransformationFunctionProperty{
		TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
			LambdaArn: jsii.String("lambdaArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-transformation.html

type CfnDataSource_UrlConfigurationProperty added in v2.154.1

type CfnDataSource_UrlConfigurationProperty struct {
	// One or more seed or starting point URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html#cfn-bedrock-datasource-urlconfiguration-seedurls
	//
	SeedUrls interface{} `field:"required" json:"seedUrls" yaml:"seedUrls"`
}

The configuration of web URLs that you want to crawl.

You should be authorized to crawl the URLs.

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"

urlConfigurationProperty := &UrlConfigurationProperty{
	SeedUrls: []interface{}{
		&SeedUrlProperty{
			Url: jsii.String("url"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-urlconfiguration.html

type CfnDataSource_VectorIngestionConfigurationProperty added in v2.139.0

type CfnDataSource_VectorIngestionConfigurationProperty struct {
	// Details about how to chunk the documents in the data source.
	//
	// A *chunk* refers to an excerpt from a data source that is returned when the knowledge base that it belongs to is queried.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-chunkingconfiguration
	//
	ChunkingConfiguration interface{} `field:"optional" json:"chunkingConfiguration" yaml:"chunkingConfiguration"`
	// A custom document transformer for parsed data source documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-customtransformationconfiguration
	//
	CustomTransformationConfiguration interface{} `field:"optional" json:"customTransformationConfiguration" yaml:"customTransformationConfiguration"`
	// A custom parser for data source documents.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html#cfn-bedrock-datasource-vectoringestionconfiguration-parsingconfiguration
	//
	ParsingConfiguration interface{} `field:"optional" json:"parsingConfiguration" yaml:"parsingConfiguration"`
}

Contains details about how to ingest the documents in a data source.

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"

vectorIngestionConfigurationProperty := &VectorIngestionConfigurationProperty{
	ChunkingConfiguration: &ChunkingConfigurationProperty{
		ChunkingStrategy: jsii.String("chunkingStrategy"),

		// the properties below are optional
		FixedSizeChunkingConfiguration: &FixedSizeChunkingConfigurationProperty{
			MaxTokens: jsii.Number(123),
			OverlapPercentage: jsii.Number(123),
		},
		HierarchicalChunkingConfiguration: &HierarchicalChunkingConfigurationProperty{
			LevelConfigurations: []interface{}{
				&HierarchicalChunkingLevelConfigurationProperty{
					MaxTokens: jsii.Number(123),
				},
			},
			OverlapTokens: jsii.Number(123),
		},
		SemanticChunkingConfiguration: &SemanticChunkingConfigurationProperty{
			BreakpointPercentileThreshold: jsii.Number(123),
			BufferSize: jsii.Number(123),
			MaxTokens: jsii.Number(123),
		},
	},
	CustomTransformationConfiguration: &CustomTransformationConfigurationProperty{
		IntermediateStorage: &IntermediateStorageProperty{
			S3Location: &S3LocationProperty{
				Uri: jsii.String("uri"),
			},
		},
		Transformations: []interface{}{
			&TransformationProperty{
				StepToApply: jsii.String("stepToApply"),
				TransformationFunction: &TransformationFunctionProperty{
					TransformationLambdaConfiguration: &TransformationLambdaConfigurationProperty{
						LambdaArn: jsii.String("lambdaArn"),
					},
				},
			},
		},
	},
	ParsingConfiguration: &ParsingConfigurationProperty{
		ParsingStrategy: jsii.String("parsingStrategy"),

		// the properties below are optional
		BedrockFoundationModelConfiguration: &BedrockFoundationModelConfigurationProperty{
			ModelArn: jsii.String("modelArn"),

			// the properties below are optional
			ParsingPrompt: &ParsingPromptProperty{
				ParsingPromptText: jsii.String("parsingPromptText"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.html

type CfnDataSource_WebCrawlerConfigurationProperty added in v2.154.1

type CfnDataSource_WebCrawlerConfigurationProperty struct {
	// The configuration of crawl limits for the web URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-crawlerlimits
	//
	CrawlerLimits interface{} `field:"optional" json:"crawlerLimits" yaml:"crawlerLimits"`
	// A list of one or more exclusion regular expression patterns to exclude certain URLs.
	//
	// If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-exclusionfilters
	//
	ExclusionFilters *[]*string `field:"optional" json:"exclusionFilters" yaml:"exclusionFilters"`
	// A list of one or more inclusion regular expression patterns to include certain URLs.
	//
	// If you specify an inclusion and exclusion filter/pattern and both match a URL, the exclusion filter takes precedence and the web content of the URL isn’t crawled.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-inclusionfilters
	//
	InclusionFilters *[]*string `field:"optional" json:"inclusionFilters" yaml:"inclusionFilters"`
	// The scope of what is crawled for your URLs.
	//
	// You can choose to crawl only web pages that belong to the same host or primary domain. For example, only web pages that contain the seed URL "https://docs.aws.amazon.com/bedrock/latest/userguide/" and no other domains. You can choose to include sub domains in addition to the host or primary domain. For example, web pages that contain "aws.amazon.com" can also include sub domain "docs.aws.amazon.com".
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html#cfn-bedrock-datasource-webcrawlerconfiguration-scope
	//
	Scope *string `field:"optional" json:"scope" yaml:"scope"`
}

The configuration of web URLs that you want to crawl.

You should be authorized to crawl the URLs.

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"

webCrawlerConfigurationProperty := &WebCrawlerConfigurationProperty{
	CrawlerLimits: &WebCrawlerLimitsProperty{
		RateLimit: jsii.Number(123),
	},
	ExclusionFilters: []*string{
		jsii.String("exclusionFilters"),
	},
	InclusionFilters: []*string{
		jsii.String("inclusionFilters"),
	},
	Scope: jsii.String("scope"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerconfiguration.html

type CfnDataSource_WebCrawlerLimitsProperty added in v2.154.1

type CfnDataSource_WebCrawlerLimitsProperty struct {
	// The max rate at which pages are crawled, up to 300 per minute per host.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html#cfn-bedrock-datasource-webcrawlerlimits-ratelimit
	//
	RateLimit *float64 `field:"optional" json:"rateLimit" yaml:"rateLimit"`
}

The rate limits for the URLs that you want to crawl.

You should be authorized to crawl the URLs.

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"

webCrawlerLimitsProperty := &WebCrawlerLimitsProperty{
	RateLimit: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webcrawlerlimits.html

type CfnDataSource_WebDataSourceConfigurationProperty added in v2.154.1

type CfnDataSource_WebDataSourceConfigurationProperty struct {
	// The source configuration details for the web data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
	// The Web Crawler configuration details for the web data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html#cfn-bedrock-datasource-webdatasourceconfiguration-crawlerconfiguration
	//
	CrawlerConfiguration interface{} `field:"optional" json:"crawlerConfiguration" yaml:"crawlerConfiguration"`
}

The configuration details for the web data source.

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"

webDataSourceConfigurationProperty := &WebDataSourceConfigurationProperty{
	SourceConfiguration: &WebSourceConfigurationProperty{
		UrlConfiguration: &UrlConfigurationProperty{
			SeedUrls: []interface{}{
				&SeedUrlProperty{
					Url: jsii.String("url"),
				},
			},
		},
	},

	// the properties below are optional
	CrawlerConfiguration: &WebCrawlerConfigurationProperty{
		CrawlerLimits: &WebCrawlerLimitsProperty{
			RateLimit: jsii.Number(123),
		},
		ExclusionFilters: []*string{
			jsii.String("exclusionFilters"),
		},
		InclusionFilters: []*string{
			jsii.String("inclusionFilters"),
		},
		Scope: jsii.String("scope"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-webdatasourceconfiguration.html

type CfnDataSource_WebSourceConfigurationProperty added in v2.154.1

type CfnDataSource_WebSourceConfigurationProperty struct {
	// The configuration of the URL/URLs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html#cfn-bedrock-datasource-websourceconfiguration-urlconfiguration
	//
	UrlConfiguration interface{} `field:"required" json:"urlConfiguration" yaml:"urlConfiguration"`
}

The configuration of the URL/URLs for the web content that you want to crawl.

You should be authorized to crawl the URLs.

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"

webSourceConfigurationProperty := &WebSourceConfigurationProperty{
	UrlConfiguration: &UrlConfigurationProperty{
		SeedUrls: []interface{}{
			&SeedUrlProperty{
				Url: jsii.String("url"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-websourceconfiguration.html

type CfnFlow added in v2.154.0

type CfnFlow interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the flow.
	AttrArn() *string
	// The time at which the flow was created.
	AttrCreatedAt() *string
	// The unique identifier of the flow.
	AttrId() *string
	// The status of the flow. The following statuses are possible:.
	//
	// - NotPrepared – The flow has been created or updated, but hasn't been prepared. If you just created the flow, you can't test it. If you updated the flow, the `DRAFT` version won't contain the latest changes for testing. Send a [PrepareFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PrepareFlow.html) request to package the latest changes into the `DRAFT` version.
	// - Preparing – The flow is being prepared so that the `DRAFT` version contains the latest changes for testing.
	// - Prepared – The flow is prepared and the `DRAFT` version contains the latest changes for testing.
	// - Failed – The last API operation that you invoked on the flow failed. Send a [GetFlow](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetFlow.html) request and check the error message in the `validations` field.
	AttrStatus() *string
	// The time at which the flow was last updated.
	AttrUpdatedAt() *string
	// The latest version of the flow.
	AttrVersion() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon Resource Name (ARN) of the KMS key that the flow is encrypted with.
	CustomerEncryptionKeyArn() *string
	SetCustomerEncryptionKeyArn(val *string)
	// The definition of the nodes and connections between the nodes in the flow.
	Definition() interface{}
	SetDefinition(val interface{})
	// The Amazon S3 location of the flow definition.
	DefinitionS3Location() interface{}
	SetDefinitionS3Location(val interface{})
	// The definition of the flow as a JSON-formatted string.
	DefinitionString() *string
	SetDefinitionString(val *string)
	// A map that specifies the mappings for placeholder variables in the prompt flow definition.
	DefinitionSubstitutions() interface{}
	SetDefinitionSubstitutions(val interface{})
	// A description of the flow.
	Description() *string
	SetDescription(val *string)
	// The Amazon Resource Name (ARN) of the service role with permissions to create a flow.
	ExecutionRoleArn() *string
	SetExecutionRoleArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the flow.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// A map of tag keys and values.
	TestAliasTags() interface{}
	SetTestAliasTags(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a prompt flow that you can use to send an input through various steps to yield an output.

You define a flow by configuring nodes, each of which corresponds to a step of the flow, and creating connections between the nodes to create paths to different outputs. You can define the flow in one of the following ways:

- Define a [FlowDefinition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html) in the `Definition` property. - Provide the definition in the `DefinitionString` property as a JSON-formatted string matching the [FlowDefinition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html) property. - Provide an Amazon S3 location in the `DefinitionS3Location` property that matches the [FlowDefinition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html) .

If you use the `DefinitionString` or `DefinitionS3Location` property, you can use the `DefinitionSubstitutions` property to define key-value pairs to replace at runtime.

For more information, see [How it works](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-how-it-works.html) and [Create a prompt flow in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-create.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"

var input interface{}
var output interface{}

cfnFlow := awscdk.Aws_bedrock.NewCfnFlow(this, jsii.String("MyCfnFlow"), &CfnFlowProps{
	ExecutionRoleArn: jsii.String("executionRoleArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	Definition: &FlowDefinitionProperty{
		Connections: []interface{}{
			&FlowConnectionProperty{
				Name: jsii.String("name"),
				Source: jsii.String("source"),
				Target: jsii.String("target"),
				Type: jsii.String("type"),

				// the properties below are optional
				Configuration: &FlowConnectionConfigurationProperty{
					Conditional: &FlowConditionalConnectionConfigurationProperty{
						Condition: jsii.String("condition"),
					},
					Data: &FlowDataConnectionConfigurationProperty{
						SourceOutput: jsii.String("sourceOutput"),
						TargetInput: jsii.String("targetInput"),
					},
				},
			},
		},
		Nodes: []interface{}{
			&FlowNodeProperty{
				Name: jsii.String("name"),
				Type: jsii.String("type"),

				// the properties below are optional
				Configuration: &FlowNodeConfigurationProperty{
					Condition: &ConditionFlowNodeConfigurationProperty{
						Conditions: []interface{}{
							&FlowConditionProperty{
								Name: jsii.String("name"),

								// the properties below are optional
								Expression: jsii.String("expression"),
							},
						},
					},
					Input: input,
					KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
						KnowledgeBaseId: jsii.String("knowledgeBaseId"),

						// the properties below are optional
						ModelId: jsii.String("modelId"),
					},
					LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
						LambdaArn: jsii.String("lambdaArn"),
					},
					Lex: &LexFlowNodeConfigurationProperty{
						BotAliasArn: jsii.String("botAliasArn"),
						LocaleId: jsii.String("localeId"),
					},
					Output: output,
					Prompt: &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),
										TopK: jsii.Number(123),
										TopP: jsii.Number(123),
									},
								},
							},
							Resource: &PromptFlowNodeResourceConfigurationProperty{
								PromptArn: jsii.String("promptArn"),
							},
						},
					},
				},
				Inputs: []interface{}{
					&FlowNodeInputProperty{
						Expression: jsii.String("expression"),
						Name: jsii.String("name"),
						Type: jsii.String("type"),
					},
				},
				Outputs: []interface{}{
					&FlowNodeOutputProperty{
						Name: jsii.String("name"),
						Type: jsii.String("type"),
					},
				},
			},
		},
	},
	DefinitionS3Location: &S3LocationProperty{
		Bucket: jsii.String("bucket"),
		Key: jsii.String("key"),

		// the properties below are optional
		Version: jsii.String("version"),
	},
	DefinitionString: jsii.String("definitionString"),
	DefinitionSubstitutions: map[string]interface{}{
		"definitionSubstitutionsKey": jsii.String("definitionSubstitutions"),
	},
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TestAliasTags: map[string]*string{
		"testAliasTagsKey": jsii.String("testAliasTags"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html

func NewCfnFlow added in v2.154.0

func NewCfnFlow(scope constructs.Construct, id *string, props *CfnFlowProps) CfnFlow

type CfnFlowAlias added in v2.154.0

type CfnFlowAlias interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the alias.
	AttrArn() *string
	// The time at which the alias was created.
	AttrCreatedAt() *string
	// The unique identifier of the flow.
	AttrFlowId() *string
	// The unique identifier of the alias of the flow.
	AttrId() *string
	// The time at which the alias was last updated.
	AttrUpdatedAt() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the alias.
	Description() *string
	SetDescription(val *string)
	// The Amazon Resource Name (ARN) of the alias.
	FlowArn() *string
	SetFlowArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the alias.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// A list of configurations about the versions that the alias maps to.
	RoutingConfiguration() interface{}
	SetRoutingConfiguration(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates an alias of a flow for deployment.

For more information, see [Deploy a flow in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-deploy.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"

cfnFlowAlias := awscdk.Aws_bedrock.NewCfnFlowAlias(this, jsii.String("MyCfnFlowAlias"), &CfnFlowAliasProps{
	FlowArn: jsii.String("flowArn"),
	Name: jsii.String("name"),
	RoutingConfiguration: []interface{}{
		&FlowAliasRoutingConfigurationListItemProperty{
			FlowVersion: jsii.String("flowVersion"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html

func NewCfnFlowAlias added in v2.154.0

func NewCfnFlowAlias(scope constructs.Construct, id *string, props *CfnFlowAliasProps) CfnFlowAlias

type CfnFlowAliasProps added in v2.154.0

type CfnFlowAliasProps struct {
	// The Amazon Resource Name (ARN) of the alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-flowarn
	//
	FlowArn *string `field:"required" json:"flowArn" yaml:"flowArn"`
	// The name of the alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// A list of configurations about the versions that the alias maps to.
	//
	// Currently, you can only specify one.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-routingconfiguration
	//
	RoutingConfiguration interface{} `field:"required" json:"routingConfiguration" yaml:"routingConfiguration"`
	// A description of the alias.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html#cfn-bedrock-flowalias-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnFlowAlias`.

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"

cfnFlowAliasProps := &CfnFlowAliasProps{
	FlowArn: jsii.String("flowArn"),
	Name: jsii.String("name"),
	RoutingConfiguration: []interface{}{
		&FlowAliasRoutingConfigurationListItemProperty{
			FlowVersion: jsii.String("flowVersion"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowalias.html

type CfnFlowAlias_FlowAliasRoutingConfigurationListItemProperty added in v2.154.0

type CfnFlowAlias_FlowAliasRoutingConfigurationListItemProperty struct {
	// The version that the alias maps to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasroutingconfigurationlistitem.html#cfn-bedrock-flowalias-flowaliasroutingconfigurationlistitem-flowversion
	//
	FlowVersion *string `field:"optional" json:"flowVersion" yaml:"flowVersion"`
}

Contains information about a version that the alias maps to.

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"

flowAliasRoutingConfigurationListItemProperty := &FlowAliasRoutingConfigurationListItemProperty{
	FlowVersion: jsii.String("flowVersion"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowalias-flowaliasroutingconfigurationlistitem.html

type CfnFlowProps added in v2.154.0

type CfnFlowProps struct {
	// The Amazon Resource Name (ARN) of the service role with permissions to create a flow.
	//
	// For more information, see [Create a service row for flows](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html) in the Amazon Bedrock User Guide.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-executionrolearn
	//
	ExecutionRoleArn *string `field:"required" json:"executionRoleArn" yaml:"executionRoleArn"`
	// The name of the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of the KMS key that the flow is encrypted with.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-customerencryptionkeyarn
	//
	CustomerEncryptionKeyArn *string `field:"optional" json:"customerEncryptionKeyArn" yaml:"customerEncryptionKeyArn"`
	// The definition of the nodes and connections between the nodes in the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definition
	//
	Definition interface{} `field:"optional" json:"definition" yaml:"definition"`
	// The Amazon S3 location of the flow definition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitions3location
	//
	DefinitionS3Location interface{} `field:"optional" json:"definitionS3Location" yaml:"definitionS3Location"`
	// The definition of the flow as a JSON-formatted string.
	//
	// The string must match the format in [FlowDefinition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitionstring
	//
	DefinitionString *string `field:"optional" json:"definitionString" yaml:"definitionString"`
	// A map that specifies the mappings for placeholder variables in the prompt flow definition.
	//
	// This enables the customer to inject values obtained at runtime. Variables can be template parameter names, resource logical IDs, resource attributes, or a variable in a key-value map. Only supported with the `DefinitionString` and `DefinitionS3Location` fields.
	//
	// Substitutions must follow the syntax: `${key_name}` or `${variable_1,variable_2,...}` .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-definitionsubstitutions
	//
	DefinitionSubstitutions interface{} `field:"optional" json:"definitionSubstitutions" yaml:"definitionSubstitutions"`
	// A description of the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// A map of tag keys and values.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html#cfn-bedrock-flow-testaliastags
	//
	TestAliasTags interface{} `field:"optional" json:"testAliasTags" yaml:"testAliasTags"`
}

Properties for defining a `CfnFlow`.

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"

var input interface{}
var output interface{}

cfnFlowProps := &CfnFlowProps{
	ExecutionRoleArn: jsii.String("executionRoleArn"),
	Name: jsii.String("name"),

	// the properties below are optional
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	Definition: &FlowDefinitionProperty{
		Connections: []interface{}{
			&FlowConnectionProperty{
				Name: jsii.String("name"),
				Source: jsii.String("source"),
				Target: jsii.String("target"),
				Type: jsii.String("type"),

				// the properties below are optional
				Configuration: &FlowConnectionConfigurationProperty{
					Conditional: &FlowConditionalConnectionConfigurationProperty{
						Condition: jsii.String("condition"),
					},
					Data: &FlowDataConnectionConfigurationProperty{
						SourceOutput: jsii.String("sourceOutput"),
						TargetInput: jsii.String("targetInput"),
					},
				},
			},
		},
		Nodes: []interface{}{
			&FlowNodeProperty{
				Name: jsii.String("name"),
				Type: jsii.String("type"),

				// the properties below are optional
				Configuration: &FlowNodeConfigurationProperty{
					Condition: &ConditionFlowNodeConfigurationProperty{
						Conditions: []interface{}{
							&FlowConditionProperty{
								Name: jsii.String("name"),

								// the properties below are optional
								Expression: jsii.String("expression"),
							},
						},
					},
					Input: input,
					KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
						KnowledgeBaseId: jsii.String("knowledgeBaseId"),

						// the properties below are optional
						ModelId: jsii.String("modelId"),
					},
					LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
						LambdaArn: jsii.String("lambdaArn"),
					},
					Lex: &LexFlowNodeConfigurationProperty{
						BotAliasArn: jsii.String("botAliasArn"),
						LocaleId: jsii.String("localeId"),
					},
					Output: output,
					Prompt: &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),
										TopK: jsii.Number(123),
										TopP: jsii.Number(123),
									},
								},
							},
							Resource: &PromptFlowNodeResourceConfigurationProperty{
								PromptArn: jsii.String("promptArn"),
							},
						},
					},
				},
				Inputs: []interface{}{
					&FlowNodeInputProperty{
						Expression: jsii.String("expression"),
						Name: jsii.String("name"),
						Type: jsii.String("type"),
					},
				},
				Outputs: []interface{}{
					&FlowNodeOutputProperty{
						Name: jsii.String("name"),
						Type: jsii.String("type"),
					},
				},
			},
		},
	},
	DefinitionS3Location: &S3LocationProperty{
		Bucket: jsii.String("bucket"),
		Key: jsii.String("key"),

		// the properties below are optional
		Version: jsii.String("version"),
	},
	DefinitionString: jsii.String("definitionString"),
	DefinitionSubstitutions: map[string]interface{}{
		"definitionSubstitutionsKey": jsii.String("definitionSubstitutions"),
	},
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	TestAliasTags: map[string]*string{
		"testAliasTagsKey": jsii.String("testAliasTags"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flow.html

type CfnFlowVersion added in v2.154.0

type CfnFlowVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The time at the version was created.
	AttrCreatedAt() *string
	// Flow definition.
	AttrDefinition() awscdk.IResolvable
	// The Amazon Resource Name (ARN) of the service role with permissions to create a flow.
	//
	// For more information, see [Create a service row for flows](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-permissions.html) in the Amazon Bedrock User Guide.
	AttrExecutionRoleArn() *string
	// The unique identifier of the flow.
	AttrFlowId() *string
	// The name of the flow.
	AttrName() *string
	// The status of the flow.
	AttrStatus() *string
	// The version of the flow.
	AttrVersion() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the flow version.
	Description() *string
	SetDescription(val *string)
	// The Amazon Resource Name (ARN) of the flow that the version belongs to.
	FlowArn() *string
	SetFlowArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a version of the flow that you can deploy.

For more information, see [Deploy a flow in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-deploy.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"

cfnFlowVersion := awscdk.Aws_bedrock.NewCfnFlowVersion(this, jsii.String("MyCfnFlowVersion"), &CfnFlowVersionProps{
	FlowArn: jsii.String("flowArn"),

	// the properties below are optional
	Description: jsii.String("description"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html

func NewCfnFlowVersion added in v2.154.0

func NewCfnFlowVersion(scope constructs.Construct, id *string, props *CfnFlowVersionProps) CfnFlowVersion

type CfnFlowVersionProps added in v2.154.0

type CfnFlowVersionProps struct {
	// The Amazon Resource Name (ARN) of the flow that the version belongs to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html#cfn-bedrock-flowversion-flowarn
	//
	FlowArn *string `field:"required" json:"flowArn" yaml:"flowArn"`
	// The description of the flow version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html#cfn-bedrock-flowversion-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

Properties for defining a `CfnFlowVersion`.

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"

cfnFlowVersionProps := &CfnFlowVersionProps{
	FlowArn: jsii.String("flowArn"),

	// the properties below are optional
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-flowversion.html

type CfnFlowVersion_ConditionFlowNodeConfigurationProperty added in v2.154.0

type CfnFlowVersion_ConditionFlowNodeConfigurationProperty struct {
	// An array of conditions.
	//
	// Each member contains the name of a condition and an expression that defines the condition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-conditionflownodeconfiguration.html#cfn-bedrock-flowversion-conditionflownodeconfiguration-conditions
	//
	Conditions interface{} `field:"required" json:"conditions" yaml:"conditions"`
}

Defines a condition node in your flow.

You can specify conditions that determine which node comes next in the flow. For more information, see [Node types in Amazon Bedrock works](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"

conditionFlowNodeConfigurationProperty := &ConditionFlowNodeConfigurationProperty{
	Conditions: []interface{}{
		&FlowConditionProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			Expression: jsii.String("expression"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-conditionflownodeconfiguration.html

type CfnFlowVersion_FlowConditionProperty added in v2.154.0

type CfnFlowVersion_FlowConditionProperty struct {
	// A name for the condition that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html#cfn-bedrock-flowversion-flowcondition-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// Defines the condition.
	//
	// You must refer to at least one of the inputs in the condition. For more information, expand the Condition node section in [Node types in prompt flows](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-how-it-works.html#flows-nodes) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html#cfn-bedrock-flowversion-flowcondition-expression
	//
	Expression *string `field:"optional" json:"expression" yaml:"expression"`
}

Defines a condition in the condition node.

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"

flowConditionProperty := &FlowConditionProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	Expression: jsii.String("expression"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowcondition.html

type CfnFlowVersion_FlowConditionalConnectionConfigurationProperty added in v2.154.0

type CfnFlowVersion_FlowConditionalConnectionConfigurationProperty struct {
	// The condition that triggers this connection.
	//
	// For more information about how to write conditions, see the *Condition* node type in the [Node types](https://docs.aws.amazon.com/bedrock/latest/userguide/node-types.html) topic in the Amazon Bedrock User Guide.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconditionalconnectionconfiguration.html#cfn-bedrock-flowversion-flowconditionalconnectionconfiguration-condition
	//
	Condition *string `field:"required" json:"condition" yaml:"condition"`
}

The configuration of a connection between a condition node and another node.

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"

flowConditionalConnectionConfigurationProperty := &FlowConditionalConnectionConfigurationProperty{
	Condition: jsii.String("condition"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconditionalconnectionconfiguration.html

type CfnFlowVersion_FlowConnectionConfigurationProperty added in v2.154.0

type CfnFlowVersion_FlowConnectionConfigurationProperty struct {
	// The configuration of a connection originating from a Condition node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html#cfn-bedrock-flowversion-flowconnectionconfiguration-conditional
	//
	Conditional interface{} `field:"optional" json:"conditional" yaml:"conditional"`
	// The configuration of a connection originating from a node that isn't a Condition node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html#cfn-bedrock-flowversion-flowconnectionconfiguration-data
	//
	Data interface{} `field:"optional" json:"data" yaml:"data"`
}

The configuration of the connection.

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"

flowConnectionConfigurationProperty := &FlowConnectionConfigurationProperty{
	Conditional: &FlowConditionalConnectionConfigurationProperty{
		Condition: jsii.String("condition"),
	},
	Data: &FlowDataConnectionConfigurationProperty{
		SourceOutput: jsii.String("sourceOutput"),
		TargetInput: jsii.String("targetInput"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnectionconfiguration.html

type CfnFlowVersion_FlowConnectionProperty added in v2.154.0

type CfnFlowVersion_FlowConnectionProperty struct {
	// A name for the connection that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The node that the connection starts at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-source
	//
	Source *string `field:"required" json:"source" yaml:"source"`
	// The node that the connection ends at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-target
	//
	Target *string `field:"required" json:"target" yaml:"target"`
	// Whether the source node that the connection begins from is a condition node ( `Conditional` ) or not ( `Data` ).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The configuration of the connection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html#cfn-bedrock-flowversion-flowconnection-configuration
	//
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
}

Contains information about a connection between two nodes in the flow.

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"

flowConnectionProperty := &FlowConnectionProperty{
	Name: jsii.String("name"),
	Source: jsii.String("source"),
	Target: jsii.String("target"),
	Type: jsii.String("type"),

	// the properties below are optional
	Configuration: &FlowConnectionConfigurationProperty{
		Conditional: &FlowConditionalConnectionConfigurationProperty{
			Condition: jsii.String("condition"),
		},
		Data: &FlowDataConnectionConfigurationProperty{
			SourceOutput: jsii.String("sourceOutput"),
			TargetInput: jsii.String("targetInput"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowconnection.html

type CfnFlowVersion_FlowDataConnectionConfigurationProperty added in v2.154.0

type CfnFlowVersion_FlowDataConnectionConfigurationProperty struct {
	// The name of the output in the source node that the connection begins from.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-sourceoutput
	//
	SourceOutput *string `field:"required" json:"sourceOutput" yaml:"sourceOutput"`
	// The name of the input in the target node that the connection ends at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html#cfn-bedrock-flowversion-flowdataconnectionconfiguration-targetinput
	//
	TargetInput *string `field:"required" json:"targetInput" yaml:"targetInput"`
}

The configuration of a connection originating from a node that isn't a Condition node.

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"

flowDataConnectionConfigurationProperty := &FlowDataConnectionConfigurationProperty{
	SourceOutput: jsii.String("sourceOutput"),
	TargetInput: jsii.String("targetInput"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdataconnectionconfiguration.html

type CfnFlowVersion_FlowDefinitionProperty added in v2.154.0

type CfnFlowVersion_FlowDefinitionProperty struct {
	// An array of connection definitions in the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html#cfn-bedrock-flowversion-flowdefinition-connections
	//
	Connections interface{} `field:"optional" json:"connections" yaml:"connections"`
	// An array of node definitions in the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html#cfn-bedrock-flowversion-flowdefinition-nodes
	//
	Nodes interface{} `field:"optional" json:"nodes" yaml:"nodes"`
}

The definition of the nodes and connections between nodes in the flow.

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"

var input interface{}
var output interface{}

flowDefinitionProperty := &FlowDefinitionProperty{
	Connections: []interface{}{
		&FlowConnectionProperty{
			Name: jsii.String("name"),
			Source: jsii.String("source"),
			Target: jsii.String("target"),
			Type: jsii.String("type"),

			// the properties below are optional
			Configuration: &FlowConnectionConfigurationProperty{
				Conditional: &FlowConditionalConnectionConfigurationProperty{
					Condition: jsii.String("condition"),
				},
				Data: &FlowDataConnectionConfigurationProperty{
					SourceOutput: jsii.String("sourceOutput"),
					TargetInput: jsii.String("targetInput"),
				},
			},
		},
	},
	Nodes: []interface{}{
		&FlowNodeProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),

			// the properties below are optional
			Configuration: &FlowNodeConfigurationProperty{
				Condition: &ConditionFlowNodeConfigurationProperty{
					Conditions: []interface{}{
						&FlowConditionProperty{
							Name: jsii.String("name"),

							// the properties below are optional
							Expression: jsii.String("expression"),
						},
					},
				},
				Input: input,
				KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
					KnowledgeBaseId: jsii.String("knowledgeBaseId"),

					// the properties below are optional
					ModelId: jsii.String("modelId"),
				},
				LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
					LambdaArn: jsii.String("lambdaArn"),
				},
				Lex: &LexFlowNodeConfigurationProperty{
					BotAliasArn: jsii.String("botAliasArn"),
					LocaleId: jsii.String("localeId"),
				},
				Output: output,
				Prompt: &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),
									TopK: jsii.Number(123),
									TopP: jsii.Number(123),
								},
							},
						},
						Resource: &PromptFlowNodeResourceConfigurationProperty{
							PromptArn: jsii.String("promptArn"),
						},
					},
				},
			},
			Inputs: []interface{}{
				&FlowNodeInputProperty{
					Expression: jsii.String("expression"),
					Name: jsii.String("name"),
					Type: jsii.String("type"),
				},
			},
			Outputs: []interface{}{
				&FlowNodeOutputProperty{
					Name: jsii.String("name"),
					Type: jsii.String("type"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flowdefinition.html

type CfnFlowVersion_FlowNodeConfigurationProperty added in v2.154.0

type CfnFlowVersion_FlowNodeConfigurationProperty struct {
	// Contains configurations for a Condition node in your flow.
	//
	// Defines conditions that lead to different branches of the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-condition
	//
	Condition interface{} `field:"optional" json:"condition" yaml:"condition"`
	// Contains configurations for an input flow node in your flow.
	//
	// The first node in the flow. `inputs` can't be specified for this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-input
	//
	Input interface{} `field:"optional" json:"input" yaml:"input"`
	// Contains configurations for a knowledge base node in your flow.
	//
	// Queries a knowledge base and returns the retrieved results or generated response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-knowledgebase
	//
	KnowledgeBase interface{} `field:"optional" json:"knowledgeBase" yaml:"knowledgeBase"`
	// Contains configurations for a Lambda function node in your flow.
	//
	// Invokes an AWS Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-lambdafunction
	//
	LambdaFunction interface{} `field:"optional" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Contains configurations for a Lex node in your flow.
	//
	// Invokes an Amazon Lex bot to identify the intent of the input and return the intent as the output.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-lex
	//
	Lex interface{} `field:"optional" json:"lex" yaml:"lex"`
	// Contains configurations for an output flow node in your flow.
	//
	// The last node in the flow. `outputs` can't be specified for this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-output
	//
	Output interface{} `field:"optional" json:"output" yaml:"output"`
	// Contains configurations for a prompt node in your flow.
	//
	// Runs a prompt and generates the model response as the output. You can use a prompt from Prompt management or you can configure one in this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html#cfn-bedrock-flowversion-flownodeconfiguration-prompt
	//
	Prompt interface{} `field:"optional" json:"prompt" yaml:"prompt"`
}

Contains configurations for a node in your flow.

For more information, see [Node types in Amazon Bedrock works](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"

var input interface{}
var output interface{}

flowNodeConfigurationProperty := &FlowNodeConfigurationProperty{
	Condition: &ConditionFlowNodeConfigurationProperty{
		Conditions: []interface{}{
			&FlowConditionProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				Expression: jsii.String("expression"),
			},
		},
	},
	Input: input,
	KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
		KnowledgeBaseId: jsii.String("knowledgeBaseId"),

		// the properties below are optional
		ModelId: jsii.String("modelId"),
	},
	LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
		LambdaArn: jsii.String("lambdaArn"),
	},
	Lex: &LexFlowNodeConfigurationProperty{
		BotAliasArn: jsii.String("botAliasArn"),
		LocaleId: jsii.String("localeId"),
	},
	Output: output,
	Prompt: &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),
						TopK: jsii.Number(123),
						TopP: jsii.Number(123),
					},
				},
			},
			Resource: &PromptFlowNodeResourceConfigurationProperty{
				PromptArn: jsii.String("promptArn"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeconfiguration.html

type CfnFlowVersion_FlowNodeInputProperty added in v2.154.0

type CfnFlowVersion_FlowNodeInputProperty struct {
	// An expression that formats the input for the node.
	//
	// For an explanation of how to create expressions, see [Expressions in Prompt flows in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-expressions.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-expression
	//
	Expression *string `field:"required" json:"expression" yaml:"expression"`
	// A name for the input that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data type of the input.
	//
	// If the input doesn't match this type at runtime, a validation error will be thrown.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html#cfn-bedrock-flowversion-flownodeinput-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

Contains configurations for an input to a node.

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"

flowNodeInputProperty := &FlowNodeInputProperty{
	Expression: jsii.String("expression"),
	Name: jsii.String("name"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeinput.html

type CfnFlowVersion_FlowNodeOutputProperty added in v2.154.0

type CfnFlowVersion_FlowNodeOutputProperty struct {
	// A name for the output that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html#cfn-bedrock-flowversion-flownodeoutput-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data type of the output.
	//
	// If the output doesn't match this type at runtime, a validation error will be thrown.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html#cfn-bedrock-flowversion-flownodeoutput-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

Contains configurations for an output from a node.

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"

flowNodeOutputProperty := &FlowNodeOutputProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownodeoutput.html

type CfnFlowVersion_FlowNodeProperty added in v2.154.0

type CfnFlowVersion_FlowNodeProperty struct {
	// A name for the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of node.
	//
	// This value must match the name of the key that you provide in the configuration you provide in the `FlowNodeConfiguration` field.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Contains configurations for the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-configuration
	//
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
	// An array of objects, each of which contains information about an input into the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-inputs
	//
	Inputs interface{} `field:"optional" json:"inputs" yaml:"inputs"`
	// A list of objects, each of which contains information about an output from the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html#cfn-bedrock-flowversion-flownode-outputs
	//
	Outputs interface{} `field:"optional" json:"outputs" yaml:"outputs"`
}

Contains configurations about a node in the flow.

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"

var input interface{}
var output interface{}

flowNodeProperty := &FlowNodeProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),

	// the properties below are optional
	Configuration: &FlowNodeConfigurationProperty{
		Condition: &ConditionFlowNodeConfigurationProperty{
			Conditions: []interface{}{
				&FlowConditionProperty{
					Name: jsii.String("name"),

					// the properties below are optional
					Expression: jsii.String("expression"),
				},
			},
		},
		Input: input,
		KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
			KnowledgeBaseId: jsii.String("knowledgeBaseId"),

			// the properties below are optional
			ModelId: jsii.String("modelId"),
		},
		LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
			LambdaArn: jsii.String("lambdaArn"),
		},
		Lex: &LexFlowNodeConfigurationProperty{
			BotAliasArn: jsii.String("botAliasArn"),
			LocaleId: jsii.String("localeId"),
		},
		Output: output,
		Prompt: &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),
							TopK: jsii.Number(123),
							TopP: jsii.Number(123),
						},
					},
				},
				Resource: &PromptFlowNodeResourceConfigurationProperty{
					PromptArn: jsii.String("promptArn"),
				},
			},
		},
	},
	Inputs: []interface{}{
		&FlowNodeInputProperty{
			Expression: jsii.String("expression"),
			Name: jsii.String("name"),
			Type: jsii.String("type"),
		},
	},
	Outputs: []interface{}{
		&FlowNodeOutputProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-flownode.html

type CfnFlowVersion_KnowledgeBaseFlowNodeConfigurationProperty added in v2.154.0

type CfnFlowVersion_KnowledgeBaseFlowNodeConfigurationProperty struct {
	// The unique identifier of the knowledge base to query.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-knowledgebaseid
	//
	KnowledgeBaseId *string `field:"required" json:"knowledgeBaseId" yaml:"knowledgeBaseId"`
	// The unique identifier of the model to use to generate a response from the query results.
	//
	// Omit this field if you want to return the retrieved results as an array.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flowversion-knowledgebaseflownodeconfiguration-modelid
	//
	ModelId *string `field:"optional" json:"modelId" yaml:"modelId"`
}

Contains configurations for a knowledge base node in a flow.

This node takes a query as the input and returns, as the output, the retrieved responses directly (as an array) or a response generated based on the retrieved responses. For more information, see [Node types in Amazon Bedrock works](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"

knowledgeBaseFlowNodeConfigurationProperty := &KnowledgeBaseFlowNodeConfigurationProperty{
	KnowledgeBaseId: jsii.String("knowledgeBaseId"),

	// the properties below are optional
	ModelId: jsii.String("modelId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-knowledgebaseflownodeconfiguration.html

type CfnFlowVersion_LambdaFunctionFlowNodeConfigurationProperty added in v2.154.0

type CfnFlowVersion_LambdaFunctionFlowNodeConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the Lambda function to invoke.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lambdafunctionflownodeconfiguration.html#cfn-bedrock-flowversion-lambdafunctionflownodeconfiguration-lambdaarn
	//
	LambdaArn *string `field:"required" json:"lambdaArn" yaml:"lambdaArn"`
}

Contains configurations for a Lambda function node in the flow.

You specify the Lambda function to invoke and the inputs into the function. The output is the response that is defined in the Lambda function. For more information, see [Node types in Amazon Bedrock works](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"

lambdaFunctionFlowNodeConfigurationProperty := &LambdaFunctionFlowNodeConfigurationProperty{
	LambdaArn: jsii.String("lambdaArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lambdafunctionflownodeconfiguration.html

type CfnFlowVersion_LexFlowNodeConfigurationProperty added in v2.154.0

type CfnFlowVersion_LexFlowNodeConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the Amazon Lex bot alias to invoke.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html#cfn-bedrock-flowversion-lexflownodeconfiguration-botaliasarn
	//
	BotAliasArn *string `field:"required" json:"botAliasArn" yaml:"botAliasArn"`
	// The Region to invoke the Amazon Lex bot in.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html#cfn-bedrock-flowversion-lexflownodeconfiguration-localeid
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
}

Contains configurations for a Lex node in the flow.

You specify a Amazon Lex bot to invoke. This node takes an utterance as the input and returns as the output the intent identified by the Amazon Lex bot. For more information, see [Node types in Amazon Bedrock works](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"

lexFlowNodeConfigurationProperty := &LexFlowNodeConfigurationProperty{
	BotAliasArn: jsii.String("botAliasArn"),
	LocaleId: jsii.String("localeId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-lexflownodeconfiguration.html

type CfnFlowVersion_PromptFlowNodeConfigurationProperty added in v2.154.0

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 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 Amazon Bedrock works](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),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
			},
		},
		Resource: &PromptFlowNodeResourceConfigurationProperty{
			PromptArn: jsii.String("promptArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeconfiguration.html

type CfnFlowVersion_PromptFlowNodeInlineConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptFlowNodeInlineConfigurationProperty struct {
	// The unique identifier of the model to run inference with.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-modelid
	//
	ModelId *string `field:"required" json:"modelId" yaml:"modelId"`
	// Contains a prompt and variables in the prompt that can be replaced with values at runtime.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-templateconfiguration
	//
	TemplateConfiguration interface{} `field:"required" json:"templateConfiguration" yaml:"templateConfiguration"`
	// The type of prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-templatetype
	//
	TemplateType *string `field:"required" json:"templateType" yaml:"templateType"`
	// Contains inference configurations for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html#cfn-bedrock-flowversion-promptflownodeinlineconfiguration-inferenceconfiguration
	//
	InferenceConfiguration interface{} `field:"optional" json:"inferenceConfiguration" yaml:"inferenceConfiguration"`
}

Contains configurations for a prompt defined inline in the node.

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"

promptFlowNodeInlineConfigurationProperty := &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),
			TopK: jsii.Number(123),
			TopP: jsii.Number(123),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodeinlineconfiguration.html

type CfnFlowVersion_PromptFlowNodeResourceConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptFlowNodeResourceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the prompt from Prompt management.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownoderesourceconfiguration.html#cfn-bedrock-flowversion-promptflownoderesourceconfiguration-promptarn
	//
	PromptArn *string `field:"required" json:"promptArn" yaml:"promptArn"`
}

Contains configurations for a prompt from Prompt management to use in a node.

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"

promptFlowNodeResourceConfigurationProperty := &PromptFlowNodeResourceConfigurationProperty{
	PromptArn: jsii.String("promptArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownoderesourceconfiguration.html

type CfnFlowVersion_PromptFlowNodeSourceConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptFlowNodeSourceConfigurationProperty struct {
	// Contains configurations for a prompt that is defined inline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html#cfn-bedrock-flowversion-promptflownodesourceconfiguration-inline
	//
	Inline interface{} `field:"optional" json:"inline" yaml:"inline"`
	// Contains configurations for a prompt from Prompt management.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html#cfn-bedrock-flowversion-promptflownodesourceconfiguration-resource
	//
	Resource interface{} `field:"optional" json:"resource" yaml:"resource"`
}

Contains configurations for a prompt and whether it is from Prompt management or defined inline.

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"

promptFlowNodeSourceConfigurationProperty := &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),
				TopK: jsii.Number(123),
				TopP: jsii.Number(123),
			},
		},
	},
	Resource: &PromptFlowNodeResourceConfigurationProperty{
		PromptArn: jsii.String("promptArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptflownodesourceconfiguration.html

type CfnFlowVersion_PromptInferenceConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptInferenceConfigurationProperty struct {
	// Contains inference configurations for a text prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinferenceconfiguration.html#cfn-bedrock-flowversion-promptinferenceconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains inference configurations for the prompt.

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"

promptInferenceConfigurationProperty := &PromptInferenceConfigurationProperty{
	Text: &PromptModelInferenceConfigurationProperty{
		MaxTokens: jsii.Number(123),
		StopSequences: []*string{
			jsii.String("stopSequences"),
		},
		Temperature: jsii.Number(123),
		TopK: jsii.Number(123),
		TopP: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinferenceconfiguration.html

type CfnFlowVersion_PromptInputVariableProperty added in v2.154.0

type CfnFlowVersion_PromptInputVariableProperty struct {
	// The name of the variable.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinputvariable.html#cfn-bedrock-flowversion-promptinputvariable-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Contains information about a variable in the prompt.

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"

promptInputVariableProperty := &PromptInputVariableProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptinputvariable.html

type CfnFlowVersion_PromptModelInferenceConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptModelInferenceConfigurationProperty struct {
	// The maximum number of tokens to return in the response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"optional" json:"maxTokens" yaml:"maxTokens"`
	// A list of strings that define sequences after which the model will stop generating.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-stopsequences
	//
	StopSequences *[]*string `field:"optional" json:"stopSequences" yaml:"stopSequences"`
	// Controls the randomness of the response.
	//
	// Choose a lower value for more predictable outputs and a higher value for more surprising outputs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-temperature
	//
	Temperature *float64 `field:"optional" json:"temperature" yaml:"temperature"`
	// The number of most-likely candidates that the model considers for the next token during generation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-topk
	//
	TopK *float64 `field:"optional" json:"topK" yaml:"topK"`
	// The percentage of most-likely candidates that the model considers for the next token.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html#cfn-bedrock-flowversion-promptmodelinferenceconfiguration-topp
	//
	TopP *float64 `field:"optional" json:"topP" yaml:"topP"`
}

Contains inference configurations related to model inference for a prompt.

For more information, see [Inference parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html) .

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"

promptModelInferenceConfigurationProperty := &PromptModelInferenceConfigurationProperty{
	MaxTokens: jsii.Number(123),
	StopSequences: []*string{
		jsii.String("stopSequences"),
	},
	Temperature: jsii.Number(123),
	TopK: jsii.Number(123),
	TopP: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-promptmodelinferenceconfiguration.html

type CfnFlowVersion_PromptTemplateConfigurationProperty added in v2.154.0

type CfnFlowVersion_PromptTemplateConfigurationProperty struct {
	// Contains configurations for the text in a message for a prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-prompttemplateconfiguration.html#cfn-bedrock-flowversion-prompttemplateconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains the message for a prompt.

For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .

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"

promptTemplateConfigurationProperty := &PromptTemplateConfigurationProperty{
	Text: &TextPromptTemplateConfigurationProperty{
		Text: jsii.String("text"),

		// the properties below are optional
		InputVariables: []interface{}{
			&PromptInputVariableProperty{
				Name: jsii.String("name"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-prompttemplateconfiguration.html

type CfnFlowVersion_TextPromptTemplateConfigurationProperty added in v2.154.0

type CfnFlowVersion_TextPromptTemplateConfigurationProperty struct {
	// The message for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html#cfn-bedrock-flowversion-textprompttemplateconfiguration-text
	//
	Text *string `field:"required" json:"text" yaml:"text"`
	// An array of the variables in the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html#cfn-bedrock-flowversion-textprompttemplateconfiguration-inputvariables
	//
	InputVariables interface{} `field:"optional" json:"inputVariables" yaml:"inputVariables"`
}

Contains configurations for a text prompt template.

To include a variable, enclose a word in double curly braces as in `{{variable}}` .

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"

textPromptTemplateConfigurationProperty := &TextPromptTemplateConfigurationProperty{
	Text: jsii.String("text"),

	// the properties below are optional
	InputVariables: []interface{}{
		&PromptInputVariableProperty{
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flowversion-textprompttemplateconfiguration.html

type CfnFlow_ConditionFlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_ConditionFlowNodeConfigurationProperty struct {
	// An array of conditions.
	//
	// Each member contains the name of a condition and an expression that defines the condition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-conditionflownodeconfiguration.html#cfn-bedrock-flow-conditionflownodeconfiguration-conditions
	//
	Conditions interface{} `field:"required" json:"conditions" yaml:"conditions"`
}

Defines a condition node in your flow.

You can specify conditions that determine which node comes next in the flow. For more information, see [Node types in Amazon Bedrock works](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"

conditionFlowNodeConfigurationProperty := &ConditionFlowNodeConfigurationProperty{
	Conditions: []interface{}{
		&FlowConditionProperty{
			Name: jsii.String("name"),

			// the properties below are optional
			Expression: jsii.String("expression"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-conditionflownodeconfiguration.html

type CfnFlow_FlowConditionProperty added in v2.154.0

type CfnFlow_FlowConditionProperty struct {
	// A name for the condition that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html#cfn-bedrock-flow-flowcondition-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// Defines the condition.
	//
	// You must refer to at least one of the inputs in the condition. For more information, expand the Condition node section in [Node types in prompt flows](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-how-it-works.html#flows-nodes) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html#cfn-bedrock-flow-flowcondition-expression
	//
	Expression *string `field:"optional" json:"expression" yaml:"expression"`
}

Defines a condition in the condition node.

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"

flowConditionProperty := &FlowConditionProperty{
	Name: jsii.String("name"),

	// the properties below are optional
	Expression: jsii.String("expression"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowcondition.html

type CfnFlow_FlowConditionalConnectionConfigurationProperty added in v2.154.0

type CfnFlow_FlowConditionalConnectionConfigurationProperty struct {
	// The condition that triggers this connection.
	//
	// For more information about how to write conditions, see the *Condition* node type in the [Node types](https://docs.aws.amazon.com/bedrock/latest/userguide/node-types.html) topic in the Amazon Bedrock User Guide.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconditionalconnectionconfiguration.html#cfn-bedrock-flow-flowconditionalconnectionconfiguration-condition
	//
	Condition *string `field:"required" json:"condition" yaml:"condition"`
}

The configuration of a connection between a condition node and another node.

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"

flowConditionalConnectionConfigurationProperty := &FlowConditionalConnectionConfigurationProperty{
	Condition: jsii.String("condition"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconditionalconnectionconfiguration.html

type CfnFlow_FlowConnectionConfigurationProperty added in v2.154.0

type CfnFlow_FlowConnectionConfigurationProperty struct {
	// The configuration of a connection originating from a Condition node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html#cfn-bedrock-flow-flowconnectionconfiguration-conditional
	//
	Conditional interface{} `field:"optional" json:"conditional" yaml:"conditional"`
	// The configuration of a connection originating from a node that isn't a Condition node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html#cfn-bedrock-flow-flowconnectionconfiguration-data
	//
	Data interface{} `field:"optional" json:"data" yaml:"data"`
}

The configuration of the connection.

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"

flowConnectionConfigurationProperty := &FlowConnectionConfigurationProperty{
	Conditional: &FlowConditionalConnectionConfigurationProperty{
		Condition: jsii.String("condition"),
	},
	Data: &FlowDataConnectionConfigurationProperty{
		SourceOutput: jsii.String("sourceOutput"),
		TargetInput: jsii.String("targetInput"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnectionconfiguration.html

type CfnFlow_FlowConnectionProperty added in v2.154.0

type CfnFlow_FlowConnectionProperty struct {
	// A name for the connection that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The node that the connection starts at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-source
	//
	Source *string `field:"required" json:"source" yaml:"source"`
	// The node that the connection ends at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-target
	//
	Target *string `field:"required" json:"target" yaml:"target"`
	// Whether the source node that the connection begins from is a condition node ( `Conditional` ) or not ( `Data` ).
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// The configuration of the connection.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html#cfn-bedrock-flow-flowconnection-configuration
	//
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
}

Contains information about a connection between two nodes in the flow.

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"

flowConnectionProperty := &FlowConnectionProperty{
	Name: jsii.String("name"),
	Source: jsii.String("source"),
	Target: jsii.String("target"),
	Type: jsii.String("type"),

	// the properties below are optional
	Configuration: &FlowConnectionConfigurationProperty{
		Conditional: &FlowConditionalConnectionConfigurationProperty{
			Condition: jsii.String("condition"),
		},
		Data: &FlowDataConnectionConfigurationProperty{
			SourceOutput: jsii.String("sourceOutput"),
			TargetInput: jsii.String("targetInput"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowconnection.html

type CfnFlow_FlowDataConnectionConfigurationProperty added in v2.154.0

type CfnFlow_FlowDataConnectionConfigurationProperty struct {
	// The name of the output in the source node that the connection begins from.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html#cfn-bedrock-flow-flowdataconnectionconfiguration-sourceoutput
	//
	SourceOutput *string `field:"required" json:"sourceOutput" yaml:"sourceOutput"`
	// The name of the input in the target node that the connection ends at.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html#cfn-bedrock-flow-flowdataconnectionconfiguration-targetinput
	//
	TargetInput *string `field:"required" json:"targetInput" yaml:"targetInput"`
}

The configuration of a connection originating from a node that isn't a Condition node.

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"

flowDataConnectionConfigurationProperty := &FlowDataConnectionConfigurationProperty{
	SourceOutput: jsii.String("sourceOutput"),
	TargetInput: jsii.String("targetInput"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdataconnectionconfiguration.html

type CfnFlow_FlowDefinitionProperty added in v2.154.0

type CfnFlow_FlowDefinitionProperty struct {
	// An array of connection definitions in the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html#cfn-bedrock-flow-flowdefinition-connections
	//
	Connections interface{} `field:"optional" json:"connections" yaml:"connections"`
	// An array of node definitions in the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html#cfn-bedrock-flow-flowdefinition-nodes
	//
	Nodes interface{} `field:"optional" json:"nodes" yaml:"nodes"`
}

The definition of the nodes and connections between nodes in the flow.

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"

var input interface{}
var output interface{}

flowDefinitionProperty := &FlowDefinitionProperty{
	Connections: []interface{}{
		&FlowConnectionProperty{
			Name: jsii.String("name"),
			Source: jsii.String("source"),
			Target: jsii.String("target"),
			Type: jsii.String("type"),

			// the properties below are optional
			Configuration: &FlowConnectionConfigurationProperty{
				Conditional: &FlowConditionalConnectionConfigurationProperty{
					Condition: jsii.String("condition"),
				},
				Data: &FlowDataConnectionConfigurationProperty{
					SourceOutput: jsii.String("sourceOutput"),
					TargetInput: jsii.String("targetInput"),
				},
			},
		},
	},
	Nodes: []interface{}{
		&FlowNodeProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),

			// the properties below are optional
			Configuration: &FlowNodeConfigurationProperty{
				Condition: &ConditionFlowNodeConfigurationProperty{
					Conditions: []interface{}{
						&FlowConditionProperty{
							Name: jsii.String("name"),

							// the properties below are optional
							Expression: jsii.String("expression"),
						},
					},
				},
				Input: input,
				KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
					KnowledgeBaseId: jsii.String("knowledgeBaseId"),

					// the properties below are optional
					ModelId: jsii.String("modelId"),
				},
				LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
					LambdaArn: jsii.String("lambdaArn"),
				},
				Lex: &LexFlowNodeConfigurationProperty{
					BotAliasArn: jsii.String("botAliasArn"),
					LocaleId: jsii.String("localeId"),
				},
				Output: output,
				Prompt: &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),
									TopK: jsii.Number(123),
									TopP: jsii.Number(123),
								},
							},
						},
						Resource: &PromptFlowNodeResourceConfigurationProperty{
							PromptArn: jsii.String("promptArn"),
						},
					},
				},
			},
			Inputs: []interface{}{
				&FlowNodeInputProperty{
					Expression: jsii.String("expression"),
					Name: jsii.String("name"),
					Type: jsii.String("type"),
				},
			},
			Outputs: []interface{}{
				&FlowNodeOutputProperty{
					Name: jsii.String("name"),
					Type: jsii.String("type"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flowdefinition.html

type CfnFlow_FlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_FlowNodeConfigurationProperty struct {
	// Contains configurations for a Condition node in your flow.
	//
	// Defines conditions that lead to different branches of the flow.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-condition
	//
	Condition interface{} `field:"optional" json:"condition" yaml:"condition"`
	// Contains configurations for an input flow node in your flow.
	//
	// The first node in the flow. `inputs` can't be specified for this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-input
	//
	Input interface{} `field:"optional" json:"input" yaml:"input"`
	// Contains configurations for a knowledge base node in your flow.
	//
	// Queries a knowledge base and returns the retrieved results or generated response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-knowledgebase
	//
	KnowledgeBase interface{} `field:"optional" json:"knowledgeBase" yaml:"knowledgeBase"`
	// Contains configurations for a Lambda function node in your flow.
	//
	// Invokes an AWS Lambda function.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-lambdafunction
	//
	LambdaFunction interface{} `field:"optional" json:"lambdaFunction" yaml:"lambdaFunction"`
	// Contains configurations for a Lex node in your flow.
	//
	// Invokes an Amazon Lex bot to identify the intent of the input and return the intent as the output.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-lex
	//
	Lex interface{} `field:"optional" json:"lex" yaml:"lex"`
	// Contains configurations for an output flow node in your flow.
	//
	// The last node in the flow. `outputs` can't be specified for this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-output
	//
	Output interface{} `field:"optional" json:"output" yaml:"output"`
	// Contains configurations for a prompt node in your flow.
	//
	// Runs a prompt and generates the model response as the output. You can use a prompt from Prompt management or you can configure one in this node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html#cfn-bedrock-flow-flownodeconfiguration-prompt
	//
	Prompt interface{} `field:"optional" json:"prompt" yaml:"prompt"`
}

Contains configurations for a node in your flow.

For more information, see [Node types in Amazon Bedrock works](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"

var input interface{}
var output interface{}

flowNodeConfigurationProperty := &FlowNodeConfigurationProperty{
	Condition: &ConditionFlowNodeConfigurationProperty{
		Conditions: []interface{}{
			&FlowConditionProperty{
				Name: jsii.String("name"),

				// the properties below are optional
				Expression: jsii.String("expression"),
			},
		},
	},
	Input: input,
	KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
		KnowledgeBaseId: jsii.String("knowledgeBaseId"),

		// the properties below are optional
		ModelId: jsii.String("modelId"),
	},
	LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
		LambdaArn: jsii.String("lambdaArn"),
	},
	Lex: &LexFlowNodeConfigurationProperty{
		BotAliasArn: jsii.String("botAliasArn"),
		LocaleId: jsii.String("localeId"),
	},
	Output: output,
	Prompt: &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),
						TopK: jsii.Number(123),
						TopP: jsii.Number(123),
					},
				},
			},
			Resource: &PromptFlowNodeResourceConfigurationProperty{
				PromptArn: jsii.String("promptArn"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeconfiguration.html

type CfnFlow_FlowNodeInputProperty added in v2.154.0

type CfnFlow_FlowNodeInputProperty struct {
	// An expression that formats the input for the node.
	//
	// For an explanation of how to create expressions, see [Expressions in Prompt flows in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows-expressions.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-expression
	//
	Expression *string `field:"required" json:"expression" yaml:"expression"`
	// A name for the input that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data type of the input.
	//
	// If the input doesn't match this type at runtime, a validation error will be thrown.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html#cfn-bedrock-flow-flownodeinput-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

Contains configurations for an input to a node.

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"

flowNodeInputProperty := &FlowNodeInputProperty{
	Expression: jsii.String("expression"),
	Name: jsii.String("name"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeinput.html

type CfnFlow_FlowNodeOutputProperty added in v2.154.0

type CfnFlow_FlowNodeOutputProperty struct {
	// A name for the output that you can reference.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html#cfn-bedrock-flow-flownodeoutput-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The data type of the output.
	//
	// If the output doesn't match this type at runtime, a validation error will be thrown.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html#cfn-bedrock-flow-flownodeoutput-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

Contains configurations for an output from a node.

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"

flowNodeOutputProperty := &FlowNodeOutputProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownodeoutput.html

type CfnFlow_FlowNodeProperty added in v2.154.0

type CfnFlow_FlowNodeProperty struct {
	// A name for the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of node.
	//
	// This value must match the name of the key that you provide in the configuration you provide in the `FlowNodeConfiguration` field.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Contains configurations for the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-configuration
	//
	Configuration interface{} `field:"optional" json:"configuration" yaml:"configuration"`
	// An array of objects, each of which contains information about an input into the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-inputs
	//
	Inputs interface{} `field:"optional" json:"inputs" yaml:"inputs"`
	// A list of objects, each of which contains information about an output from the node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html#cfn-bedrock-flow-flownode-outputs
	//
	Outputs interface{} `field:"optional" json:"outputs" yaml:"outputs"`
}

Contains configurations about a node in the flow.

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"

var input interface{}
var output interface{}

flowNodeProperty := &FlowNodeProperty{
	Name: jsii.String("name"),
	Type: jsii.String("type"),

	// the properties below are optional
	Configuration: &FlowNodeConfigurationProperty{
		Condition: &ConditionFlowNodeConfigurationProperty{
			Conditions: []interface{}{
				&FlowConditionProperty{
					Name: jsii.String("name"),

					// the properties below are optional
					Expression: jsii.String("expression"),
				},
			},
		},
		Input: input,
		KnowledgeBase: &KnowledgeBaseFlowNodeConfigurationProperty{
			KnowledgeBaseId: jsii.String("knowledgeBaseId"),

			// the properties below are optional
			ModelId: jsii.String("modelId"),
		},
		LambdaFunction: &LambdaFunctionFlowNodeConfigurationProperty{
			LambdaArn: jsii.String("lambdaArn"),
		},
		Lex: &LexFlowNodeConfigurationProperty{
			BotAliasArn: jsii.String("botAliasArn"),
			LocaleId: jsii.String("localeId"),
		},
		Output: output,
		Prompt: &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),
							TopK: jsii.Number(123),
							TopP: jsii.Number(123),
						},
					},
				},
				Resource: &PromptFlowNodeResourceConfigurationProperty{
					PromptArn: jsii.String("promptArn"),
				},
			},
		},
	},
	Inputs: []interface{}{
		&FlowNodeInputProperty{
			Expression: jsii.String("expression"),
			Name: jsii.String("name"),
			Type: jsii.String("type"),
		},
	},
	Outputs: []interface{}{
		&FlowNodeOutputProperty{
			Name: jsii.String("name"),
			Type: jsii.String("type"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-flownode.html

type CfnFlow_KnowledgeBaseFlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_KnowledgeBaseFlowNodeConfigurationProperty struct {
	// The unique identifier of the knowledge base to query.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-knowledgebaseid
	//
	KnowledgeBaseId *string `field:"required" json:"knowledgeBaseId" yaml:"knowledgeBaseId"`
	// The unique identifier of the model to use to generate a response from the query results.
	//
	// Omit this field if you want to return the retrieved results as an array.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html#cfn-bedrock-flow-knowledgebaseflownodeconfiguration-modelid
	//
	ModelId *string `field:"optional" json:"modelId" yaml:"modelId"`
}

Contains configurations for a knowledge base node in a flow.

This node takes a query as the input and returns, as the output, the retrieved responses directly (as an array) or a response generated based on the retrieved responses. For more information, see [Node types in Amazon Bedrock works](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"

knowledgeBaseFlowNodeConfigurationProperty := &KnowledgeBaseFlowNodeConfigurationProperty{
	KnowledgeBaseId: jsii.String("knowledgeBaseId"),

	// the properties below are optional
	ModelId: jsii.String("modelId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-knowledgebaseflownodeconfiguration.html

type CfnFlow_LambdaFunctionFlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_LambdaFunctionFlowNodeConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the Lambda function to invoke.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lambdafunctionflownodeconfiguration.html#cfn-bedrock-flow-lambdafunctionflownodeconfiguration-lambdaarn
	//
	LambdaArn *string `field:"required" json:"lambdaArn" yaml:"lambdaArn"`
}

Contains configurations for a Lambda function node in the flow.

You specify the Lambda function to invoke and the inputs into the function. The output is the response that is defined in the Lambda function. For more information, see [Node types in Amazon Bedrock works](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"

lambdaFunctionFlowNodeConfigurationProperty := &LambdaFunctionFlowNodeConfigurationProperty{
	LambdaArn: jsii.String("lambdaArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lambdafunctionflownodeconfiguration.html

type CfnFlow_LexFlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_LexFlowNodeConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the Amazon Lex bot alias to invoke.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html#cfn-bedrock-flow-lexflownodeconfiguration-botaliasarn
	//
	BotAliasArn *string `field:"required" json:"botAliasArn" yaml:"botAliasArn"`
	// The Region to invoke the Amazon Lex bot in.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html#cfn-bedrock-flow-lexflownodeconfiguration-localeid
	//
	LocaleId *string `field:"required" json:"localeId" yaml:"localeId"`
}

Contains configurations for a Lex node in the flow.

You specify a Amazon Lex bot to invoke. This node takes an utterance as the input and returns as the output the intent identified by the Amazon Lex bot. For more information, see [Node types in Amazon Bedrock works](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"

lexFlowNodeConfigurationProperty := &LexFlowNodeConfigurationProperty{
	BotAliasArn: jsii.String("botAliasArn"),
	LocaleId: jsii.String("localeId"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-lexflownodeconfiguration.html

type CfnFlow_PromptFlowNodeConfigurationProperty added in v2.154.0

type CfnFlow_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-flow-promptflownodeconfiguration.html#cfn-bedrock-flow-promptflownodeconfiguration-sourceconfiguration
	//
	SourceConfiguration interface{} `field:"required" json:"sourceConfiguration" yaml:"sourceConfiguration"`
}

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 Amazon Bedrock works](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),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
			},
		},
		Resource: &PromptFlowNodeResourceConfigurationProperty{
			PromptArn: jsii.String("promptArn"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeconfiguration.html

type CfnFlow_PromptFlowNodeInlineConfigurationProperty added in v2.154.0

type CfnFlow_PromptFlowNodeInlineConfigurationProperty struct {
	// The unique identifier of the model to run inference with.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-modelid
	//
	ModelId *string `field:"required" json:"modelId" yaml:"modelId"`
	// Contains a prompt and variables in the prompt that can be replaced with values at runtime.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-templateconfiguration
	//
	TemplateConfiguration interface{} `field:"required" json:"templateConfiguration" yaml:"templateConfiguration"`
	// The type of prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-templatetype
	//
	TemplateType *string `field:"required" json:"templateType" yaml:"templateType"`
	// Contains inference configurations for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html#cfn-bedrock-flow-promptflownodeinlineconfiguration-inferenceconfiguration
	//
	InferenceConfiguration interface{} `field:"optional" json:"inferenceConfiguration" yaml:"inferenceConfiguration"`
}

Contains configurations for a prompt defined inline in the node.

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"

promptFlowNodeInlineConfigurationProperty := &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),
			TopK: jsii.Number(123),
			TopP: jsii.Number(123),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodeinlineconfiguration.html

type CfnFlow_PromptFlowNodeResourceConfigurationProperty added in v2.154.0

type CfnFlow_PromptFlowNodeResourceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the prompt from Prompt management.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownoderesourceconfiguration.html#cfn-bedrock-flow-promptflownoderesourceconfiguration-promptarn
	//
	PromptArn *string `field:"required" json:"promptArn" yaml:"promptArn"`
}

Contains configurations for a prompt from Prompt management to use in a node.

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"

promptFlowNodeResourceConfigurationProperty := &PromptFlowNodeResourceConfigurationProperty{
	PromptArn: jsii.String("promptArn"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownoderesourceconfiguration.html

type CfnFlow_PromptFlowNodeSourceConfigurationProperty added in v2.154.0

type CfnFlow_PromptFlowNodeSourceConfigurationProperty struct {
	// Contains configurations for a prompt that is defined inline.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html#cfn-bedrock-flow-promptflownodesourceconfiguration-inline
	//
	Inline interface{} `field:"optional" json:"inline" yaml:"inline"`
	// Contains configurations for a prompt from Prompt management.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html#cfn-bedrock-flow-promptflownodesourceconfiguration-resource
	//
	Resource interface{} `field:"optional" json:"resource" yaml:"resource"`
}

Contains configurations for a prompt and whether it is from Prompt management or defined inline.

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"

promptFlowNodeSourceConfigurationProperty := &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),
				TopK: jsii.Number(123),
				TopP: jsii.Number(123),
			},
		},
	},
	Resource: &PromptFlowNodeResourceConfigurationProperty{
		PromptArn: jsii.String("promptArn"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptflownodesourceconfiguration.html

type CfnFlow_PromptInferenceConfigurationProperty added in v2.154.0

type CfnFlow_PromptInferenceConfigurationProperty struct {
	// Contains inference configurations for a text prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinferenceconfiguration.html#cfn-bedrock-flow-promptinferenceconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains inference configurations for the prompt.

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"

promptInferenceConfigurationProperty := &PromptInferenceConfigurationProperty{
	Text: &PromptModelInferenceConfigurationProperty{
		MaxTokens: jsii.Number(123),
		StopSequences: []*string{
			jsii.String("stopSequences"),
		},
		Temperature: jsii.Number(123),
		TopK: jsii.Number(123),
		TopP: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinferenceconfiguration.html

type CfnFlow_PromptInputVariableProperty added in v2.154.0

type CfnFlow_PromptInputVariableProperty struct {
	// The name of the variable.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinputvariable.html#cfn-bedrock-flow-promptinputvariable-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Contains information about a variable in the prompt.

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"

promptInputVariableProperty := &PromptInputVariableProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptinputvariable.html

type CfnFlow_PromptModelInferenceConfigurationProperty added in v2.154.0

type CfnFlow_PromptModelInferenceConfigurationProperty struct {
	// The maximum number of tokens to return in the response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"optional" json:"maxTokens" yaml:"maxTokens"`
	// A list of strings that define sequences after which the model will stop generating.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-stopsequences
	//
	StopSequences *[]*string `field:"optional" json:"stopSequences" yaml:"stopSequences"`
	// Controls the randomness of the response.
	//
	// Choose a lower value for more predictable outputs and a higher value for more surprising outputs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-temperature
	//
	Temperature *float64 `field:"optional" json:"temperature" yaml:"temperature"`
	// The number of most-likely candidates that the model considers for the next token during generation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-topk
	//
	TopK *float64 `field:"optional" json:"topK" yaml:"topK"`
	// The percentage of most-likely candidates that the model considers for the next token.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html#cfn-bedrock-flow-promptmodelinferenceconfiguration-topp
	//
	TopP *float64 `field:"optional" json:"topP" yaml:"topP"`
}

Contains inference configurations related to model inference for a prompt.

For more information, see [Inference parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html) .

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"

promptModelInferenceConfigurationProperty := &PromptModelInferenceConfigurationProperty{
	MaxTokens: jsii.Number(123),
	StopSequences: []*string{
		jsii.String("stopSequences"),
	},
	Temperature: jsii.Number(123),
	TopK: jsii.Number(123),
	TopP: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-promptmodelinferenceconfiguration.html

type CfnFlow_PromptTemplateConfigurationProperty added in v2.154.0

type CfnFlow_PromptTemplateConfigurationProperty struct {
	// Contains configurations for the text in a message for a prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-prompttemplateconfiguration.html#cfn-bedrock-flow-prompttemplateconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains the message for a prompt.

For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .

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"

promptTemplateConfigurationProperty := &PromptTemplateConfigurationProperty{
	Text: &TextPromptTemplateConfigurationProperty{
		Text: jsii.String("text"),

		// the properties below are optional
		InputVariables: []interface{}{
			&PromptInputVariableProperty{
				Name: jsii.String("name"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-prompttemplateconfiguration.html

type CfnFlow_S3LocationProperty added in v2.154.0

type CfnFlow_S3LocationProperty struct {
	// The S3 bucket containing the flow definition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-bucket
	//
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// The object key for the S3 location containing the definition.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// The Amazon S3 location from which to retrieve data for an S3 retrieve node or to which to store data for an S3 storage node.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html#cfn-bedrock-flow-s3location-version
	//
	Version *string `field:"optional" json:"version" yaml:"version"`
}

The S3 location of the flow definition.

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"

s3LocationProperty := &S3LocationProperty{
	Bucket: jsii.String("bucket"),
	Key: jsii.String("key"),

	// the properties below are optional
	Version: jsii.String("version"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-s3location.html

type CfnFlow_TextPromptTemplateConfigurationProperty added in v2.154.0

type CfnFlow_TextPromptTemplateConfigurationProperty struct {
	// The message for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html#cfn-bedrock-flow-textprompttemplateconfiguration-text
	//
	Text *string `field:"required" json:"text" yaml:"text"`
	// An array of the variables in the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html#cfn-bedrock-flow-textprompttemplateconfiguration-inputvariables
	//
	InputVariables interface{} `field:"optional" json:"inputVariables" yaml:"inputVariables"`
}

Contains configurations for a text prompt template.

To include a variable, enclose a word in double curly braces as in `{{variable}}` .

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"

textPromptTemplateConfigurationProperty := &TextPromptTemplateConfigurationProperty{
	Text: jsii.String("text"),

	// the properties below are optional
	InputVariables: []interface{}{
		&PromptInputVariableProperty{
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-flow-textprompttemplateconfiguration.html

type CfnGuardrail added in v2.140.0

type CfnGuardrail interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The date and time at which the guardrail was created.
	AttrCreatedAt() *string
	// Appears if the `status` of the guardrail is `FAILED` .
	//
	// A list of recommendations to carry out before retrying the request.
	AttrFailureRecommendations() *[]*string
	// The ARN of the guardrail.
	AttrGuardrailArn() *string
	// The unique identifier of the guardrail.
	AttrGuardrailId() *string
	// The status of the guardrail.
	AttrStatus() *string
	// Appears if the `status` is `FAILED` .
	//
	// A list of reasons for why the guardrail failed to be created, updated, versioned, or deleted.
	AttrStatusReasons() *[]*string
	// The date and time at which the guardrail was last updated.
	AttrUpdatedAt() *string
	// The version of the guardrail that was created.
	//
	// This value will always be `DRAFT` .
	AttrVersion() *string
	// The message to return when the guardrail blocks a prompt.
	BlockedInputMessaging() *string
	SetBlockedInputMessaging(val *string)
	// The message to return when the guardrail blocks a model response.
	BlockedOutputsMessaging() *string
	SetBlockedOutputsMessaging(val *string)
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// The content filter policies to configure for the guardrail.
	ContentPolicyConfig() interface{}
	SetContentPolicyConfig(val interface{})
	// Contextual grounding policy config for a guardrail.
	ContextualGroundingPolicyConfig() interface{}
	SetContextualGroundingPolicyConfig(val interface{})
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the guardrail.
	Description() *string
	SetDescription(val *string)
	// The ARN of the AWS KMS key that you use to encrypt the guardrail.
	KmsKeyArn() *string
	SetKmsKeyArn(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the guardrail.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The sensitive information policy to configure for the guardrail.
	SensitiveInformationPolicyConfig() interface{}
	SetSensitiveInformationPolicyConfig(val interface{})
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// The tags that you want to attach to the guardrail.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// The topic policies to configure for the guardrail.
	TopicPolicyConfig() interface{}
	SetTopicPolicyConfig(val interface{})
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// The word policy you configure for the guardrail.
	WordPolicyConfig() interface{}
	SetWordPolicyConfig(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a guardrail to block topics and to implement safeguards for your generative AI applications.

You can configure the following policies in a guardrail to avoid undesirable and harmful content, filter out denied topics and words, and remove sensitive information for privacy protection.

- *Content filters* - Adjust filter strengths to block input prompts or model responses containing harmful content. - *Denied topics* - Define a set of topics that are undesirable in the context of your application. These topics will be blocked if detected in user queries or model responses. - *Word filters* - Configure filters to block undesirable words, phrases, and profanity. Such words can include offensive terms, competitor names etc. - *Sensitive information filters* - Block or mask sensitive information such as personally identifiable information (PII) or custom regex in user inputs and model responses.

In addition to the above policies, you can also configure the messages to be returned to the user if a user input or model response is in violation of the policies defined in the guardrail.

For more information, see [Guardrails for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.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"

cfnGuardrail := awscdk.Aws_bedrock.NewCfnGuardrail(this, jsii.String("MyCfnGuardrail"), &CfnGuardrailProps{
	BlockedInputMessaging: jsii.String("blockedInputMessaging"),
	BlockedOutputsMessaging: jsii.String("blockedOutputsMessaging"),
	Name: jsii.String("name"),

	// the properties below are optional
	ContentPolicyConfig: &ContentPolicyConfigProperty{
		FiltersConfig: []interface{}{
			&ContentFilterConfigProperty{
				InputStrength: jsii.String("inputStrength"),
				OutputStrength: jsii.String("outputStrength"),
				Type: jsii.String("type"),
			},
		},
	},
	ContextualGroundingPolicyConfig: &ContextualGroundingPolicyConfigProperty{
		FiltersConfig: []interface{}{
			&ContextualGroundingFilterConfigProperty{
				Threshold: jsii.Number(123),
				Type: jsii.String("type"),
			},
		},
	},
	Description: jsii.String("description"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	SensitiveInformationPolicyConfig: &SensitiveInformationPolicyConfigProperty{
		PiiEntitiesConfig: []interface{}{
			&PiiEntityConfigProperty{
				Action: jsii.String("action"),
				Type: jsii.String("type"),
			},
		},
		RegexesConfig: []interface{}{
			&RegexConfigProperty{
				Action: jsii.String("action"),
				Name: jsii.String("name"),
				Pattern: jsii.String("pattern"),

				// the properties below are optional
				Description: jsii.String("description"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TopicPolicyConfig: &TopicPolicyConfigProperty{
		TopicsConfig: []interface{}{
			&TopicConfigProperty{
				Definition: jsii.String("definition"),
				Name: jsii.String("name"),
				Type: jsii.String("type"),

				// the properties below are optional
				Examples: []*string{
					jsii.String("examples"),
				},
			},
		},
	},
	WordPolicyConfig: &WordPolicyConfigProperty{
		ManagedWordListsConfig: []interface{}{
			&ManagedWordsConfigProperty{
				Type: jsii.String("type"),
			},
		},
		WordsConfig: []interface{}{
			&WordConfigProperty{
				Text: jsii.String("text"),
			},
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html

func NewCfnGuardrail added in v2.140.0

func NewCfnGuardrail(scope constructs.Construct, id *string, props *CfnGuardrailProps) CfnGuardrail

type CfnGuardrailProps added in v2.140.0

type CfnGuardrailProps struct {
	// The message to return when the guardrail blocks a prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-blockedinputmessaging
	//
	BlockedInputMessaging *string `field:"required" json:"blockedInputMessaging" yaml:"blockedInputMessaging"`
	// The message to return when the guardrail blocks a model response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-blockedoutputsmessaging
	//
	BlockedOutputsMessaging *string `field:"required" json:"blockedOutputsMessaging" yaml:"blockedOutputsMessaging"`
	// The name of the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The content filter policies to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-contentpolicyconfig
	//
	ContentPolicyConfig interface{} `field:"optional" json:"contentPolicyConfig" yaml:"contentPolicyConfig"`
	// Contextual grounding policy config for a guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-contextualgroundingpolicyconfig
	//
	ContextualGroundingPolicyConfig interface{} `field:"optional" json:"contextualGroundingPolicyConfig" yaml:"contextualGroundingPolicyConfig"`
	// A description of the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// The ARN of the AWS KMS key that you use to encrypt the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-kmskeyarn
	//
	KmsKeyArn *string `field:"optional" json:"kmsKeyArn" yaml:"kmsKeyArn"`
	// The sensitive information policy to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig
	//
	SensitiveInformationPolicyConfig interface{} `field:"optional" json:"sensitiveInformationPolicyConfig" yaml:"sensitiveInformationPolicyConfig"`
	// The tags that you want to attach to the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// The topic policies to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-topicpolicyconfig
	//
	TopicPolicyConfig interface{} `field:"optional" json:"topicPolicyConfig" yaml:"topicPolicyConfig"`
	// The word policy you configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html#cfn-bedrock-guardrail-wordpolicyconfig
	//
	WordPolicyConfig interface{} `field:"optional" json:"wordPolicyConfig" yaml:"wordPolicyConfig"`
}

Properties for defining a `CfnGuardrail`.

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"

cfnGuardrailProps := &CfnGuardrailProps{
	BlockedInputMessaging: jsii.String("blockedInputMessaging"),
	BlockedOutputsMessaging: jsii.String("blockedOutputsMessaging"),
	Name: jsii.String("name"),

	// the properties below are optional
	ContentPolicyConfig: &ContentPolicyConfigProperty{
		FiltersConfig: []interface{}{
			&ContentFilterConfigProperty{
				InputStrength: jsii.String("inputStrength"),
				OutputStrength: jsii.String("outputStrength"),
				Type: jsii.String("type"),
			},
		},
	},
	ContextualGroundingPolicyConfig: &ContextualGroundingPolicyConfigProperty{
		FiltersConfig: []interface{}{
			&ContextualGroundingFilterConfigProperty{
				Threshold: jsii.Number(123),
				Type: jsii.String("type"),
			},
		},
	},
	Description: jsii.String("description"),
	KmsKeyArn: jsii.String("kmsKeyArn"),
	SensitiveInformationPolicyConfig: &SensitiveInformationPolicyConfigProperty{
		PiiEntitiesConfig: []interface{}{
			&PiiEntityConfigProperty{
				Action: jsii.String("action"),
				Type: jsii.String("type"),
			},
		},
		RegexesConfig: []interface{}{
			&RegexConfigProperty{
				Action: jsii.String("action"),
				Name: jsii.String("name"),
				Pattern: jsii.String("pattern"),

				// the properties below are optional
				Description: jsii.String("description"),
			},
		},
	},
	Tags: []cfnTag{
		&cfnTag{
			Key: jsii.String("key"),
			Value: jsii.String("value"),
		},
	},
	TopicPolicyConfig: &TopicPolicyConfigProperty{
		TopicsConfig: []interface{}{
			&TopicConfigProperty{
				Definition: jsii.String("definition"),
				Name: jsii.String("name"),
				Type: jsii.String("type"),

				// the properties below are optional
				Examples: []*string{
					jsii.String("examples"),
				},
			},
		},
	},
	WordPolicyConfig: &WordPolicyConfigProperty{
		ManagedWordListsConfig: []interface{}{
			&ManagedWordsConfigProperty{
				Type: jsii.String("type"),
			},
		},
		WordsConfig: []interface{}{
			&WordConfigProperty{
				Text: jsii.String("text"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrail.html

type CfnGuardrailVersion added in v2.143.0

type CfnGuardrailVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The ARN of the guardrail.
	AttrGuardrailArn() *string
	// The unique identifier of the guardrail.
	AttrGuardrailId() *string
	// The version of the guardrail.
	AttrVersion() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// A description of the guardrail version.
	Description() *string
	SetDescription(val *string)
	// The unique identifier of the guardrail.
	GuardrailIdentifier() *string
	SetGuardrailIdentifier(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a version of the guardrail.

Use this API to create a snapshot of the guardrail when you are satisfied with a configuration, or to compare the configuration with another version.

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"

cfnGuardrailVersion := awscdk.Aws_bedrock.NewCfnGuardrailVersion(this, jsii.String("MyCfnGuardrailVersion"), &CfnGuardrailVersionProps{
	GuardrailIdentifier: jsii.String("guardrailIdentifier"),

	// the properties below are optional
	Description: jsii.String("description"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html

func NewCfnGuardrailVersion added in v2.143.0

func NewCfnGuardrailVersion(scope constructs.Construct, id *string, props *CfnGuardrailVersionProps) CfnGuardrailVersion

type CfnGuardrailVersionProps added in v2.143.0

type CfnGuardrailVersionProps struct {
	// The unique identifier of the guardrail.
	//
	// This can be an ID or the ARN.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html#cfn-bedrock-guardrailversion-guardrailidentifier
	//
	GuardrailIdentifier *string `field:"required" json:"guardrailIdentifier" yaml:"guardrailIdentifier"`
	// A description of the guardrail version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html#cfn-bedrock-guardrailversion-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

Properties for defining a `CfnGuardrailVersion`.

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"

cfnGuardrailVersionProps := &CfnGuardrailVersionProps{
	GuardrailIdentifier: jsii.String("guardrailIdentifier"),

	// the properties below are optional
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-guardrailversion.html

type CfnGuardrail_ContentFilterConfigProperty added in v2.140.0

type CfnGuardrail_ContentFilterConfigProperty struct {
	// The strength of the content filter to apply to prompts.
	//
	// As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-inputstrength
	//
	InputStrength *string `field:"required" json:"inputStrength" yaml:"inputStrength"`
	// The strength of the content filter to apply to model responses.
	//
	// As you increase the filter strength, the likelihood of filtering harmful content increases and the probability of seeing harmful content in your application reduces.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-outputstrength
	//
	OutputStrength *string `field:"required" json:"outputStrength" yaml:"outputStrength"`
	// The harmful category that the content filter is applied to.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html#cfn-bedrock-guardrail-contentfilterconfig-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

Contains filter strengths for harmful content.

Guardrails support the following content filters to detect and filter harmful user inputs and FM-generated outputs.

- *Hate* – Describes language or a statement that discriminates, criticizes, insults, denounces, or dehumanizes a person or group on the basis of an identity (such as race, ethnicity, gender, religion, sexual orientation, ability, and national origin). - *Insults* – Describes language or a statement that includes demeaning, humiliating, mocking, insulting, or belittling language. This type of language is also labeled as bullying. - *Sexual* – Describes language or a statement that indicates sexual interest, activity, or arousal using direct or indirect references to body parts, physical traits, or sex. - *Violence* – Describes language or a statement that includes glorification of or threats to inflict physical pain, hurt, or injury toward a person, group or thing.

Content filtering depends on the confidence classification of user inputs and FM responses across each of the four harmful categories. All input and output statements are classified into one of four confidence levels (NONE, LOW, MEDIUM, HIGH) for each harmful category. For example, if a statement is classified as *Hate* with HIGH confidence, the likelihood of the statement representing hateful content is high. A single statement can be classified across multiple categories with varying confidence levels. For example, a single statement can be classified as *Hate* with HIGH confidence, *Insults* with LOW confidence, *Sexual* with NONE confidence, and *Violence* with MEDIUM confidence.

For more information, see [Guardrails content filters](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-filters.html) .

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"

contentFilterConfigProperty := &ContentFilterConfigProperty{
	InputStrength: jsii.String("inputStrength"),
	OutputStrength: jsii.String("outputStrength"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentfilterconfig.html

type CfnGuardrail_ContentPolicyConfigProperty added in v2.140.0

type CfnGuardrail_ContentPolicyConfigProperty struct {
	// Contains the type of the content filter and how strongly it should apply to prompts and model responses.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentpolicyconfig.html#cfn-bedrock-guardrail-contentpolicyconfig-filtersconfig
	//
	FiltersConfig interface{} `field:"required" json:"filtersConfig" yaml:"filtersConfig"`
}

Contains details about how to handle harmful content.

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"

contentPolicyConfigProperty := &ContentPolicyConfigProperty{
	FiltersConfig: []interface{}{
		&ContentFilterConfigProperty{
			InputStrength: jsii.String("inputStrength"),
			OutputStrength: jsii.String("outputStrength"),
			Type: jsii.String("type"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contentpolicyconfig.html

type CfnGuardrail_ContextualGroundingFilterConfigProperty added in v2.154.0

type CfnGuardrail_ContextualGroundingFilterConfigProperty struct {
	// The threshold details for the guardrails contextual grounding filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-threshold
	//
	Threshold *float64 `field:"required" json:"threshold" yaml:"threshold"`
	// The filter details for the guardrails contextual grounding filter.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html#cfn-bedrock-guardrail-contextualgroundingfilterconfig-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

The filter configuration details for the guardrails contextual grounding filter.

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"

contextualGroundingFilterConfigProperty := &ContextualGroundingFilterConfigProperty{
	Threshold: jsii.Number(123),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingfilterconfig.html

type CfnGuardrail_ContextualGroundingPolicyConfigProperty added in v2.154.0

type CfnGuardrail_ContextualGroundingPolicyConfigProperty struct {
	// List of contextual grounding filter configs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingpolicyconfig.html#cfn-bedrock-guardrail-contextualgroundingpolicyconfig-filtersconfig
	//
	FiltersConfig interface{} `field:"required" json:"filtersConfig" yaml:"filtersConfig"`
}

The policy configuration details for the guardrails contextual grounding policy.

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"

contextualGroundingPolicyConfigProperty := &ContextualGroundingPolicyConfigProperty{
	FiltersConfig: []interface{}{
		&ContextualGroundingFilterConfigProperty{
			Threshold: jsii.Number(123),
			Type: jsii.String("type"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-contextualgroundingpolicyconfig.html

type CfnGuardrail_ManagedWordsConfigProperty added in v2.140.0

type CfnGuardrail_ManagedWordsConfigProperty struct {
	// The managed word type to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html#cfn-bedrock-guardrail-managedwordsconfig-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

The managed word list to configure for the guardrail.

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"

managedWordsConfigProperty := &ManagedWordsConfigProperty{
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-managedwordsconfig.html

type CfnGuardrail_PiiEntityConfigProperty added in v2.140.0

type CfnGuardrail_PiiEntityConfigProperty struct {
	// Configure guardrail action when the PII entity is detected.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-action
	//
	Action *string `field:"required" json:"action" yaml:"action"`
	// Configure guardrail type when the PII entity is detected.
	//
	// The following PIIs are used to block or mask sensitive information:
	//
	// - *General*
	//
	// - *ADDRESS*
	//
	// A physical address, such as "100 Main Street, Anytown, USA" or "Suite #12, Building 123". An address can include information such as the street, building, location, city, state, country, county, zip code, precinct, and neighborhood.
	// - *AGE*
	//
	// An individual's age, including the quantity and unit of time. For example, in the phrase "I am 40 years old," Guarrails recognizes "40 years" as an age.
	// - *NAME*
	//
	// An individual's name. This entity type does not include titles, such as Dr., Mr., Mrs., or Miss. guardrails doesn't apply this entity type to names that are part of organizations or addresses. For example, guardrails recognizes the "John Doe Organization" as an organization, and it recognizes "Jane Doe Street" as an address.
	// - *EMAIL*
	//
	// An email address, such as *marymajor@email.com* .
	// - *PHONE*
	//
	// A phone number. This entity type also includes fax and pager numbers.
	// - *USERNAME*
	//
	// A user name that identifies an account, such as a login name, screen name, nick name, or handle.
	// - *PASSWORD*
	//
	// An alphanumeric string that is used as a password, such as "* *very20special#pass** ".
	// - *DRIVER_ID*
	//
	// The number assigned to a driver's license, which is an official document permitting an individual to operate one or more motorized vehicles on a public road. A driver's license number consists of alphanumeric characters.
	// - *LICENSE_PLATE*
	//
	// A license plate for a vehicle is issued by the state or country where the vehicle is registered. The format for passenger vehicles is typically five to eight digits, consisting of upper-case letters and numbers. The format varies depending on the location of the issuing state or country.
	// - *VEHICLE_IDENTIFICATION_NUMBER*
	//
	// A Vehicle Identification Number (VIN) uniquely identifies a vehicle. VIN content and format are defined in the *ISO 3779* specification. Each country has specific codes and formats for VINs.
	// - *Finance*
	//
	// - *REDIT_DEBIT_CARD_CVV*
	//
	// A three-digit card verification code (CVV) that is present on VISA, MasterCard, and Discover credit and debit cards. For American Express credit or debit cards, the CVV is a four-digit numeric code.
	// - *CREDIT_DEBIT_CARD_EXPIRY*
	//
	// The expiration date for a credit or debit card. This number is usually four digits long and is often formatted as *month/year* or *MM/YY* . Guardrails recognizes expiration dates such as *01/21* , *01/2021* , and *Jan 2021* .
	// - *CREDIT_DEBIT_CARD_NUMBER*
	//
	// The number for a credit or debit card. These numbers can vary from 13 to 16 digits in length. However, Amazon Comprehend also recognizes credit or debit card numbers when only the last four digits are present.
	// - *PIN*
	//
	// A four-digit personal identification number (PIN) with which you can access your bank account.
	// - *INTERNATIONAL_BANK_ACCOUNT_NUMBER*
	//
	// An International Bank Account Number has specific formats in each country. For more information, see [www.iban.com/structure](https://docs.aws.amazon.com/https://www.iban.com/structure) .
	// - *SWIFT_CODE*
	//
	// A SWIFT code is a standard format of Bank Identifier Code (BIC) used to specify a particular bank or branch. Banks use these codes for money transfers such as international wire transfers.
	//
	// SWIFT codes consist of eight or 11 characters. The 11-digit codes refer to specific branches, while eight-digit codes (or 11-digit codes ending in 'XXX') refer to the head or primary office.
	// - *IT*
	//
	// - *IP_ADDRESS*
	//
	// An IPv4 address, such as *198.51.100.0* .
	// - *MAC_ADDRESS*
	//
	// A *media access control* (MAC) address is a unique identifier assigned to a network interface controller (NIC).
	// - *URL*
	//
	// A web address, such as *www.example.com* .
	// - *AWS_ACCESS_KEY*
	//
	// A unique identifier that's associated with a secret access key; you use the access key ID and secret access key to sign programmatic AWS requests cryptographically.
	// - *AWS_SECRET_KEY*
	//
	// A unique identifier that's associated with an access key. You use the access key ID and secret access key to sign programmatic AWS requests cryptographically.
	// - *USA specific*
	//
	// - *US_BANK_ACCOUNT_NUMBER*
	//
	// A US bank account number, which is typically 10 to 12 digits long.
	// - *US_BANK_ROUTING_NUMBER*
	//
	// A US bank account routing number. These are typically nine digits long,
	// - *US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER*
	//
	// A US Individual Taxpayer Identification Number (ITIN) is a nine-digit number that starts with a "9" and contain a "7" or "8" as the fourth digit. An ITIN can be formatted with a space or a dash after the third and forth digits.
	// - *US_PASSPORT_NUMBER*
	//
	// A US passport number. Passport numbers range from six to nine alphanumeric characters.
	// - *US_SOCIAL_SECURITY_NUMBER*
	//
	// A US Social Security Number (SSN) is a nine-digit number that is issued to US citizens, permanent residents, and temporary working residents.
	// - *Canada specific*
	//
	// - *CA_HEALTH_NUMBER*
	//
	// A Canadian Health Service Number is a 10-digit unique identifier, required for individuals to access healthcare benefits.
	// - *CA_SOCIAL_INSURANCE_NUMBER*
	//
	// A Canadian Social Insurance Number (SIN) is a nine-digit unique identifier, required for individuals to access government programs and benefits.
	//
	// The SIN is formatted as three groups of three digits, such as *123-456-789* . A SIN can be validated through a simple check-digit process called the [Luhn algorithm](https://docs.aws.amazon.com/https://www.wikipedia.org/wiki/Luhn_algorithm) .
	// - *UK Specific*
	//
	// - *UK_NATIONAL_HEALTH_SERVICE_NUMBER*
	//
	// A UK National Health Service Number is a 10-17 digit number, such as *485 777 3456* . The current system formats the 10-digit number with spaces after the third and sixth digits. The final digit is an error-detecting checksum.
	// - *UK_NATIONAL_INSURANCE_NUMBER*
	//
	// A UK National Insurance Number (NINO) provides individuals with access to National Insurance (social security) benefits. It is also used for some purposes in the UK tax system.
	//
	// The number is nine digits long and starts with two letters, followed by six numbers and one letter. A NINO can be formatted with a space or a dash after the two letters and after the second, forth, and sixth digits.
	// - *UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER*
	//
	// A UK Unique Taxpayer Reference (UTR) is a 10-digit number that identifies a taxpayer or a business.
	// - *Custom*
	//
	// - *Regex filter* - You can use a regular expressions to define patterns for a guardrail to recognize and act upon such as serial number, booking ID etc..
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html#cfn-bedrock-guardrail-piientityconfig-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
}

The PII entity to configure for the guardrail.

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"

piiEntityConfigProperty := &PiiEntityConfigProperty{
	Action: jsii.String("action"),
	Type: jsii.String("type"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-piientityconfig.html

type CfnGuardrail_RegexConfigProperty added in v2.140.0

type CfnGuardrail_RegexConfigProperty struct {
	// The guardrail action to configure when matching regular expression is detected.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-action
	//
	Action *string `field:"required" json:"action" yaml:"action"`
	// The name of the regular expression to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The regular expression pattern to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-pattern
	//
	Pattern *string `field:"required" json:"pattern" yaml:"pattern"`
	// The description of the regular expression to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html#cfn-bedrock-guardrail-regexconfig-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

The regular expression to configure for the guardrail.

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"

regexConfigProperty := &RegexConfigProperty{
	Action: jsii.String("action"),
	Name: jsii.String("name"),
	Pattern: jsii.String("pattern"),

	// the properties below are optional
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-regexconfig.html

type CfnGuardrail_SensitiveInformationPolicyConfigProperty added in v2.140.0

type CfnGuardrail_SensitiveInformationPolicyConfigProperty struct {
	// A list of PII entities to configure to the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig-piientitiesconfig
	//
	PiiEntitiesConfig interface{} `field:"optional" json:"piiEntitiesConfig" yaml:"piiEntitiesConfig"`
	// A list of regular expressions to configure to the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html#cfn-bedrock-guardrail-sensitiveinformationpolicyconfig-regexesconfig
	//
	RegexesConfig interface{} `field:"optional" json:"regexesConfig" yaml:"regexesConfig"`
}

Contains details about PII entities and regular expressions to configure for the guardrail.

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"

sensitiveInformationPolicyConfigProperty := &SensitiveInformationPolicyConfigProperty{
	PiiEntitiesConfig: []interface{}{
		&PiiEntityConfigProperty{
			Action: jsii.String("action"),
			Type: jsii.String("type"),
		},
	},
	RegexesConfig: []interface{}{
		&RegexConfigProperty{
			Action: jsii.String("action"),
			Name: jsii.String("name"),
			Pattern: jsii.String("pattern"),

			// the properties below are optional
			Description: jsii.String("description"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-sensitiveinformationpolicyconfig.html

type CfnGuardrail_TopicConfigProperty added in v2.140.0

type CfnGuardrail_TopicConfigProperty struct {
	// A definition of the topic to deny.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-definition
	//
	Definition *string `field:"required" json:"definition" yaml:"definition"`
	// The name of the topic to deny.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// Specifies to deny the topic.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// A list of prompts, each of which is an example of a prompt that can be categorized as belonging to the topic.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html#cfn-bedrock-guardrail-topicconfig-examples
	//
	Examples *[]*string `field:"optional" json:"examples" yaml:"examples"`
}

Details about topics for the guardrail to identify and deny.

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"

topicConfigProperty := &TopicConfigProperty{
	Definition: jsii.String("definition"),
	Name: jsii.String("name"),
	Type: jsii.String("type"),

	// the properties below are optional
	Examples: []*string{
		jsii.String("examples"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicconfig.html

type CfnGuardrail_TopicPolicyConfigProperty added in v2.140.0

type CfnGuardrail_TopicPolicyConfigProperty struct {
	// A list of policies related to topics that the guardrail should deny.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicpolicyconfig.html#cfn-bedrock-guardrail-topicpolicyconfig-topicsconfig
	//
	TopicsConfig interface{} `field:"required" json:"topicsConfig" yaml:"topicsConfig"`
}

Contains details about topics that the guardrail should identify and deny.

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"

topicPolicyConfigProperty := &TopicPolicyConfigProperty{
	TopicsConfig: []interface{}{
		&TopicConfigProperty{
			Definition: jsii.String("definition"),
			Name: jsii.String("name"),
			Type: jsii.String("type"),

			// the properties below are optional
			Examples: []*string{
				jsii.String("examples"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-topicpolicyconfig.html

type CfnGuardrail_WordConfigProperty added in v2.140.0

type CfnGuardrail_WordConfigProperty struct {
	// Text of the word configured for the guardrail to block.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html#cfn-bedrock-guardrail-wordconfig-text
	//
	Text *string `field:"required" json:"text" yaml:"text"`
}

A word to configure for the guardrail.

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"

wordConfigProperty := &WordConfigProperty{
	Text: jsii.String("text"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordconfig.html

type CfnGuardrail_WordPolicyConfigProperty added in v2.140.0

type CfnGuardrail_WordPolicyConfigProperty struct {
	// A list of managed words to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html#cfn-bedrock-guardrail-wordpolicyconfig-managedwordlistsconfig
	//
	ManagedWordListsConfig interface{} `field:"optional" json:"managedWordListsConfig" yaml:"managedWordListsConfig"`
	// A list of words to configure for the guardrail.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html#cfn-bedrock-guardrail-wordpolicyconfig-wordsconfig
	//
	WordsConfig interface{} `field:"optional" json:"wordsConfig" yaml:"wordsConfig"`
}

Contains details about the word policy to configured for the guardrail.

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"

wordPolicyConfigProperty := &WordPolicyConfigProperty{
	ManagedWordListsConfig: []interface{}{
		&ManagedWordsConfigProperty{
			Type: jsii.String("type"),
		},
	},
	WordsConfig: []interface{}{
		&WordConfigProperty{
			Text: jsii.String("text"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-guardrail-wordpolicyconfig.html

type CfnKnowledgeBase added in v2.139.0

type CfnKnowledgeBase interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The time at which the knowledge base was created.
	AttrCreatedAt() *string
	// A list of reasons that the API operation on the knowledge base failed.
	AttrFailureReasons() *[]*string
	// The Amazon Resource Name (ARN) of the knowledge base.
	AttrKnowledgeBaseArn() *string
	// The unique identifier of the knowledge base.
	AttrKnowledgeBaseId() *string
	// The status of the knowledge base.
	AttrStatus() *string
	// The time at which the knowledge base was last updated.
	AttrUpdatedAt() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the knowledge base.
	Description() *string
	SetDescription(val *string)
	// Contains details about the embeddings configuration of the knowledge base.
	KnowledgeBaseConfiguration() interface{}
	SetKnowledgeBaseConfiguration(val interface{})
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the knowledge base.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
	RoleArn() *string
	SetRoleArn(val *string)
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Contains details about the storage configuration of the knowledge base.
	StorageConfiguration() interface{}
	SetStorageConfiguration(val interface{})
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Specifies a knowledge base as a resource in a top-level template. Minimally, you must specify the following properties:.

- Name – Specify a name for the knowledge base. - RoleArn – Specify the Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base. For more information, see [Create a service role for Knowledge base for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html) . - KnowledgeBaseConfiguration – Specify the embeddings configuration of the knowledge base. The following sub-properties are required:

- Type – Specify the value `VECTOR` . - StorageConfiguration – Specify information about the vector store in which the data source is stored. The following sub-properties are required:

- Type – Specify the vector store service that you are using.

> Redis Enterprise Cloud vector stores are currently unsupported in AWS CloudFormation .

For more information about using knowledge bases in Amazon Bedrock , see [Knowledge base for Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base.html) .

See the *Properties* section below for descriptions of both the required and optional properties.

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"

cfnKnowledgeBase := awscdk.Aws_bedrock.NewCfnKnowledgeBase(this, jsii.String("MyCfnKnowledgeBase"), &CfnKnowledgeBaseProps{
	KnowledgeBaseConfiguration: &KnowledgeBaseConfigurationProperty{
		Type: jsii.String("type"),
		VectorKnowledgeBaseConfiguration: &VectorKnowledgeBaseConfigurationProperty{
			EmbeddingModelArn: jsii.String("embeddingModelArn"),

			// the properties below are optional
			EmbeddingModelConfiguration: &EmbeddingModelConfigurationProperty{
				BedrockEmbeddingModelConfiguration: &BedrockEmbeddingModelConfigurationProperty{
					Dimensions: jsii.Number(123),
				},
			},
		},
	},
	Name: jsii.String("name"),
	RoleArn: jsii.String("roleArn"),
	StorageConfiguration: &StorageConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		OpensearchServerlessConfiguration: &OpenSearchServerlessConfigurationProperty{
			CollectionArn: jsii.String("collectionArn"),
			FieldMapping: &OpenSearchServerlessFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				TextField: jsii.String("textField"),
				VectorField: jsii.String("vectorField"),
			},
			VectorIndexName: jsii.String("vectorIndexName"),
		},
		PineconeConfiguration: &PineconeConfigurationProperty{
			ConnectionString: jsii.String("connectionString"),
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			FieldMapping: &PineconeFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				TextField: jsii.String("textField"),
			},

			// the properties below are optional
			Namespace: jsii.String("namespace"),
		},
		RdsConfiguration: &RdsConfigurationProperty{
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			DatabaseName: jsii.String("databaseName"),
			FieldMapping: &RdsFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				PrimaryKeyField: jsii.String("primaryKeyField"),
				TextField: jsii.String("textField"),
				VectorField: jsii.String("vectorField"),
			},
			ResourceArn: jsii.String("resourceArn"),
			TableName: jsii.String("tableName"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html

func NewCfnKnowledgeBase added in v2.139.0

func NewCfnKnowledgeBase(scope constructs.Construct, id *string, props *CfnKnowledgeBaseProps) CfnKnowledgeBase

type CfnKnowledgeBaseProps added in v2.139.0

type CfnKnowledgeBaseProps struct {
	// Contains details about the embeddings configuration of the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration
	//
	KnowledgeBaseConfiguration interface{} `field:"required" json:"knowledgeBaseConfiguration" yaml:"knowledgeBaseConfiguration"`
	// The name of the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of the IAM role with permissions to invoke API operations on the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-rolearn
	//
	RoleArn *string `field:"required" json:"roleArn" yaml:"roleArn"`
	// Contains details about the storage configuration of the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-storageconfiguration
	//
	StorageConfiguration interface{} `field:"required" json:"storageConfiguration" yaml:"storageConfiguration"`
	// The description of the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html#cfn-bedrock-knowledgebase-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
}

Properties for defining a `CfnKnowledgeBase`.

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"

cfnKnowledgeBaseProps := &CfnKnowledgeBaseProps{
	KnowledgeBaseConfiguration: &KnowledgeBaseConfigurationProperty{
		Type: jsii.String("type"),
		VectorKnowledgeBaseConfiguration: &VectorKnowledgeBaseConfigurationProperty{
			EmbeddingModelArn: jsii.String("embeddingModelArn"),

			// the properties below are optional
			EmbeddingModelConfiguration: &EmbeddingModelConfigurationProperty{
				BedrockEmbeddingModelConfiguration: &BedrockEmbeddingModelConfigurationProperty{
					Dimensions: jsii.Number(123),
				},
			},
		},
	},
	Name: jsii.String("name"),
	RoleArn: jsii.String("roleArn"),
	StorageConfiguration: &StorageConfigurationProperty{
		Type: jsii.String("type"),

		// the properties below are optional
		OpensearchServerlessConfiguration: &OpenSearchServerlessConfigurationProperty{
			CollectionArn: jsii.String("collectionArn"),
			FieldMapping: &OpenSearchServerlessFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				TextField: jsii.String("textField"),
				VectorField: jsii.String("vectorField"),
			},
			VectorIndexName: jsii.String("vectorIndexName"),
		},
		PineconeConfiguration: &PineconeConfigurationProperty{
			ConnectionString: jsii.String("connectionString"),
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			FieldMapping: &PineconeFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				TextField: jsii.String("textField"),
			},

			// the properties below are optional
			Namespace: jsii.String("namespace"),
		},
		RdsConfiguration: &RdsConfigurationProperty{
			CredentialsSecretArn: jsii.String("credentialsSecretArn"),
			DatabaseName: jsii.String("databaseName"),
			FieldMapping: &RdsFieldMappingProperty{
				MetadataField: jsii.String("metadataField"),
				PrimaryKeyField: jsii.String("primaryKeyField"),
				TextField: jsii.String("textField"),
				VectorField: jsii.String("vectorField"),
			},
			ResourceArn: jsii.String("resourceArn"),
			TableName: jsii.String("tableName"),
		},
	},

	// the properties below are optional
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-knowledgebase.html

type CfnKnowledgeBase_BedrockEmbeddingModelConfigurationProperty added in v2.154.0

type CfnKnowledgeBase_BedrockEmbeddingModelConfigurationProperty struct {
	// The dimensions details for the vector configuration used on the Bedrock embeddings model.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-bedrockembeddingmodelconfiguration.html#cfn-bedrock-knowledgebase-bedrockembeddingmodelconfiguration-dimensions
	//
	Dimensions *float64 `field:"optional" json:"dimensions" yaml:"dimensions"`
}

The vector configuration details for the Bedrock embeddings model.

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"

bedrockEmbeddingModelConfigurationProperty := &BedrockEmbeddingModelConfigurationProperty{
	Dimensions: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-bedrockembeddingmodelconfiguration.html

type CfnKnowledgeBase_EmbeddingModelConfigurationProperty added in v2.154.0

type CfnKnowledgeBase_EmbeddingModelConfigurationProperty struct {
	// The vector configuration details on the Bedrock embeddings model.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-embeddingmodelconfiguration.html#cfn-bedrock-knowledgebase-embeddingmodelconfiguration-bedrockembeddingmodelconfiguration
	//
	BedrockEmbeddingModelConfiguration interface{} `field:"optional" json:"bedrockEmbeddingModelConfiguration" yaml:"bedrockEmbeddingModelConfiguration"`
}

The configuration details for the embeddings model.

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"

embeddingModelConfigurationProperty := &EmbeddingModelConfigurationProperty{
	BedrockEmbeddingModelConfiguration: &BedrockEmbeddingModelConfigurationProperty{
		Dimensions: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-embeddingmodelconfiguration.html

type CfnKnowledgeBase_KnowledgeBaseConfigurationProperty added in v2.139.0

type CfnKnowledgeBase_KnowledgeBaseConfigurationProperty struct {
	// The type of data that the data source is converted into for the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Contains details about the embeddings model that'sused to convert the data source.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-knowledgebaseconfiguration-vectorknowledgebaseconfiguration
	//
	VectorKnowledgeBaseConfiguration interface{} `field:"required" json:"vectorKnowledgeBaseConfiguration" yaml:"vectorKnowledgeBaseConfiguration"`
}

Configurations to apply to a knowledge base attached to the agent during query.

For more information, see [Knowledge base retrieval configurations](https://docs.aws.amazon.com/bedrock/latest/userguide/agents-session-state.html#session-state-kb) .

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"

knowledgeBaseConfigurationProperty := &KnowledgeBaseConfigurationProperty{
	Type: jsii.String("type"),
	VectorKnowledgeBaseConfiguration: &VectorKnowledgeBaseConfigurationProperty{
		EmbeddingModelArn: jsii.String("embeddingModelArn"),

		// the properties below are optional
		EmbeddingModelConfiguration: &EmbeddingModelConfigurationProperty{
			BedrockEmbeddingModelConfiguration: &BedrockEmbeddingModelConfigurationProperty{
				Dimensions: jsii.Number(123),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-knowledgebaseconfiguration.html

type CfnKnowledgeBase_OpenSearchServerlessConfigurationProperty added in v2.140.0

type CfnKnowledgeBase_OpenSearchServerlessConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the OpenSearch Service vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-collectionarn
	//
	CollectionArn *string `field:"required" json:"collectionArn" yaml:"collectionArn"`
	// Contains the names of the fields to which to map information about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-fieldmapping
	//
	FieldMapping interface{} `field:"required" json:"fieldMapping" yaml:"fieldMapping"`
	// The name of the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html#cfn-bedrock-knowledgebase-opensearchserverlessconfiguration-vectorindexname
	//
	VectorIndexName *string `field:"required" json:"vectorIndexName" yaml:"vectorIndexName"`
}

Contains details about the storage configuration of the knowledge base in Amazon OpenSearch Service.

For more information, see [Create a vector index in Amazon OpenSearch Service](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup-oss.html) .

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"

openSearchServerlessConfigurationProperty := &OpenSearchServerlessConfigurationProperty{
	CollectionArn: jsii.String("collectionArn"),
	FieldMapping: &OpenSearchServerlessFieldMappingProperty{
		MetadataField: jsii.String("metadataField"),
		TextField: jsii.String("textField"),
		VectorField: jsii.String("vectorField"),
	},
	VectorIndexName: jsii.String("vectorIndexName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessconfiguration.html

type CfnKnowledgeBase_OpenSearchServerlessFieldMappingProperty added in v2.140.0

type CfnKnowledgeBase_OpenSearchServerlessFieldMappingProperty struct {
	// The name of the field in which Amazon Bedrock stores metadata about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-metadatafield
	//
	MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"`
	// The name of the field in which Amazon Bedrock stores the raw text from your data.
	//
	// The text is split according to the chunking strategy you choose.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-textfield
	//
	TextField *string `field:"required" json:"textField" yaml:"textField"`
	// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html#cfn-bedrock-knowledgebase-opensearchserverlessfieldmapping-vectorfield
	//
	VectorField *string `field:"required" json:"vectorField" yaml:"vectorField"`
}

Contains the names of the fields to which to map information about the vector store.

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"

openSearchServerlessFieldMappingProperty := &OpenSearchServerlessFieldMappingProperty{
	MetadataField: jsii.String("metadataField"),
	TextField: jsii.String("textField"),
	VectorField: jsii.String("vectorField"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-opensearchserverlessfieldmapping.html

type CfnKnowledgeBase_PineconeConfigurationProperty added in v2.140.0

type CfnKnowledgeBase_PineconeConfigurationProperty struct {
	// The endpoint URL for your index management page.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-connectionstring
	//
	ConnectionString *string `field:"required" json:"connectionString" yaml:"connectionString"`
	// The Amazon Resource Name (ARN) of the secret that you created in AWS Secrets Manager that is linked to your Pinecone API key.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-credentialssecretarn
	//
	CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"`
	// Contains the names of the fields to which to map information about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-fieldmapping
	//
	FieldMapping interface{} `field:"required" json:"fieldMapping" yaml:"fieldMapping"`
	// The namespace to be used to write new data to your database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html#cfn-bedrock-knowledgebase-pineconeconfiguration-namespace
	//
	Namespace *string `field:"optional" json:"namespace" yaml:"namespace"`
}

Contains details about the storage configuration of the knowledge base in Pinecone.

For more information, see [Create a vector index in Pinecone](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup-pinecone.html) .

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"

pineconeConfigurationProperty := &PineconeConfigurationProperty{
	ConnectionString: jsii.String("connectionString"),
	CredentialsSecretArn: jsii.String("credentialsSecretArn"),
	FieldMapping: &PineconeFieldMappingProperty{
		MetadataField: jsii.String("metadataField"),
		TextField: jsii.String("textField"),
	},

	// the properties below are optional
	Namespace: jsii.String("namespace"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconeconfiguration.html

type CfnKnowledgeBase_PineconeFieldMappingProperty added in v2.140.0

type CfnKnowledgeBase_PineconeFieldMappingProperty struct {
	// The name of the field in which Amazon Bedrock stores metadata about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html#cfn-bedrock-knowledgebase-pineconefieldmapping-metadatafield
	//
	MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"`
	// The name of the field in which Amazon Bedrock stores the raw text from your data.
	//
	// The text is split according to the chunking strategy you choose.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html#cfn-bedrock-knowledgebase-pineconefieldmapping-textfield
	//
	TextField *string `field:"required" json:"textField" yaml:"textField"`
}

Contains the names of the fields to which to map information about the vector store.

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"

pineconeFieldMappingProperty := &PineconeFieldMappingProperty{
	MetadataField: jsii.String("metadataField"),
	TextField: jsii.String("textField"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-pineconefieldmapping.html

type CfnKnowledgeBase_RdsConfigurationProperty added in v2.140.0

type CfnKnowledgeBase_RdsConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the secret that you created in AWS Secrets Manager that is linked to your Amazon RDS database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-credentialssecretarn
	//
	CredentialsSecretArn *string `field:"required" json:"credentialsSecretArn" yaml:"credentialsSecretArn"`
	// The name of your Amazon RDS database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-databasename
	//
	DatabaseName *string `field:"required" json:"databaseName" yaml:"databaseName"`
	// Contains the names of the fields to which to map information about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-fieldmapping
	//
	FieldMapping interface{} `field:"required" json:"fieldMapping" yaml:"fieldMapping"`
	// The Amazon Resource Name (ARN) of the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-resourcearn
	//
	ResourceArn *string `field:"required" json:"resourceArn" yaml:"resourceArn"`
	// The name of the table in the database.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html#cfn-bedrock-knowledgebase-rdsconfiguration-tablename
	//
	TableName *string `field:"required" json:"tableName" yaml:"tableName"`
}

Contains details about the storage configuration of the knowledge base in Amazon RDS.

For more information, see [Create a vector index in Amazon RDS](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup-rds.html) .

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"

rdsConfigurationProperty := &RdsConfigurationProperty{
	CredentialsSecretArn: jsii.String("credentialsSecretArn"),
	DatabaseName: jsii.String("databaseName"),
	FieldMapping: &RdsFieldMappingProperty{
		MetadataField: jsii.String("metadataField"),
		PrimaryKeyField: jsii.String("primaryKeyField"),
		TextField: jsii.String("textField"),
		VectorField: jsii.String("vectorField"),
	},
	ResourceArn: jsii.String("resourceArn"),
	TableName: jsii.String("tableName"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsconfiguration.html

type CfnKnowledgeBase_RdsFieldMappingProperty added in v2.140.0

type CfnKnowledgeBase_RdsFieldMappingProperty struct {
	// The name of the field in which Amazon Bedrock stores metadata about the vector store.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-metadatafield
	//
	MetadataField *string `field:"required" json:"metadataField" yaml:"metadataField"`
	// The name of the field in which Amazon Bedrock stores the ID for each entry.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-primarykeyfield
	//
	PrimaryKeyField *string `field:"required" json:"primaryKeyField" yaml:"primaryKeyField"`
	// The name of the field in which Amazon Bedrock stores the raw text from your data.
	//
	// The text is split according to the chunking strategy you choose.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-textfield
	//
	TextField *string `field:"required" json:"textField" yaml:"textField"`
	// The name of the field in which Amazon Bedrock stores the vector embeddings for your data sources.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html#cfn-bedrock-knowledgebase-rdsfieldmapping-vectorfield
	//
	VectorField *string `field:"required" json:"vectorField" yaml:"vectorField"`
}

Contains the names of the fields to which to map information about the vector store.

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"

rdsFieldMappingProperty := &RdsFieldMappingProperty{
	MetadataField: jsii.String("metadataField"),
	PrimaryKeyField: jsii.String("primaryKeyField"),
	TextField: jsii.String("textField"),
	VectorField: jsii.String("vectorField"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-rdsfieldmapping.html

type CfnKnowledgeBase_StorageConfigurationProperty added in v2.140.0

type CfnKnowledgeBase_StorageConfigurationProperty struct {
	// The vector store service in which the knowledge base is stored.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-type
	//
	Type *string `field:"required" json:"type" yaml:"type"`
	// Contains the storage configuration of the knowledge base in Amazon OpenSearch Service.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-opensearchserverlessconfiguration
	//
	OpensearchServerlessConfiguration interface{} `field:"optional" json:"opensearchServerlessConfiguration" yaml:"opensearchServerlessConfiguration"`
	// Contains the storage configuration of the knowledge base in Pinecone.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-pineconeconfiguration
	//
	PineconeConfiguration interface{} `field:"optional" json:"pineconeConfiguration" yaml:"pineconeConfiguration"`
	// Contains details about the storage configuration of the knowledge base in Amazon RDS.
	//
	// For more information, see [Create a vector index in Amazon RDS](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-setup-rds.html) .
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html#cfn-bedrock-knowledgebase-storageconfiguration-rdsconfiguration
	//
	RdsConfiguration interface{} `field:"optional" json:"rdsConfiguration" yaml:"rdsConfiguration"`
}

Contains the storage configuration of the knowledge base.

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"

storageConfigurationProperty := &StorageConfigurationProperty{
	Type: jsii.String("type"),

	// the properties below are optional
	OpensearchServerlessConfiguration: &OpenSearchServerlessConfigurationProperty{
		CollectionArn: jsii.String("collectionArn"),
		FieldMapping: &OpenSearchServerlessFieldMappingProperty{
			MetadataField: jsii.String("metadataField"),
			TextField: jsii.String("textField"),
			VectorField: jsii.String("vectorField"),
		},
		VectorIndexName: jsii.String("vectorIndexName"),
	},
	PineconeConfiguration: &PineconeConfigurationProperty{
		ConnectionString: jsii.String("connectionString"),
		CredentialsSecretArn: jsii.String("credentialsSecretArn"),
		FieldMapping: &PineconeFieldMappingProperty{
			MetadataField: jsii.String("metadataField"),
			TextField: jsii.String("textField"),
		},

		// the properties below are optional
		Namespace: jsii.String("namespace"),
	},
	RdsConfiguration: &RdsConfigurationProperty{
		CredentialsSecretArn: jsii.String("credentialsSecretArn"),
		DatabaseName: jsii.String("databaseName"),
		FieldMapping: &RdsFieldMappingProperty{
			MetadataField: jsii.String("metadataField"),
			PrimaryKeyField: jsii.String("primaryKeyField"),
			TextField: jsii.String("textField"),
			VectorField: jsii.String("vectorField"),
		},
		ResourceArn: jsii.String("resourceArn"),
		TableName: jsii.String("tableName"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-storageconfiguration.html

type CfnKnowledgeBase_VectorKnowledgeBaseConfigurationProperty added in v2.139.0

type CfnKnowledgeBase_VectorKnowledgeBaseConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the model used to create vector embeddings for the knowledge base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-embeddingmodelarn
	//
	EmbeddingModelArn *string `field:"required" json:"embeddingModelArn" yaml:"embeddingModelArn"`
	// The embeddings model configuration details for the vector model used in Knowledge Base.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html#cfn-bedrock-knowledgebase-vectorknowledgebaseconfiguration-embeddingmodelconfiguration
	//
	EmbeddingModelConfiguration interface{} `field:"optional" json:"embeddingModelConfiguration" yaml:"embeddingModelConfiguration"`
}

Contains details about the model used to create vector embeddings for the knowledge base.

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"

vectorKnowledgeBaseConfigurationProperty := &VectorKnowledgeBaseConfigurationProperty{
	EmbeddingModelArn: jsii.String("embeddingModelArn"),

	// the properties below are optional
	EmbeddingModelConfiguration: &EmbeddingModelConfigurationProperty{
		BedrockEmbeddingModelConfiguration: &BedrockEmbeddingModelConfigurationProperty{
			Dimensions: jsii.Number(123),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.html

type CfnPrompt added in v2.154.0

type CfnPrompt interface {
	awscdk.CfnResource
	awscdk.IInspectable
	awscdk.ITaggableV2
	// The Amazon Resource Name (ARN) of the prompt or the prompt version (if you specified a version in the request).
	AttrArn() *string
	// The time at which the prompt was created.
	AttrCreatedAt() *string
	// The unique identifier of the prompt.
	AttrId() *string
	// The time at which the prompt was last updated.
	AttrUpdatedAt() *string
	// The version of the prompt that this summary applies to.
	AttrVersion() *string
	// Tag Manager which manages the tags for this resource.
	CdkTagManager() awscdk.TagManager
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The Amazon Resource Name (ARN) of the KMS key that the prompt is encrypted with.
	CustomerEncryptionKeyArn() *string
	SetCustomerEncryptionKeyArn(val *string)
	// The name of the default variant for the prompt.
	DefaultVariant() *string
	SetDefaultVariant(val *string)
	// The description of the prompt.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The name of the prompt.
	Name() *string
	SetName(val *string)
	// The tree node.
	Node() constructs.Node
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Metadata that you can assign to a resource as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *map[string]*string
	SetTags(val *map[string]*string)
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// A list of objects, each containing details about a variant of the prompt.
	Variants() interface{}
	SetVariants(val interface{})
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a prompt in your prompt library that you can add to a flow.

For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) , [Create a prompt using Prompt management](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-create.html) and [Prompt flows in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/flows.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"

cfnPrompt := awscdk.Aws_bedrock.NewCfnPrompt(this, jsii.String("MyCfnPrompt"), &CfnPromptProps{
	Name: jsii.String("name"),

	// the properties below are optional
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	DefaultVariant: jsii.String("defaultVariant"),
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	Variants: []interface{}{
		&PromptVariantProperty{
			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),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
			},
			ModelId: jsii.String("modelId"),
			TemplateConfiguration: &PromptTemplateConfigurationProperty{
				Text: &TextPromptTemplateConfigurationProperty{
					InputVariables: []interface{}{
						&PromptInputVariableProperty{
							Name: jsii.String("name"),
						},
					},
					Text: jsii.String("text"),
					TextS3Location: &TextS3LocationProperty{
						Bucket: jsii.String("bucket"),
						Key: jsii.String("key"),

						// the properties below are optional
						Version: jsii.String("version"),
					},
				},
			},
		},
	},
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html

func NewCfnPrompt added in v2.154.0

func NewCfnPrompt(scope constructs.Construct, id *string, props *CfnPromptProps) CfnPrompt

type CfnPromptProps added in v2.154.0

type CfnPromptProps struct {
	// The name of the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The Amazon Resource Name (ARN) of the KMS key that the prompt is encrypted with.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-customerencryptionkeyarn
	//
	CustomerEncryptionKeyArn *string `field:"optional" json:"customerEncryptionKeyArn" yaml:"customerEncryptionKeyArn"`
	// The name of the default variant for the prompt.
	//
	// This value must match the `name` field in the relevant [PromptVariant](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html) object.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-defaultvariant
	//
	DefaultVariant *string `field:"optional" json:"defaultVariant" yaml:"defaultVariant"`
	// The description of the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
	// Metadata that you can assign to a resource as key-value pairs. For more information, see the following resources:.
	//
	// - [Tag naming limits and requirements](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)
	// - [Tagging best practices](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-best-practices)
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-tags
	//
	Tags *map[string]*string `field:"optional" json:"tags" yaml:"tags"`
	// A list of objects, each containing details about a variant of the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html#cfn-bedrock-prompt-variants
	//
	Variants interface{} `field:"optional" json:"variants" yaml:"variants"`
}

Properties for defining a `CfnPrompt`.

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"

cfnPromptProps := &CfnPromptProps{
	Name: jsii.String("name"),

	// the properties below are optional
	CustomerEncryptionKeyArn: jsii.String("customerEncryptionKeyArn"),
	DefaultVariant: jsii.String("defaultVariant"),
	Description: jsii.String("description"),
	Tags: map[string]*string{
		"tagsKey": jsii.String("tags"),
	},
	Variants: []interface{}{
		&PromptVariantProperty{
			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),
					TopK: jsii.Number(123),
					TopP: jsii.Number(123),
				},
			},
			ModelId: jsii.String("modelId"),
			TemplateConfiguration: &PromptTemplateConfigurationProperty{
				Text: &TextPromptTemplateConfigurationProperty{
					InputVariables: []interface{}{
						&PromptInputVariableProperty{
							Name: jsii.String("name"),
						},
					},
					Text: jsii.String("text"),
					TextS3Location: &TextS3LocationProperty{
						Bucket: jsii.String("bucket"),
						Key: jsii.String("key"),

						// the properties below are optional
						Version: jsii.String("version"),
					},
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-prompt.html

type CfnPromptVersion added in v2.154.0

type CfnPromptVersion interface {
	awscdk.CfnResource
	awscdk.IInspectable
	// The Amazon Resource Name (ARN) of the prompt or the prompt version (if you specified a version in the request).
	AttrArn() *string
	// The time at which the prompt was created.
	AttrCreatedAt() *string
	// The name of the default variant for the prompt.
	//
	// This value must match the `name` field in the relevant [PromptVariant](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html) object.
	AttrDefaultVariant() *string
	// The name of the prompt.
	AttrName() *string
	// The unique identifier of the prompt.
	AttrPromptId() *string
	// The time at which the prompt was last updated.
	AttrUpdatedAt() *string
	// A list of objects, each containing details about a variant of the prompt.
	AttrVariants() awscdk.IResolvable
	// The version of the prompt that this summary applies to.
	AttrVersion() *string
	// Options for this resource, such as condition, update policy etc.
	CfnOptions() awscdk.ICfnResourceOptions
	CfnProperties() *map[string]interface{}
	// AWS resource type.
	CfnResourceType() *string
	// Returns: the stack trace of the point where this Resource was created from, sourced
	// from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most
	// node +internal+ entries filtered.
	CreationStack() *[]*string
	// The description of the prompt version.
	Description() *string
	SetDescription(val *string)
	// The logical ID for this CloudFormation stack element.
	//
	// The logical ID of the element
	// is calculated from the path of the resource node in the construct tree.
	//
	// To override this value, use `overrideLogicalId(newLogicalId)`.
	//
	// Returns: the logical ID as a stringified token. This value will only get
	// resolved during synthesis.
	LogicalId() *string
	// The tree node.
	Node() constructs.Node
	// The Amazon Resource Name (ARN) of the version of the prompt.
	PromptArn() *string
	SetPromptArn(val *string)
	// Return a string that will be resolved to a CloudFormation `{ Ref }` for this element.
	//
	// If, by any chance, the intrinsic reference of a resource is not a string, you could
	// coerce it to an IResolvable through `Lazy.any({ produce: resource.ref })`.
	Ref() *string
	// The stack in which this element is defined.
	//
	// CfnElements must be defined within a stack scope (directly or indirectly).
	Stack() awscdk.Stack
	// Deprecated.
	// Deprecated: use `updatedProperties`
	//
	// Return properties modified after initiation
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperites() *map[string]interface{}
	// Return properties modified after initiation.
	//
	// Resources that expose mutable properties should override this function to
	// collect and return the properties object for this resource.
	UpdatedProperties() *map[string]interface{}
	// Syntactic sugar for `addOverride(path, undefined)`.
	AddDeletionOverride(path *string)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	//
	// This can be used for resources across stacks (or nested stack) boundaries
	// and the dependency will automatically be transferred to the relevant scope.
	AddDependency(target awscdk.CfnResource)
	// Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
	// Deprecated: use addDependency.
	AddDependsOn(target awscdk.CfnResource)
	// Add a value to the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	AddMetadata(key *string, value interface{})
	// Adds an override to the synthesized CloudFormation resource.
	//
	// To add a
	// property override, either use `addPropertyOverride` or prefix `path` with
	// "Properties." (i.e. `Properties.TopicName`).
	//
	// If the override is nested, separate each nested level using a dot (.) in the path parameter.
	// If there is an array as part of the nesting, specify the index in the path.
	//
	// To include a literal `.` in the property name, prefix with a `\`. In most
	// programming languages you will need to write this as `"\\."` because the
	// `\` itself will need to be escaped.
	//
	// For example,
	// “`typescript
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']);
	// cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE');
	// “`
	// would add the overrides
	// “`json
	// "Properties": {
	//   "GlobalSecondaryIndexes": [
	//     {
	//       "Projection": {
	//         "NonKeyAttributes": [ "myattribute" ]
	//         ...
	//       }
	//       ...
	//     },
	//     {
	//       "ProjectionType": "INCLUDE"
	//       ...
	//     },
	//   ]
	//   ...
	// }
	// “`
	//
	// The `value` argument to `addOverride` will not be processed or translated
	// in any way. Pass raw JSON values in here with the correct capitalization
	// for CloudFormation. If you pass CDK classes or structs, they will be
	// rendered with lowercased key names, and CloudFormation will reject the
	// template.
	AddOverride(path *string, value interface{})
	// Adds an override that deletes the value of a property from the resource definition.
	AddPropertyDeletionOverride(propertyPath *string)
	// Adds an override to a resource property.
	//
	// Syntactic sugar for `addOverride("Properties.<...>", value)`.
	AddPropertyOverride(propertyPath *string, value interface{})
	// Sets the deletion policy of the resource based on the removal policy specified.
	//
	// The Removal Policy controls what happens to this resource when it stops
	// being managed by CloudFormation, either because you've removed it from the
	// CDK application or because you've made a change that requires the resource
	// to be replaced.
	//
	// The resource can be deleted (`RemovalPolicy.DESTROY`), or left in your AWS
	// account for data recovery and cleanup later (`RemovalPolicy.RETAIN`). In some
	// cases, a snapshot can be taken of the resource prior to deletion
	// (`RemovalPolicy.SNAPSHOT`). A list of resources that support this policy
	// can be found in the following link:.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options
	//
	ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions)
	// Returns a token for an runtime attribute of this resource.
	//
	// Ideally, use generated attribute accessors (e.g. `resource.arn`), but this can be used for future compatibility
	// in case there is no generated attribute.
	GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference
	// Retrieve a value value from the CloudFormation Resource Metadata.
	// See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html
	//
	// Note that this is a different set of metadata from CDK node metadata; this
	// metadata ends up in the stack template under the resource, whereas CDK
	// node metadata ends up in the Cloud Assembly.
	//
	GetMetadata(key *string) interface{}
	// Examines the CloudFormation resource and discloses attributes.
	Inspect(inspector awscdk.TreeInspector)
	// Retrieves an array of resources this resource depends on.
	//
	// This assembles dependencies on resources across stacks (including nested stacks)
	// automatically.
	ObtainDependencies() *[]interface{}
	// Get a shallow copy of dependencies between this resource and other resources in the same stack.
	ObtainResourceDependencies() *[]awscdk.CfnResource
	// Overrides the auto-generated logical ID with a specific ID.
	OverrideLogicalId(newLogicalId *string)
	// Indicates that this resource no longer depends on another resource.
	//
	// This can be used for resources across stacks (including nested stacks)
	// and the dependency will automatically be removed from the relevant scope.
	RemoveDependency(target awscdk.CfnResource)
	RenderProperties(props *map[string]interface{}) *map[string]interface{}
	// Replaces one dependency with another.
	ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource)
	// Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
	//
	// Returns: `true` if the resource should be included or `false` is the resource
	// should be omitted.
	ShouldSynthesize() *bool
	// Returns a string representation of this construct.
	//
	// Returns: a string representation of this resource.
	ToString() *string
	ValidateProperties(_properties interface{})
}

Creates a static snapshot of your prompt that can be deployed to production.

For more information, see [Deploy prompts using Prompt management by creating versions](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-deploy.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"

cfnPromptVersion := awscdk.Aws_bedrock.NewCfnPromptVersion(this, jsii.String("MyCfnPromptVersion"), &CfnPromptVersionProps{
	PromptArn: jsii.String("promptArn"),

	// the properties below are optional
	Description: jsii.String("description"),
})

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html

func NewCfnPromptVersion added in v2.154.0

func NewCfnPromptVersion(scope constructs.Construct, id *string, props *CfnPromptVersionProps) CfnPromptVersion

type CfnPromptVersionProps added in v2.154.0

type CfnPromptVersionProps struct {
	// The Amazon Resource Name (ARN) of the version of the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html#cfn-bedrock-promptversion-promptarn
	//
	PromptArn *string `field:"required" json:"promptArn" yaml:"promptArn"`
	// The description of the prompt version.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html#cfn-bedrock-promptversion-description
	//
	Description *string `field:"optional" json:"description" yaml:"description"`
}

Properties for defining a `CfnPromptVersion`.

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"

cfnPromptVersionProps := &CfnPromptVersionProps{
	PromptArn: jsii.String("promptArn"),

	// the properties below are optional
	Description: jsii.String("description"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-promptversion.html

type CfnPromptVersion_PromptInferenceConfigurationProperty added in v2.154.0

type CfnPromptVersion_PromptInferenceConfigurationProperty struct {
	// Contains inference configurations for a text prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinferenceconfiguration.html#cfn-bedrock-promptversion-promptinferenceconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains inference configurations for the prompt.

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"

promptInferenceConfigurationProperty := &PromptInferenceConfigurationProperty{
	Text: &PromptModelInferenceConfigurationProperty{
		MaxTokens: jsii.Number(123),
		StopSequences: []*string{
			jsii.String("stopSequences"),
		},
		Temperature: jsii.Number(123),
		TopK: jsii.Number(123),
		TopP: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinferenceconfiguration.html

type CfnPromptVersion_PromptInputVariableProperty added in v2.154.0

type CfnPromptVersion_PromptInputVariableProperty struct {
	// The name of the variable.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinputvariable.html#cfn-bedrock-promptversion-promptinputvariable-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Contains information about a variable in the prompt.

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"

promptInputVariableProperty := &PromptInputVariableProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptinputvariable.html

type CfnPromptVersion_PromptModelInferenceConfigurationProperty added in v2.154.0

type CfnPromptVersion_PromptModelInferenceConfigurationProperty struct {
	// The maximum number of tokens to return in the response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"optional" json:"maxTokens" yaml:"maxTokens"`
	// A list of strings that define sequences after which the model will stop generating.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-stopsequences
	//
	StopSequences *[]*string `field:"optional" json:"stopSequences" yaml:"stopSequences"`
	// Controls the randomness of the response.
	//
	// Choose a lower value for more predictable outputs and a higher value for more surprising outputs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-temperature
	//
	Temperature *float64 `field:"optional" json:"temperature" yaml:"temperature"`
	// The number of most-likely candidates that the model considers for the next token during generation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-topk
	//
	TopK *float64 `field:"optional" json:"topK" yaml:"topK"`
	// The percentage of most-likely candidates that the model considers for the next token.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html#cfn-bedrock-promptversion-promptmodelinferenceconfiguration-topp
	//
	TopP *float64 `field:"optional" json:"topP" yaml:"topP"`
}

Contains inference configurations related to model inference for a prompt.

For more information, see [Inference parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html) .

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"

promptModelInferenceConfigurationProperty := &PromptModelInferenceConfigurationProperty{
	MaxTokens: jsii.Number(123),
	StopSequences: []*string{
		jsii.String("stopSequences"),
	},
	Temperature: jsii.Number(123),
	TopK: jsii.Number(123),
	TopP: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptmodelinferenceconfiguration.html

type CfnPromptVersion_PromptTemplateConfigurationProperty added in v2.154.0

type CfnPromptVersion_PromptTemplateConfigurationProperty struct {
	// Contains configurations for the text in a message for a prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-prompttemplateconfiguration.html#cfn-bedrock-promptversion-prompttemplateconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains the message for a prompt.

For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .

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"

promptTemplateConfigurationProperty := &PromptTemplateConfigurationProperty{
	Text: &TextPromptTemplateConfigurationProperty{
		Text: jsii.String("text"),

		// the properties below are optional
		InputVariables: []interface{}{
			&PromptInputVariableProperty{
				Name: jsii.String("name"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-prompttemplateconfiguration.html

type CfnPromptVersion_PromptVariantProperty added in v2.154.0

type CfnPromptVersion_PromptVariantProperty struct {
	// The name of the prompt variant.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of prompt template to use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-templatetype
	//
	TemplateType *string `field:"required" json:"templateType" yaml:"templateType"`
	// Contains inference configurations for the prompt variant.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-inferenceconfiguration
	//
	InferenceConfiguration interface{} `field:"optional" json:"inferenceConfiguration" yaml:"inferenceConfiguration"`
	// The unique identifier of the model with which to run inference on the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-modelid
	//
	ModelId *string `field:"optional" json:"modelId" yaml:"modelId"`
	// Contains configurations for the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html#cfn-bedrock-promptversion-promptvariant-templateconfiguration
	//
	TemplateConfiguration interface{} `field:"optional" json:"templateConfiguration" yaml:"templateConfiguration"`
}

Contains details about a variant of the prompt.

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"

promptVariantProperty := &PromptVariantProperty{
	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),
			TopK: jsii.Number(123),
			TopP: jsii.Number(123),
		},
	},
	ModelId: jsii.String("modelId"),
	TemplateConfiguration: &PromptTemplateConfigurationProperty{
		Text: &TextPromptTemplateConfigurationProperty{
			Text: jsii.String("text"),

			// the properties below are optional
			InputVariables: []interface{}{
				&PromptInputVariableProperty{
					Name: jsii.String("name"),
				},
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-promptvariant.html

type CfnPromptVersion_TextPromptTemplateConfigurationProperty added in v2.154.0

type CfnPromptVersion_TextPromptTemplateConfigurationProperty struct {
	// The message for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html#cfn-bedrock-promptversion-textprompttemplateconfiguration-text
	//
	Text *string `field:"required" json:"text" yaml:"text"`
	// An array of the variables in the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html#cfn-bedrock-promptversion-textprompttemplateconfiguration-inputvariables
	//
	InputVariables interface{} `field:"optional" json:"inputVariables" yaml:"inputVariables"`
}

Contains configurations for a text prompt template.

To include a variable, enclose a word in double curly braces as in `{{variable}}` .

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"

textPromptTemplateConfigurationProperty := &TextPromptTemplateConfigurationProperty{
	Text: jsii.String("text"),

	// the properties below are optional
	InputVariables: []interface{}{
		&PromptInputVariableProperty{
			Name: jsii.String("name"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-promptversion-textprompttemplateconfiguration.html

type CfnPrompt_PromptInferenceConfigurationProperty added in v2.154.0

type CfnPrompt_PromptInferenceConfigurationProperty struct {
	// Contains inference configurations for a text prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinferenceconfiguration.html#cfn-bedrock-prompt-promptinferenceconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains inference configurations for the prompt.

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"

promptInferenceConfigurationProperty := &PromptInferenceConfigurationProperty{
	Text: &PromptModelInferenceConfigurationProperty{
		MaxTokens: jsii.Number(123),
		StopSequences: []*string{
			jsii.String("stopSequences"),
		},
		Temperature: jsii.Number(123),
		TopK: jsii.Number(123),
		TopP: jsii.Number(123),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinferenceconfiguration.html

type CfnPrompt_PromptInputVariableProperty added in v2.154.0

type CfnPrompt_PromptInputVariableProperty struct {
	// The name of the variable.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinputvariable.html#cfn-bedrock-prompt-promptinputvariable-name
	//
	Name *string `field:"optional" json:"name" yaml:"name"`
}

Contains information about a variable in the prompt.

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"

promptInputVariableProperty := &PromptInputVariableProperty{
	Name: jsii.String("name"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptinputvariable.html

type CfnPrompt_PromptModelInferenceConfigurationProperty added in v2.154.0

type CfnPrompt_PromptModelInferenceConfigurationProperty struct {
	// The maximum number of tokens to return in the response.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-maxtokens
	//
	MaxTokens *float64 `field:"optional" json:"maxTokens" yaml:"maxTokens"`
	// A list of strings that define sequences after which the model will stop generating.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-stopsequences
	//
	StopSequences *[]*string `field:"optional" json:"stopSequences" yaml:"stopSequences"`
	// Controls the randomness of the response.
	//
	// Choose a lower value for more predictable outputs and a higher value for more surprising outputs.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-temperature
	//
	Temperature *float64 `field:"optional" json:"temperature" yaml:"temperature"`
	// The number of most-likely candidates that the model considers for the next token during generation.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-topk
	//
	TopK *float64 `field:"optional" json:"topK" yaml:"topK"`
	// The percentage of most-likely candidates that the model considers for the next token.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html#cfn-bedrock-prompt-promptmodelinferenceconfiguration-topp
	//
	TopP *float64 `field:"optional" json:"topP" yaml:"topP"`
}

Contains inference configurations related to model inference for a prompt.

For more information, see [Inference parameters](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-parameters.html) .

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"

promptModelInferenceConfigurationProperty := &PromptModelInferenceConfigurationProperty{
	MaxTokens: jsii.Number(123),
	StopSequences: []*string{
		jsii.String("stopSequences"),
	},
	Temperature: jsii.Number(123),
	TopK: jsii.Number(123),
	TopP: jsii.Number(123),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptmodelinferenceconfiguration.html

type CfnPrompt_PromptTemplateConfigurationProperty added in v2.154.0

type CfnPrompt_PromptTemplateConfigurationProperty struct {
	// Contains configurations for the text in a message for a prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-prompttemplateconfiguration.html#cfn-bedrock-prompt-prompttemplateconfiguration-text
	//
	Text interface{} `field:"required" json:"text" yaml:"text"`
}

Contains the message for a prompt.

For more information, see [Prompt management in Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management.html) .

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"

promptTemplateConfigurationProperty := &PromptTemplateConfigurationProperty{
	Text: &TextPromptTemplateConfigurationProperty{
		InputVariables: []interface{}{
			&PromptInputVariableProperty{
				Name: jsii.String("name"),
			},
		},
		Text: jsii.String("text"),
		TextS3Location: &TextS3LocationProperty{
			Bucket: jsii.String("bucket"),
			Key: jsii.String("key"),

			// the properties below are optional
			Version: jsii.String("version"),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-prompttemplateconfiguration.html

type CfnPrompt_PromptVariantProperty added in v2.154.0

type CfnPrompt_PromptVariantProperty struct {
	// The name of the prompt variant.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-name
	//
	Name *string `field:"required" json:"name" yaml:"name"`
	// The type of prompt template to use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-templatetype
	//
	TemplateType *string `field:"required" json:"templateType" yaml:"templateType"`
	// Contains inference configurations for the prompt variant.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-inferenceconfiguration
	//
	InferenceConfiguration interface{} `field:"optional" json:"inferenceConfiguration" yaml:"inferenceConfiguration"`
	// The unique identifier of the model with which to run inference on the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-modelid
	//
	ModelId *string `field:"optional" json:"modelId" yaml:"modelId"`
	// Contains configurations for the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html#cfn-bedrock-prompt-promptvariant-templateconfiguration
	//
	TemplateConfiguration interface{} `field:"optional" json:"templateConfiguration" yaml:"templateConfiguration"`
}

Contains details about a variant of the prompt.

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"

promptVariantProperty := &PromptVariantProperty{
	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),
			TopK: jsii.Number(123),
			TopP: jsii.Number(123),
		},
	},
	ModelId: jsii.String("modelId"),
	TemplateConfiguration: &PromptTemplateConfigurationProperty{
		Text: &TextPromptTemplateConfigurationProperty{
			InputVariables: []interface{}{
				&PromptInputVariableProperty{
					Name: jsii.String("name"),
				},
			},
			Text: jsii.String("text"),
			TextS3Location: &TextS3LocationProperty{
				Bucket: jsii.String("bucket"),
				Key: jsii.String("key"),

				// the properties below are optional
				Version: jsii.String("version"),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-promptvariant.html

type CfnPrompt_TextPromptTemplateConfigurationProperty added in v2.154.0

type CfnPrompt_TextPromptTemplateConfigurationProperty struct {
	// An array of the variables in the prompt template.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-inputvariables
	//
	InputVariables interface{} `field:"optional" json:"inputVariables" yaml:"inputVariables"`
	// The message for the prompt.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-text
	//
	Text *string `field:"optional" json:"text" yaml:"text"`
	// The Amazon S3 location of the prompt text.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html#cfn-bedrock-prompt-textprompttemplateconfiguration-texts3location
	//
	TextS3Location interface{} `field:"optional" json:"textS3Location" yaml:"textS3Location"`
}

Contains configurations for a text prompt template.

To include a variable, enclose a word in double curly braces as in `{{variable}}` .

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"

textPromptTemplateConfigurationProperty := &TextPromptTemplateConfigurationProperty{
	InputVariables: []interface{}{
		&PromptInputVariableProperty{
			Name: jsii.String("name"),
		},
	},
	Text: jsii.String("text"),
	TextS3Location: &TextS3LocationProperty{
		Bucket: jsii.String("bucket"),
		Key: jsii.String("key"),

		// the properties below are optional
		Version: jsii.String("version"),
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-textprompttemplateconfiguration.html

type CfnPrompt_TextS3LocationProperty added in v2.154.0

type CfnPrompt_TextS3LocationProperty struct {
	// The Amazon S3 bucket containing the prompt text.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-bucket
	//
	Bucket *string `field:"required" json:"bucket" yaml:"bucket"`
	// The object key for the Amazon S3 location.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-key
	//
	Key *string `field:"required" json:"key" yaml:"key"`
	// The version of the Amazon S3 location to use.
	// See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html#cfn-bedrock-prompt-texts3location-version
	//
	Version *string `field:"optional" json:"version" yaml:"version"`
}

The Amazon S3 location of the prompt text.

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"

textS3LocationProperty := &TextS3LocationProperty{
	Bucket: jsii.String("bucket"),
	Key: jsii.String("key"),

	// the properties below are optional
	Version: jsii.String("version"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-prompt-texts3location.html

type FoundationModel

type FoundationModel interface {
	IModel
	// The foundation model ARN.
	ModelArn() *string
	// The foundation model ID.
	//
	// Example:
	//   "amazon.titan-text-express-v1"
	//
	ModelId() *string
}

A Bedrock base foundation model.

Example:

import "github.com/aws/aws-cdk-go/awscdk"

model := bedrock.FoundationModel_FromFoundationModelId(this, jsii.String("Model"), bedrock.FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_EXPRESS_V1())

task := tasks.NewBedrockInvokeModel(this, jsii.String("Prompt Model"), &BedrockInvokeModelProps{
	Model: Model,
	Input: &BedrockInvokeModelInputProps{
		S3InputUri: sfn.JsonPath_StringAt(jsii.String("$.prompt")),
	},
	Output: &BedrockInvokeModelOutputProps{
		S3OutputUri: sfn.JsonPath_*StringAt(jsii.String("$.prompt")),
	},
})

See: https://docs.aws.amazon.com/bedrock/latest/userguide/models-supported.html

func FoundationModel_FromFoundationModelId

func FoundationModel_FromFoundationModelId(scope constructs.Construct, _id *string, foundationModelId FoundationModelIdentifier) FoundationModel

Construct a Bedrock base foundation model given the model identifier.

Returns: A Bedrock base foundation model. See: https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids-arns.html

type FoundationModelIdentifier

type FoundationModelIdentifier interface {
	// the model identifier.
	ModelId() *string
}

The model identifiers for the Bedrock base foundation models.

Example:

import "github.com/aws/aws-cdk-go/awscdk"

model := bedrock.FoundationModel_FromFoundationModelId(this, jsii.String("Model"), bedrock.FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_EXPRESS_V1())

task := tasks.NewBedrockInvokeModel(this, jsii.String("Prompt Model"), &BedrockInvokeModelProps{
	Model: Model,
	Input: &BedrockInvokeModelInputProps{
		S3InputUri: sfn.JsonPath_StringAt(jsii.String("$.prompt")),
	},
	Output: &BedrockInvokeModelOutputProps{
		S3OutputUri: sfn.JsonPath_*StringAt(jsii.String("$.prompt")),
	},
})

See: https://docs.aws.amazon.com/bedrock/latest/userguide/model-ids.html

func FoundationModelIdentifier_AI21_J2_GRANDE_INSTRUCT added in v2.134.0

func FoundationModelIdentifier_AI21_J2_GRANDE_INSTRUCT() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_J2_JAMBA_INSTRUCT_V1_0 added in v2.148.0

func FoundationModelIdentifier_AI21_J2_JAMBA_INSTRUCT_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_J2_JUMBO_INSTRUCT added in v2.134.0

func FoundationModelIdentifier_AI21_J2_JUMBO_INSTRUCT() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_J2_MID added in v2.134.0

func FoundationModelIdentifier_AI21_J2_MID() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_J2_ULTRA added in v2.134.0

func FoundationModelIdentifier_AI21_J2_ULTRA() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_MID_V1

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_MID_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_ULTRA_V1

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_ULTRA_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_ULTRA_V1_0_8K added in v2.148.0

func FoundationModelIdentifier_AI21_LABS_JURASSIC_2_ULTRA_V1_0_8K() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBEDDINGS_G1_TEXT_V1

func FoundationModelIdentifier_AMAZON_TITAN_EMBEDDINGS_G1_TEXT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_G1_TEXT_02 added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_G1_TEXT_02() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_IMAGE_V1_0 added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_IMAGE_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V1_2_8K added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V1_2_8K() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V2_0 added in v2.144.0

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V2_0() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V2_0_8K added in v2.148.0

func FoundationModelIdentifier_AMAZON_TITAN_EMBED_TEXT_V2_0_8K() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_G1_V1

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_G1_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_V1_0 added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_V2_0 added in v2.154.0

func FoundationModelIdentifier_AMAZON_TITAN_IMAGE_GENERATOR_V2_0() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_MULTIMODAL_EMBEDDINGS_G1_V1

func FoundationModelIdentifier_AMAZON_TITAN_MULTIMODAL_EMBEDDINGS_G1_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_EXPRESS_V1_0_8K added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_EXPRESS_V1_0_8K() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_EXPRESS_V1

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_EXPRESS_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_LITE_V1 added in v2.144.0

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_G1_LITE_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_LITE_V1 added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_LITE_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_LITE_V1_0_4K added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_LITE_V1_0_4K() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_PREMIER_V1 added in v2.144.0

func FoundationModelIdentifier_AMAZON_TITAN_TEXT_PREMIER_V1() FoundationModelIdentifier

func FoundationModelIdentifier_AMAZON_TITAN_TG1_LARGE added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_TG1_LARGE() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_5_SONNET_20240620_V1_0 added in v2.148.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_5_SONNET_20240620_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0 added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_200K added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_200K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_48K added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_HAIKU_20240307_V1_0_48K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_OPUS_20240229_V1_0 added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_OPUS_20240229_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0 added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_200K added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_200K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_28K added in v2.139.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_3_SONNET_20240229_V1_0_28K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_INSTANT_V1

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_INSTANT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_INSTANT_V1_2_100K added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_INSTANT_V1_2_100K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V1

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V1() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_0_100K added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_0_100K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_0_18K added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_0_18K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1_18K added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1_18K() FoundationModelIdentifier

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1_200K added in v2.134.0

func FoundationModelIdentifier_ANTHROPIC_CLAUDE_V2_1_200K() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_LIGHT_TEXT_V14_7_4K added in v2.134.0

func FoundationModelIdentifier_COHERE_COMMAND_LIGHT_TEXT_V14_7_4K() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_LIGHT_V14

func FoundationModelIdentifier_COHERE_COMMAND_LIGHT_V14() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_R_PLUS_V1 added in v2.144.0

func FoundationModelIdentifier_COHERE_COMMAND_R_PLUS_V1() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_R_V1 added in v2.144.0

func FoundationModelIdentifier_COHERE_COMMAND_R_V1() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_TEXT_V14_7_4K added in v2.134.0

func FoundationModelIdentifier_COHERE_COMMAND_TEXT_V14_7_4K() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_COMMAND_V14

func FoundationModelIdentifier_COHERE_COMMAND_V14() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_EMBED_ENGLISH_V3

func FoundationModelIdentifier_COHERE_EMBED_ENGLISH_V3() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_EMBED_ENGLISH_V3_0_512 added in v2.148.0

func FoundationModelIdentifier_COHERE_EMBED_ENGLISH_V3_0_512() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_EMBED_MULTILINGUAL_V3

func FoundationModelIdentifier_COHERE_EMBED_MULTILINGUAL_V3() FoundationModelIdentifier

func FoundationModelIdentifier_COHERE_EMBED_MULTILINGUAL_V3_0_512 added in v2.148.0

func FoundationModelIdentifier_COHERE_EMBED_MULTILINGUAL_V3_0_512() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_13B_CHAT_V1_0_4K added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_13B_CHAT_V1_0_4K() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_13B_V1 added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_13B_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_13B_V1_0_4K added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_13B_V1_0_4K() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_70B_CHAT_V1_0_4K added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_70B_CHAT_V1_0_4K() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_70B_V1 added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_70B_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_70B_V1_0_4K added in v2.134.0

func FoundationModelIdentifier_META_LLAMA_2_70B_V1_0_4K() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_CHAT_13B_V1

func FoundationModelIdentifier_META_LLAMA_2_CHAT_13B_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_2_CHAT_70B_V1

func FoundationModelIdentifier_META_LLAMA_2_CHAT_70B_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_3_1_405_INSTRUCT_V1 added in v2.151.0

func FoundationModelIdentifier_META_LLAMA_3_1_405_INSTRUCT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_3_1_70_INSTRUCT_V1 added in v2.151.0

func FoundationModelIdentifier_META_LLAMA_3_1_70_INSTRUCT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_3_1_8B_INSTRUCT_V1 added in v2.151.0

func FoundationModelIdentifier_META_LLAMA_3_1_8B_INSTRUCT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_3_70_INSTRUCT_V1 added in v2.144.0

func FoundationModelIdentifier_META_LLAMA_3_70_INSTRUCT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_META_LLAMA_3_8B_INSTRUCT_V1 added in v2.144.0

func FoundationModelIdentifier_META_LLAMA_3_8B_INSTRUCT_V1() FoundationModelIdentifier

func FoundationModelIdentifier_MISTRAL_LARGE_2_V0_1 added in v2.151.0

func FoundationModelIdentifier_MISTRAL_LARGE_2_V0_1() FoundationModelIdentifier

func FoundationModelIdentifier_MISTRAL_LARGE_V0_1 added in v2.144.0

func FoundationModelIdentifier_MISTRAL_LARGE_V0_1() FoundationModelIdentifier

func FoundationModelIdentifier_MISTRAL_MISTRAL_7B_INSTRUCT_V0_2 added in v2.134.0

func FoundationModelIdentifier_MISTRAL_MISTRAL_7B_INSTRUCT_V0_2() FoundationModelIdentifier

func FoundationModelIdentifier_MISTRAL_MIXTRAL_8X7B_INSTRUCT_V0_1 added in v2.134.0

func FoundationModelIdentifier_MISTRAL_MIXTRAL_8X7B_INSTRUCT_V0_1() FoundationModelIdentifier

func FoundationModelIdentifier_MISTRAL_SMALL_V0_1 added in v2.148.0

func FoundationModelIdentifier_MISTRAL_SMALL_V0_1() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_SD3_LARGE_V1_0 added in v2.156.0

func FoundationModelIdentifier_STABILITY_SD3_LARGE_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL added in v2.134.0

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V0 added in v2.130.0

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V0() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V1 added in v2.130.0

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V1() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V1_0 added in v2.134.0

func FoundationModelIdentifier_STABILITY_STABLE_DIFFUSION_XL_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_IMAGE_CORE_V1_0 added in v2.156.0

func FoundationModelIdentifier_STABILITY_STABLE_IMAGE_CORE_V1_0() FoundationModelIdentifier

func FoundationModelIdentifier_STABILITY_STABLE_IMAGE_ULTRA_V1_0 added in v2.156.0

func FoundationModelIdentifier_STABILITY_STABLE_IMAGE_ULTRA_V1_0() FoundationModelIdentifier

func NewFoundationModelIdentifier

func NewFoundationModelIdentifier(modelId *string) FoundationModelIdentifier

Constructor for foundation model identifier.

type IModel

Represents a Bedrock model.

The model could be a foundation model, a custom model, or a provisioned model.

func ProvisionedModel_FromProvisionedModelArn

func ProvisionedModel_FromProvisionedModelArn(_scope constructs.Construct, _id *string, provisionedModelArn *string) IModel

Import an provisioned model given an ARN.

type ProvisionedModel

type ProvisionedModel interface {
	IModel
	// The ARN of the provisioned model.
	ModelArn() *string
}

A Bedrock provisioned model.

Note: CloudFormation does not currently support creating Bedrock Provisioned Throughput resources outside of a custom resource. You can import provisioned models created by provisioning throughput in Bedrock outside the CDK or via a custom resource with {@link ProvisionedModel#fromProvisionedModelArn }.

Example:

import bedrock "github.com/aws/aws-cdk-go/awscdk"

bedrock.ProvisionedModel_FromProvisionedModelArn(this, jsii.String("Model"), jsii.String("arn:aws:bedrock:us-east-2:123456789012:provisioned-model/abc-123"))

See: https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html

Source Files

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL