awsbedrock

package
v2.143.1 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 7 Imported by: 3

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 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 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 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 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)
	// 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"),
	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"`
	// 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"),
	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_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.
	// 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"`
	// While generating a response, the model determines the probability of the following token at each point of generation.
	//
	// The value that you set for `Top P` determines the number of most-likely candidates from which the model chooses the next token in the sequence. For example, if you set `topP` to 80, the model only selects the next token from the top 80% of the probability distribution of next tokens.
	// 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"`
}

Specifications about the inference parameters that were provided alongside the prompt.

These are specified in the [PromptOverrideConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptOverrideConfiguration.html) object that was set when the agent was created or updated. For more information, see [Inference parameters for foundation models](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) .
	// 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` .
	// 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 containing the 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"`
}

Contains information about the S3 object containing the resource.

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 a data source.
	DataDeletionPolicy() *string
	SetDataDeletionPolicy(val *string)
	// Contains details about how the data source is stored.
	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{
		S3Configuration: &S3DataSourceConfigurationProperty{
			BucketArn: jsii.String("bucketArn"),

			// the properties below are optional
			BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
			InclusionPrefixes: []*string{
				jsii.String("inclusionPrefixes"),
			},
		},
		Type: jsii.String("type"),
	},
	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),
			},
		},
	},
})

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 {
	// Contains details about how the data source is stored.
	// 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 a 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{
		S3Configuration: &S3DataSourceConfigurationProperty{
			BucketArn: jsii.String("bucketArn"),

			// the properties below are optional
			BucketOwnerAccountId: jsii.String("bucketOwnerAccountId"),
			InclusionPrefixes: []*string{
				jsii.String("inclusionPrefixes"),
			},
		},
		Type: jsii.String("type"),
	},
	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),
			},
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-bedrock-datasource.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` .
	// - `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"`
}

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),
	},
}

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

type CfnDataSource_DataSourceConfigurationProperty added in v2.139.0

type CfnDataSource_DataSourceConfigurationProperty struct {
	// Contains details about the configuration of the S3 object containing the 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:"required" json:"s3Configuration" yaml:"s3Configuration"`
	// The type of storage for the 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"`
}

Contains details about how a data source is stored.

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{
	S3Configuration: &S3DataSourceConfigurationProperty{
		BucketArn: jsii.String("bucketArn"),

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

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_S3DataSourceConfigurationProperty added in v2.139.0

type CfnDataSource_S3DataSourceConfigurationProperty struct {
	// The Amazon Resource Name (ARN) of the bucket that contains the data source.
	// 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 bucket account owner ID for 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 that define the object containing the data sources.
	//
	// 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"`
}

Contains information about the S3 configuration 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"

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_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_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"`
}

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),
		},
	},
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-datasource-vectoringestionconfiguration.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
	// List of failure recommendations.
	AttrFailureRecommendations() *[]*string
	// The Amazon Resource Name (ARN) of the guardrail.
	//
	// This a the primary identifier for the guardrail.
	AttrGuardrailArn() *string
	// The unique identifier of the guardrail.
	AttrGuardrailId() *string
	// Status of the guardrail.
	AttrStatus() *string
	// List of status reasons.
	AttrStatusReasons() *[]*string
	// The date and time at which the guardrail was last updated.
	AttrUpdatedAt() *string
	// The version of the guardrail.
	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
	// Content policy config for a guardrail.
	ContentPolicyConfig() interface{}
	SetContentPolicyConfig(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 used 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
	// Sensitive information policy config for a 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
	// Metadata that you can assign to a guardrail as key-value pairs.
	//
	// For more information, see the following resources:.
	Tags() *[]*awscdk.CfnTag
	SetTags(val *[]*awscdk.CfnTag)
	// Topic policy config for a 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{}
	// Word policy config for a 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 denied topics to disallow undesirable topics and content filters to block harmful content in model inputs and responses. 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"),
			},
		},
	},
	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"`
	// Content policy config for a 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"`
	// 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 used 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"`
	// Sensitive information policy config for a 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"`
	// Metadata that you can assign to a guardrail 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-guardrail.html#cfn-bedrock-guardrail-tags
	//
	Tags *[]*awscdk.CfnTag `field:"optional" json:"tags" yaml:"tags"`
	// Topic policy config for a 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"`
	// Word policy config for a 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"),
			},
		},
	},
	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 that was created.
	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.
	// 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 {
	// Strength for filters.
	// 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"`
	// Strength for filters.
	// 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"`
	// Type of filter in content policy.
	// 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"`
}

Content filter config in content 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"

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 {
	// List of content filter configs in content policy.
	// 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"`
}

Content policy config for a 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"

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_ManagedWordsConfigProperty added in v2.140.0

type CfnGuardrail_ManagedWordsConfigProperty struct {
	// Options for managed words.
	// 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"`
}

A managed words config.

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 {
	// Options for sensitive information action.
	// 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"`
	// The currently supported PII entities.
	// 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"`
}

Pii entity 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"

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 {
	// Options for sensitive information action.
	// 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 regex name.
	// 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 regex pattern.
	// 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 regex description.
	// 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"`
}

A regex 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"

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 {
	// List of entities.
	// 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"`
	// List of regex.
	// 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"`
}

Sensitive information policy config for a 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 {
	// Definition of topic in topic policy.
	// 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"`
	// Name of topic in topic policy.
	// 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"`
	// Type of topic in a policy.
	// 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"`
	// List of text examples.
	// 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"`
}

Topic config in topic 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"

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 {
	// List of topic configs in topic policy.
	// 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"`
}

Topic policy config for a 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"

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 {
	// The custom word text.
	// 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 custom word config.

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 config for the list of managed words.
	// 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"`
	// List of custom word configs.
	// 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"`
}

Word policy config for a 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"),
		},
	},
	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"),
		},
	},
	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_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"`
}

Contains details about the embeddings 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"

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

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"`
}

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"),
}

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-knowledgebase-vectorknowledgebaseconfiguration.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"

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

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"

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

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_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_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_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_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_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_TG1_LARGE added in v2.134.0

func FoundationModelIdentifier_AMAZON_TITAN_TG1_LARGE() 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_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_MULTILINGUAL_V3

func FoundationModelIdentifier_COHERE_EMBED_MULTILINGUAL_V3() 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_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_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 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