{"id":15685358,"url":"https://github.com/joatmon08/terraform-aws-hcp","last_synced_at":"2025-04-28T16:24:48.476Z","repository":{"id":112737224,"uuid":"292392292","full_name":"joatmon08/terraform-aws-hcp","owner":"joatmon08","description":"Terraform Module for Configuring AWS Components for HashiCorp Cloud Platform","archived":false,"fork":false,"pushed_at":"2024-02-22T16:01:25.000Z","size":90,"stargazers_count":9,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T11:11:56.691Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/joatmon08/hcp/aws/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joatmon08.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2020-09-02T20:53:10.000Z","updated_at":"2024-01-31T23:28:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"da8ffe26-4653-4ba9-bd41-5e38d1fe7775","html_url":"https://github.com/joatmon08/terraform-aws-hcp","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joatmon08%2Fterraform-aws-hcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joatmon08%2Fterraform-aws-hcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joatmon08%2Fterraform-aws-hcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joatmon08%2Fterraform-aws-hcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joatmon08","download_url":"https://codeload.github.com/joatmon08/terraform-aws-hcp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251343812,"owners_count":21574432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":"2024-10-03T17:24:57.067Z","updated_at":"2025-04-28T16:24:48.460Z","avatar_url":"https://github.com/joatmon08.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Module for AWS and HashiCorp Cloud Platform\n\nThis module configures the following components for HCP:\n\n- HashiCorp Virtual Network (HVN)\n- Routing tables and peering connection between an AWS VPC and HVN\n- (Optional) HashiCorp Cloud Platform (HCP) Consul cluster (development tier)\n- (Optional) Security groups rules to allow HCP Consul on AWS\n- (Optional) HashiCorp Cloud Platform (HCP) Vault cluster (development tier)\n\n## Prerequisites\n\nYou must have access to [HashiCorp Cloud Platform (HCP)](https://www.hashicorp.com/cloud-platform/).\nCreate an HCP [service principal](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/guides/auth)\nbefore using the [HCP Provider for Terraform](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs).\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e=1.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 5.22 |\n| \u003ca name=\"requirement_hcp\"\u003e\u003c/a\u003e [hcp](#requirement\\_hcp) | \u003e= 0.75 |\n| \u003ca name=\"requirement_random\"\u003e\u003c/a\u003e [random](#requirement\\_random) | \u003e= 3.5 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 5.22.0 |\n| \u003ca name=\"provider_hcp\"\u003e\u003c/a\u003e [hcp](#provider\\_hcp) | 0.75.0 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | 3.5.1 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_ec2_transit_gateway_vpc_attachment_accepter.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ec2_transit_gateway_vpc_attachment_accepter) | resource |\n| [aws_ram_principal_association.transit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_principal_association) | resource |\n| [aws_ram_resource_association.transit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_association) | resource |\n| [aws_ram_resource_share.transit](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ram_resource_share) | resource |\n| [aws_route.hvn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/route) | resource |\n| [aws_security_group_rule.hcp_consul](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_security_group_rule.hcp_consul_clients](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group_rule) | resource |\n| [aws_vpc_peering_connection_accepter.hvn](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc_peering_connection_accepter) | resource |\n| [hcp_aws_network_peering.peer](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/aws_network_peering) | resource |\n| [hcp_aws_transit_gateway_attachment.transit](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/aws_transit_gateway_attachment) | resource |\n| [hcp_boundary_cluster.boundary](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/boundary_cluster) | resource |\n| [hcp_consul_cluster.consul](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/consul_cluster) | resource |\n| [hcp_hvn.hvn](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/hvn) | resource |\n| [hcp_hvn_route.hvn](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/hvn_route) | resource |\n| [hcp_vault_cluster.vault](https://registry.terraform.io/providers/hashicorp/hcp/latest/docs/resources/vault_cluster) | resource |\n| [random_password.boundary](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/password) | resource |\n| [random_pet.boundary](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/pet) | resource |\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_datadog_api_key\"\u003e\u003c/a\u003e [datadog\\_api\\_key](#input\\_datadog\\_api\\_key) | Datadog API key for metrics and audit logs | `string` | `null` | no |\n| \u003ca name=\"input_datadog_region\"\u003e\u003c/a\u003e [datadog\\_region](#input\\_datadog\\_region) | Datadog API key for metrics and audit logs | `string` | `null` | no |\n| \u003ca name=\"input_hcp_boundary_name\"\u003e\u003c/a\u003e [hcp\\_boundary\\_name](#input\\_hcp\\_boundary\\_name) | Name for HCP Boundary cluster. If left as an empty string, a cluster will not be created. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_boundary_tier\"\u003e\u003c/a\u003e [hcp\\_boundary\\_tier](#input\\_hcp\\_boundary\\_tier) | HCP Boundary Tier | `string` | `\"Standard\"` | no |\n| \u003ca name=\"input_hcp_consul_datacenter\"\u003e\u003c/a\u003e [hcp\\_consul\\_datacenter](#input\\_hcp\\_consul\\_datacenter) | Datacenter for HCP Consul cluster. If undefined, uses `hcp_consul_name`. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_consul_name\"\u003e\u003c/a\u003e [hcp\\_consul\\_name](#input\\_hcp\\_consul\\_name) | Name for HCP Consul cluster. If left as an empty string, a cluster will not be created. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_consul_peering\"\u003e\u003c/a\u003e [hcp\\_consul\\_peering](#input\\_hcp\\_consul\\_peering) | Enable peering of HCP Consul clusters | `bool` | `false` | no |\n| \u003ca name=\"input_hcp_consul_primary_link\"\u003e\u003c/a\u003e [hcp\\_consul\\_primary\\_link](#input\\_hcp\\_consul\\_primary\\_link) | `self_link` of the HCP Consul primary cluster for federation | `string` | `null` | no |\n| \u003ca name=\"input_hcp_consul_public_endpoint\"\u003e\u003c/a\u003e [hcp\\_consul\\_public\\_endpoint](#input\\_hcp\\_consul\\_public\\_endpoint) | Enable public endpoint for HCP Consul cluster. | `bool` | `false` | no |\n| \u003ca name=\"input_hcp_consul_security_group_ids\"\u003e\u003c/a\u003e [hcp\\_consul\\_security\\_group\\_ids](#input\\_hcp\\_consul\\_security\\_group\\_ids) | Security Group IDs to allow HCP Consul. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_hcp_consul_tier\"\u003e\u003c/a\u003e [hcp\\_consul\\_tier](#input\\_hcp\\_consul\\_tier) | Tier for HCP Consul cluster. Must be `development`, `standard`, or `plus`. | `string` | `\"development\"` | no |\n| \u003ca name=\"input_hcp_consul_version\"\u003e\u003c/a\u003e [hcp\\_consul\\_version](#input\\_hcp\\_consul\\_version) | Minimum Consul version. Defaults to HCP recommendation. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_vault_name\"\u003e\u003c/a\u003e [hcp\\_vault\\_name](#input\\_hcp\\_vault\\_name) | Name for HCP Vault cluster. If left as an empty string, a cluster will not be created. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_vault_paths_filter\"\u003e\u003c/a\u003e [hcp\\_vault\\_paths\\_filter](#input\\_hcp\\_vault\\_paths\\_filter) | Path filter for HCP Vault performance replication. | `list(string)` | `null` | no |\n| \u003ca name=\"input_hcp_vault_primary_link\"\u003e\u003c/a\u003e [hcp\\_vault\\_primary\\_link](#input\\_hcp\\_vault\\_primary\\_link) | `self_link` of the HCP Vault primary cluster for performance replication. | `string` | `null` | no |\n| \u003ca name=\"input_hcp_vault_public_endpoint\"\u003e\u003c/a\u003e [hcp\\_vault\\_public\\_endpoint](#input\\_hcp\\_vault\\_public\\_endpoint) | Enable public endpoint for HCP Vault cluster. | `bool` | `false` | no |\n| \u003ca name=\"input_hcp_vault_tier\"\u003e\u003c/a\u003e [hcp\\_vault\\_tier](#input\\_hcp\\_vault\\_tier) | Tier for HCP Vault cluster. See [pricing information](https://cloud.hashicorp.com/pricing/vault?_ga=2.162839740.1812223219.1631540747-2080033703.1609969902) | `string` | `\"dev\"` | no |\n| \u003ca name=\"input_hcp_vault_version\"\u003e\u003c/a\u003e [hcp\\_vault\\_version](#input\\_hcp\\_vault\\_version) | Minimum Vault version. Defaults to HCP recommendation. | `string` | `null` | no |\n| \u003ca name=\"input_hvn_cidr_block\"\u003e\u003c/a\u003e [hvn\\_cidr\\_block](#input\\_hvn\\_cidr\\_block) | CIDR Block of HashiCorp Virtual Network. Cannot overlap with `vpc_cidr_block`. | `string` | n/a | yes |\n| \u003ca name=\"input_hvn_name\"\u003e\u003c/a\u003e [hvn\\_name](#input\\_hvn\\_name) | Name of HashiCorp Virtual Network. | `string` | n/a | yes |\n| \u003ca name=\"input_hvn_peer\"\u003e\u003c/a\u003e [hvn\\_peer](#input\\_hvn\\_peer) | Peer HVN to VPC. | `bool` | `false` | no |\n| \u003ca name=\"input_hvn_region\"\u003e\u003c/a\u003e [hvn\\_region](#input\\_hvn\\_region) | AWS region for HashiCorp Virtual Network. | `string` | n/a | yes |\n| \u003ca name=\"input_number_of_route_table_ids\"\u003e\u003c/a\u003e [number\\_of\\_route\\_table\\_ids](#input\\_number\\_of\\_route\\_table\\_ids) | Number of routing table ids. Works around GH-4149. | `number` | `0` | no |\n| \u003ca name=\"input_route_table_ids\"\u003e\u003c/a\u003e [route\\_table\\_ids](#input\\_route\\_table\\_ids) | List of routing table IDs to route to HVN peering connection. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags for AWS resources | `map(string)` | `{}` | no |\n| \u003ca name=\"input_transit_gateway_arn\"\u003e\u003c/a\u003e [transit\\_gateway\\_arn](#input\\_transit\\_gateway\\_arn) | Transit gateway ARN. | `string` | `\"\"` | no |\n| \u003ca name=\"input_transit_gateway_id\"\u003e\u003c/a\u003e [transit\\_gateway\\_id](#input\\_transit\\_gateway\\_id) | Transit gateway ID. | `string` | `\"\"` | no |\n| \u003ca name=\"input_use_transit_gateway\"\u003e\u003c/a\u003e [use\\_transit\\_gateway](#input\\_use\\_transit\\_gateway) | Use transit gateway for connecting HVN and VPC. | `bool` | `false` | no |\n| \u003ca name=\"input_vpc_cidr_block\"\u003e\u003c/a\u003e [vpc\\_cidr\\_block](#input\\_vpc\\_cidr\\_block) | CIDR Block of VPC. Cannot overlap with `hvn_cidr_block`. | `string` | `\"\"` | no |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | ID of VPC. | `string` | `\"\"` | no |\n| \u003ca name=\"input_vpc_owner_id\"\u003e\u003c/a\u003e [vpc\\_owner\\_id](#input\\_vpc\\_owner\\_id) | Owner ID of VPC. | `string` | `\"\"` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_boundary\"\u003e\u003c/a\u003e [boundary](#output\\_boundary) | HCP Boundary cluster attributes |\n| \u003ca name=\"output_consul\"\u003e\u003c/a\u003e [consul](#output\\_consul) | HCP Consul cluster attributes |\n| \u003ca name=\"output_hvn\"\u003e\u003c/a\u003e [hvn](#output\\_hvn) | HVN attributes |\n| \u003ca name=\"output_vault\"\u003e\u003c/a\u003e [vault](#output\\_vault) | HCP Vault cluster attributes |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoatmon08%2Fterraform-aws-hcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoatmon08%2Fterraform-aws-hcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoatmon08%2Fterraform-aws-hcp/lists"}