{"id":29943333,"url":"https://github.com/sourcefuse/terraform-aws-arc-bedrock","last_synced_at":"2026-02-18T10:02:44.543Z","repository":{"id":280823525,"uuid":"942461327","full_name":"sourcefuse/terraform-aws-arc-bedrock","owner":"sourcefuse","description":"Terraform module for Bedrock","archived":false,"fork":false,"pushed_at":"2025-03-26T08:00:33.000Z","size":4475,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-08-01T05:55:58.213Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sourcefuse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-04T06:23:45.000Z","updated_at":"2025-07-11T10:12:08.000Z","dependencies_parsed_at":"2025-03-05T14:42:52.677Z","dependency_job_id":null,"html_url":"https://github.com/sourcefuse/terraform-aws-arc-bedrock","commit_stats":null,"previous_names":["sourcefuse/terraform-aws-arc-bedrock"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sourcefuse/terraform-aws-arc-bedrock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-bedrock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-bedrock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-bedrock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-bedrock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcefuse","download_url":"https://codeload.github.com/sourcefuse/terraform-aws-arc-bedrock/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcefuse%2Fterraform-aws-arc-bedrock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29575343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-18T08:38:15.585Z","status":"ssl_error","status_checked_at":"2026-02-18T08:38:14.917Z","response_time":162,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-03T02:15:01.949Z","updated_at":"2026-02-18T10:02:44.527Z","avatar_url":"https://github.com/sourcefuse.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Module Structure](./static/banner.png)\n# [terraform-aws-arc-bedrock](https://github.com/sourcefuse/terraform-aws-arc-bedrock)\n\n\u003ca href=\"https://github.com/sourcefuse/terraform-aws-arc-bedrock/releases/latest\"\u003e\u003cimg src=\"https://img.shields.io/github/release/sourcefuse/terraform-aws-arc-bedrock.svg?style=for-the-badge\" alt=\"Latest Release\"/\u003e\u003c/a\u003e \u003ca href=\"https://github.com/sourcefuse/terraform-aws-arc-bedrock/commits\"\u003e\u003cimg src=\"https://img.shields.io/github/last-commit/sourcefuse/terraform-aws-arc-bedrock.svg?style=for-the-badge\" alt=\"Last Updated\"/\u003e\u003c/a\u003e ![Terraform](https://img.shields.io/badge/terraform-%235835CC.svg?style=for-the-badge\u0026logo=terraform\u0026logoColor=white) ![GitHub Actions](https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white)\n\n[![Quality gate](https://sonarcloud.io/api/project_badges/quality_gate?project=sourcefuse_terraform-aws-arc-bedrock\u0026token=78b70860ffc10be72040ab50f0bdff0bd1626708)](https://sonarcloud.io/summary/new_code?id=sourcefuse_terraform-aws-arc-bedrock)\n\n[![Known Vulnerabilities](https://github.com/sourcefuse/terraform-aws-arc-bedrock/actions/workflows/snyk.yaml/badge.svg)](https://github.com/sourcefuse/terraform-aws-arc-bedrock/actions/workflows/snyk.yaml)\n\n## Overview  \nThis Terraform module provides an automated way to deploy and manage **AWS Bedrock Agents**, **Collaborators**, **Action Groups**, and associated **IAM Roles**. The module is designed to be flexible, reusable, and configurable to suit various use cases.  \n\n## Features  \n- **Bedrock Agent Creation**: Deploys an AWS Bedrock agent with configurable settings.  \n- **Collaborator Management**: Supports multiple collaborators with required IAM permissions.  \n- **Action Groups**: Enables defining multiple action groups for executing Lambda-based functions.  \n- **IAM Role Management**: Automatically provisions IAM roles with necessary policies for Bedrock resources.  \n\n## Module Components  \n\n### 1. Bedrock Agent  \n- Configurable name, foundation model, and instruction set.  \n- Supports enabling/disabling agent collaboration.  \n- Customizable session timeout settings.  \n\n### 2. Collaborators  \n- Allows defining multiple collaborators with their own permissions.  \n- IAM roles and policies created dynamically.  \n\n### 3. Action Groups  \n- Enables defining multiple action groups.  \n- Supports dynamic function schemas for action execution.  \n- Integrates AWS Lambda functions.  \n\n### 4. IAM Roles \u0026 Policies  \n- Automatically provisions IAM roles for agents and collaborators.  \n- Grants necessary permissions for Bedrock services.  \n\n## Usage  \n\n### Prerequisites\nBefore using this module, ensure you have the following:\n\n- AWS credentials configured.\n- Terraform installed.\n- A working knowledge of Terraform.\n\n## Getting Started\n\n1. **Define the Module**\n\nInitially, it's essential to define a Terraform module, which is organized as a distinct directory encompassing Terraform configuration files. Within this module directory, input variables and output values must be defined in the variables.tf and outputs.tf files, respectively. The following illustrates an example directory structure:\n\n\n```plaintext\nbedrock-agent/\n|-- main.tf\n|-- variables.tf\n|-- outputs.tf\n|-- locals.tf\n```\n\n\n2. **Define Input Variables**\n\nInside the `variables.tf` or in `*.tfvars` file, you should define values for the variables that the module requires.\n\n3. **Use the Module in Your Main Configuration**\nIn your main Terraform configuration file (e.g., main.tf), you can use the module. Specify the source of the module, and version, For Example\n\n```hcl\nmodule \"bedrock_agents\" {\n  source = \"sourcefuse/arc-bedrock/aws\"\n  version = \"0.0.1\"\n\n  bedrock_agent_config = {\n    create              = true\n    name                = \"arc-bedrock-agent\"\n    foundation_model    = \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n    instruction         = \"You are a customer support assistant. Answer user queries.\"\n    agent_collaboration = \"SUPERVISOR\"\n    prepare_agent       = false\n    description         = \"Supervisor agent\"\n  }\n  agent_collaborator = {\n    name                        = \"collab-1\"\n    collaborator_name           = \"Collaborator-One\"\n    foundation_model            = \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n    instruction                 = \"do what the supervisor is asking you to do\"\n    collaboration_instruction   = \"tell the other agent on what to do\"\n    alias_name                  = \"DocProcessor\"\n    description                 = \"Collaborator 1\"\n    relay_conversation_history  = \"TO_COLLABORATOR\"\n    prepare_agent               = true\n    idle_session_ttl_in_seconds = 600\n    action_groups               = local.action_groups\n  }\n\n  tags = module.tags.tags\n}\n```\n\n4. **Output Values**\n\nInside the `outputs.tf` file of the module, you can define output values that can be referenced in the main configuration. For example:\n\n```hcl\noutput \"agent_arn\" {\n  value       = module.bedrock_agent.agent_arn\n  description = \"Agent arn\"\n}\n\noutput \"agent_id\" {\n  value       = module.bedrock_agent.agent_id\n  description = \"Agent ID\"\n}\n\noutput \"collaborator_agent_id\" {\n  description = \"Agent ID created for collaborators.\"\n  value       = module.bedrock_agent.collaborator_agent_id\n}\n\noutput \"agent_role_arn\" {\n  value       = module.bedrock_agent.agent_role_arn\n  description = \"Agent Role arn\"\n}\n\n```\n\n5. **.tfvars**\n\nInside the `.tfvars` file of the module, you can provide desired values that can be referenced in the main configuration. For example:\n\nEdit the [locals.tf](./examples/bedrock_agent/locals.tf) file and provide desired values.  \n\n`collaborators` -  List of Collaborator Agents\n\n`action_groups` - Action groups for Collaborator Agents\n\n```hcl\nlocals {\n\n  collaborators = [\n    {\n      name                        = \"collab-2\"\n      supervisor_agent_id         = module.bedrock_agent.agent_id\n      collaborator_name           = \"Collaborator-Two\"\n      foundation_model            = \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n      instruction                 = \"do what the supervisor is asking you to do\"\n      collaboration_instruction   = \"tell the other agent on what to do\"\n      alias_name                  = \"TechSupport\"\n      description                 = \"Collaborator 2\"\n      relay_conversation_history  = \"TO_COLLABORATOR\"\n      prepare_agent               = true\n      idle_session_ttl_in_seconds = 600\n      action_groups               = local.action_groups\n    },\n    {\n      name                        = \"collab-3\"\n      supervisor_agent_id         = module.bedrock_agent.agent_id\n      collaborator_name           = \"Collaborator-Three\"\n      foundation_model            = \"anthropic.claude-3-5-sonnet-20241022-v2:0\"\n      instruction                 = \"do what the supervisor is asking you to do\"\n      collaboration_instruction   = \"tell the other agent on what to do\"\n      alias_name                  = \"TechSupport\"\n      description                 = \"Collaborator 3\"\n      relay_conversation_history  = \"TO_COLLABORATOR\"\n      prepare_agent               = true\n      idle_session_ttl_in_seconds = 600\n      action_groups               = local.action_groups\n    }\n  ]\n\n  action_groups = [{\n    name                       = \"singlerulegenerationagent-actiongroup\"\n    state                      = \"ENABLED\"\n    agent_version              = \"DRAFT\"\n    skip_resource_in_use_check = true\n    action_group_executor      = { lambda = \"arn:aws:lambda:us-east-1:884360309640:function:arc-debug-budgets-default\" }\n\n    function_schema = [\n      {\n        functions = [\n          {\n            name        = \"extract_general_props\"\n            description = \"Extracts general info properties based on the user prompt.\"\n            parameters = [\n              {\n                map_block_key = \"prompt\"\n                type          = \"string\"\n                description   = \"The user instruction/prompt to create or edit the rule.\"\n                required      = true\n              },\n              {\n                map_block_key = \"rule_context\"\n                type          = \"string\"\n                description   = \"The existing rule to be updated, if provided.\"\n                required      = false\n              }\n            ]\n          },\n          {\n            name        = \"extract_static_props\"\n            description = \"Extracts static properties based on the user prompt.\"\n            parameters = [\n              {\n                map_block_key = \"prompt\"\n                type          = \"string\"\n                description   = \"The user instruction/prompt to create or edit the rule.\"\n                required      = true\n              },\n              {\n                map_block_key = \"rule_context\"\n                type          = \"string\"\n                description   = \"The existing rule to be updated, if provided.\"\n                required      = false\n              }\n            ]\n          }\n        ]\n      }\n    ]\n  }]\n\n}\n```\n\n## First Time Usage\n***uncomment the backend block in [main.tf](./example/main.tf)***\n```shell\nterraform init -backend-config=config.dev.hcl\n```\n***If testing locally, `terraform init` should be fine***\n\nCreate a `dev` workspace\n```shell\nterraform workspace new dev\n```\n\nPlan Terraform\n```shell\nterraform plan -var-file dev.tfvars\n```\n\nApply Terraform\n```shell\nterraform apply -var-file dev.tfvars\n```\n\n## Production Setup\n```shell\nterraform init -backend-config=config.prod.hcl\n```\n\nCreate a `prod` workspace\n```shell\nterraform workspace new prod\n```\n\nPlan Terraform\n```shell\nterraform plan -var-file prod.tfvars\n```\n\nApply Terraform\n```shell\nterraform apply -var-file prod.tfvars  -parallelism=1\n```\n\n## Cleanup  \nDestroy Terraform\n```shell\nterraform destroy -var-file dev.tfvars -parallelism=1\n```\n\n## Module Usage\n\nTo see a full example, check out the [main.tf](https://github.com/sourcefuse/terraform-aws-arc-bedrock/blob/main/example/main.tf) file in the example folder.\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.3, \u003c 2.0.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 5.0, \u003c 6.0 |\n| \u003ca name=\"requirement_opensearch\"\u003e\u003c/a\u003e [opensearch](#requirement\\_opensearch) | 2.3.1 |\n| \u003ca name=\"requirement_time\"\u003e\u003c/a\u003e [time](#requirement\\_time) | 0.13.0 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 5.89.0 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_collaborators\"\u003e\u003c/a\u003e [collaborators](#module\\_collaborators) | ./modules/collaborator | n/a |\n| \u003ca name=\"module_knowledge_base\"\u003e\u003c/a\u003e [knowledge\\_base](#module\\_knowledge\\_base) | ./modules/knowledge-base | n/a |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_bedrockagent_agent.collaborator](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/bedrockagent_agent) | resource |\n| [aws_bedrockagent_agent.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/bedrockagent_agent) | resource |\n| [aws_bedrockagent_agent_alias.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/bedrockagent_agent_alias) | resource |\n| [aws_iam_role.collaborator](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy.collaborator](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_iam_role_policy.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_iam_policy_document.agent_permissions](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.agent_trust](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.collaborator_agent_permissions](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_partition.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/partition) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_agent_collaborator\"\u003e\u003c/a\u003e [agent\\_collaborator](#input\\_agent\\_collaborator) | Configuration object for a collaborator, including name, instructions, and settings. | \u003cpre\u003eobject({\u003cbr\u003e    name                        = string\u003cbr\u003e    supervisor_agent_id         = optional(string, null)\u003cbr\u003e    collaborator_name           = optional(string, null)\u003cbr\u003e    instruction                 = string\u003cbr\u003e    collaboration_instruction   = string\u003cbr\u003e    alias_name                  = string\u003cbr\u003e    foundation_model            = string\u003cbr\u003e    description                 = optional(string, \"\")\u003cbr\u003e    relay_conversation_history  = optional(string, \"TO_COLLABORATOR\")\u003cbr\u003e    prepare_agent               = optional(bool, true)\u003cbr\u003e    idle_session_ttl_in_seconds = optional(number, 500)\u003cbr\u003e\u003cbr\u003e    action_groups = optional(list(object({\u003cbr\u003e      name                       = string\u003cbr\u003e      state                      = string\u003cbr\u003e      agent_version              = string\u003cbr\u003e      skip_resource_in_use_check = optional(bool, true)\u003cbr\u003e      action_group_executor = object(\u003cbr\u003e        {\u003cbr\u003e          lambda = optional(object({\u003cbr\u003e            name           = string\u003cbr\u003e            add_permission = optional(bool, true)\u003cbr\u003e          }))\u003cbr\u003e          custom_control = optional(string, null)\u003cbr\u003e      })\u003cbr\u003e      function_schema = list(object({\u003cbr\u003e        functions = list(object({\u003cbr\u003e          name        = string\u003cbr\u003e          description = string\u003cbr\u003e          parameters = list(object({\u003cbr\u003e            map_block_key = string\u003cbr\u003e            type          = string\u003cbr\u003e            description   = string\u003cbr\u003e            required      = bool\u003cbr\u003e          }))\u003cbr\u003e        }))\u003cbr\u003e      }))\u003cbr\u003e\u003cbr\u003e    })), [])\u003cbr\u003e  })\u003c/pre\u003e | `null` | no |\n| \u003ca name=\"input_bedrock_agent_config\"\u003e\u003c/a\u003e [bedrock\\_agent\\_config](#input\\_bedrock\\_agent\\_config) | Configuration for the Amazon Bedrock Agent, including name, session TTL, foundation model, tags, instructions, collaboration settings, and preparation options. | \u003cpre\u003eobject({\u003cbr\u003e    create                      = optional(bool, false)\u003cbr\u003e    name                        = optional(string, null)\u003cbr\u003e    alias_name                  = optional(string, null)\u003cbr\u003e    alias_description           = optional(string, null)\u003cbr\u003e    idle_session_ttl_in_seconds = optional(number, 500)\u003cbr\u003e    foundation_model            = optional(string, null)\u003cbr\u003e    instruction                 = optional(string, null)\u003cbr\u003e    agent_collaboration         = optional(string, \"DISABLED\")\u003cbr\u003e    description                 = optional(string, null)\u003cbr\u003e    prepare_agent               = optional(bool, true)\u003cbr\u003e    role_arn                    = optional(string, null)\u003cbr\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr\u003e  \"create\": false\u003cbr\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_environment\"\u003e\u003c/a\u003e [environment](#input\\_environment) | Name of the environment, i.e. dev, stage, prod | `string` | n/a | yes |\n| \u003ca name=\"input_knowledge_base_config\"\u003e\u003c/a\u003e [knowledge\\_base\\_config](#input\\_knowledge\\_base\\_config) | Configuration for AWS Bedrock Agent Knowledge Base, including vector storage, embedding model, and OpenSearch integration. | \u003cpre\u003eobject({\u003cbr\u003e    create               = optional(bool, false)\u003cbr\u003e    name                 = string\u003cbr\u003e    role_arn             = optional(string, null)\u003cbr\u003e    agent_role_name      = optional(string, null)\u003cbr\u003e    foundation_model_arn = string\u003cbr\u003e    description          = optional(string, null)\u003cbr\u003e    agent_id             = optional(string, null)\u003cbr\u003e    instruction          = string\u003cbr\u003e    data_source_list = list(object({\u003cbr\u003e      type = optional(string, \"S3\")\u003cbr\u003e      s3_config = optional(object({\u003cbr\u003e        create             = optional(bool, false)\u003cbr\u003e        name               = string\u003cbr\u003e        inclusion_prefixes = optional(list(string), [])\u003cbr\u003e      }))\u003cbr\u003e    }))\u003cbr\u003e    data_storage_list = optional(list(object({\u003cbr\u003e      type = optional(string, \"S3\")\u003cbr\u003e      s3_config = optional(object({\u003cbr\u003e        create = optional(bool, false)\u003cbr\u003e        prefix = optional(string, \"\")\u003cbr\u003e        name   = string\u003cbr\u003e      }))\u003cbr\u003e    })), [])\u003cbr\u003e    embedding_model_configuration = object({\u003cbr\u003e      dimensions          = optional(number, 1024)\u003cbr\u003e      embedding_data_type = string\u003cbr\u003e    })\u003cbr\u003e    storage_configuration = object({\u003cbr\u003e      type = optional(string, \"OPENSEARCH_SERVERLESS\")\u003cbr\u003e      opensearch_serverless_configuration = object({\u003cbr\u003e        create                      = optional(bool, false)\u003cbr\u003e        name                        = optional(string, null)\u003cbr\u003e        collection_arn              = optional(string, null)\u003cbr\u003e        access_policy_rules         = optional(list(any), [])\u003cbr\u003e        data_lifecycle_policy_rules = optional(list(any), [])\u003cbr\u003e        index_config = object({\u003cbr\u003e          number_of_shards               = optional(string, \"2\")\u003cbr\u003e          number_of_replicas             = optional(string, \"0\")\u003cbr\u003e          index_knn                      = optional(bool, true)\u003cbr\u003e          index_knn_algo_param_ef_search = optional(string, \"512\")\u003cbr\u003e          mappings                       = optional(string, null)\u003cbr\u003e        })\u003cbr\u003e        vector_index_name = string\u003cbr\u003e        field_mapping = object({\u003cbr\u003e          vector_field   = string\u003cbr\u003e          text_field     = string\u003cbr\u003e          metadata_field = string\u003cbr\u003e        })\u003cbr\u003e      })\u003cbr\u003e    })\u003cbr\u003e  })\u003c/pre\u003e | \u003cpre\u003e{\u003cbr\u003e  \"create\": false,\u003cbr\u003e  \"data_source_list\": [],\u003cbr\u003e  \"data_storage_list\": [],\u003cbr\u003e  \"embedding_model_configuration\": null,\u003cbr\u003e  \"foundation_model_arn\": null,\u003cbr\u003e  \"instruction\": null,\u003cbr\u003e  \"name\": null,\u003cbr\u003e  \"storage_configuration\": null\u003cbr\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_namespace\"\u003e\u003c/a\u003e [namespace](#input\\_namespace) | Namespace of the project, i.e. arc | `string` | n/a | yes |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags for Bedrock resources | `map(string)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_agent_arn\"\u003e\u003c/a\u003e [agent\\_arn](#output\\_agent\\_arn) | Agent arn |\n| \u003ca name=\"output_agent_id\"\u003e\u003c/a\u003e [agent\\_id](#output\\_agent\\_id) | Agent ID |\n| \u003ca name=\"output_agent_role_arn\"\u003e\u003c/a\u003e [agent\\_role\\_arn](#output\\_agent\\_role\\_arn) | Agent Role arn |\n| \u003ca name=\"output_alias_arn\"\u003e\u003c/a\u003e [alias\\_arn](#output\\_alias\\_arn) | ARN of the alias |\n| \u003ca name=\"output_alias_id\"\u003e\u003c/a\u003e [alias\\_id](#output\\_alias\\_id) | Unique identifier of the alias. |\n| \u003ca name=\"output_collaborator_agent_id\"\u003e\u003c/a\u003e [collaborator\\_agent\\_id](#output\\_collaborator\\_agent\\_id) | Agent ID created for collaborators. |\n| \u003ca name=\"output_collaborator_role_arns\"\u003e\u003c/a\u003e [collaborator\\_role\\_arns](#output\\_collaborator\\_role\\_arns) | ARNs of the IAM roles created for collaborators. |\n| \u003ca name=\"output_opensearch_collection_endpoint\"\u003e\u003c/a\u003e [opensearch\\_collection\\_endpoint](#output\\_opensearch\\_collection\\_endpoint) | Opensearch Collection endpoint |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## Development\n\n### Prerequisites\n\n- [terraform](https://learn.hashicorp.com/terraform/getting-started/install#installing-terraform)\n- [terraform-docs](https://github.com/segmentio/terraform-docs)\n- [pre-commit](https://pre-commit.com/#install)\n- [golang](https://golang.org/doc/install#install)\n- [golint](https://github.com/golang/lint#installation)\n\n### Configurations\n\n- Configure pre-commit hooks\n\n```sh\npre-commit install\n```\n### Git commits\n\nwhile Contributing or doing git commit please specify the breaking change in your commit message whether its major,minor or patch\n\nFor Example\n\n```sh\ngit commit -m \"your commit message #major\"\n```\nBy specifying this , it will bump the version and if you dont specify this in your commit message then by default it will consider patch and will bump that accordingly\n\n### Tests\n\n- Tests are available in `test` directory\n- Configure the dependencies\n\n```sh\ncd test\ngo mod init github.com/sourcefuse/terraform-aws-arc-bedrock\ngo get github.com/gruntwork-io/terratest/modules/terraform\n```\n\n- Now execute the test\n\n```sh\ncd test/\ngo test\n```\n\n## Authors\n\nThis project is authored by:\n\n- SourceFuse ARC Team\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-bedrock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-bedrock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsourcefuse%2Fterraform-aws-arc-bedrock/lists"}