Skip to content

Bedrock knowledge base

Modules

Name Source Version
db_sg terraform-aws-modules/security-group/aws 5.3.0
label cloudposse/label/null 0.25.0
lambda_function terraform-aws-modules/lambda/aws 8.0.1
lambda_sg terraform-aws-modules/security-group/aws 5.3.0
rds terraform-aws-modules/rds-aurora/aws ~> 9.15
s3_bucket terraform-aws-modules/s3-bucket/aws ~> 5.1

Inputs

Name Description Type Default Required
attributes posse attributes list(string) n/a yes
environment Environment string n/a yes
knowledge_bases Map of knowledge base configurations with their data sources
map(object({
kb_name = optional(string)
table_name = string
embedding_model_id = optional(string, "cohere.embed-multilingual-v3")
data_sources = map(object({
type = string
s3_prefix = string
s3_bucket_name = optional(string) # Optional existing S3 bucket name
include_datasource_in_name = optional(bool, false)
chunking_strategy = optional(string, "FIXED_SIZE")
max_tokens = optional(number, 300)
overlap_percentage = optional(number, 20)
}))
}))
{} no
name The name of the RDS string n/a yes
namespace Namespace string n/a yes
rds RDS configuration object
object({
engine_version = optional(string, "17.4")
instance_class = optional(string, "db.serverless")
database_name = optional(string, "postgres")
master_username = optional(string, "root")
min_capacity = optional(number, 0)
max_capacity = optional(number, 8)
monitoring_interval = optional(number, 10)
publicly_accessible = optional(bool, false)
deletion_protection = optional(bool, false)
skip_final_snapshot = optional(bool, true)
apply_immediately = optional(bool, true)
enable_http_endpoint = optional(bool, true)
parameter_family = optional(string, "aurora-postgresql17")
enabled_cloudwatch_logs_exports = optional(list(string), ["postgresql"])
create_duration = optional(string, "2m")
})
{} no
rds_init RDS initialization configuration
object({
runtime = optional(string, "python3.13")
timeout = optional(number, 600)
memory_size = optional(number, 256)
architectures = optional(list(string), ["arm64"])
log_level = optional(string, "INFO")
})
{} no
vpc VPC configuration object
object({
vpc_id = string
private_subnet_filter = optional(string, "-private-")
database_subnet_filter = optional(string, "-db-")
create_vpc_endpoints = optional(bool, false)
})
n/a yes

Outputs

Name Description
knowledge_bases Map of created knowledge bases and their data sources
lambda_security_group_id Security Group ID for Lambda
postgresql_extension_lambda_arn PostgreSQL Extension and Table Creation Lambda ARN
postgresql_extension_lambda_name PostgreSQL Extension and Table Creation Lambda Function Name
s3_buckets Map of created S3 buckets for data sources