All Projects → hashicorp → terraform-provider-hcp

hashicorp / terraform-provider-hcp

Licence: MPL-2.0 license
Terraform provider for HashiCorp Cloud Platform.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to terraform-provider-hcp

Terraform Provider Azuread
Terraform provider for Azure Active Directory
Stars: ✭ 178 (+394.44%)
Mutual labels:  terraform-provider
Terraform Provider Cloudflare
Cloudflare Terraform Provider
Stars: ✭ 208 (+477.78%)
Mutual labels:  terraform-provider
Terraform Provider Vault
Terraform Vault provider
Stars: ✭ 244 (+577.78%)
Mutual labels:  terraform-provider
Terraform Provider Hcloud
Terraform provider for Hetzner Cloud
Stars: ✭ 138 (+283.33%)
Mutual labels:  terraform-provider
Terraform Provider Sops
A Terraform provider for reading Mozilla sops files
Stars: ✭ 206 (+472.22%)
Mutual labels:  terraform-provider
Terraform Provider Openstack
Terraform OpenStack provider
Stars: ✭ 225 (+525%)
Mutual labels:  terraform-provider
Terraform Provider Vultr
Terraform Vultr Provider
Stars: ✭ 172 (+377.78%)
Mutual labels:  terraform-provider
terraform-provider-mysql
Terraform MySQL provider – This Terraform provider is archived per our provider archiving process: https://terraform.io/docs/internals/archiving.html
Stars: ✭ 59 (+63.89%)
Mutual labels:  terraform-provider
Terraform Provider Ibm
Terraform on IBM provider https://cloud.ibm.com/docs/ibm-cloud-provider-for-terraform?topic=ibm-cloud-provider-for-terraform-getting-started
Stars: ✭ 210 (+483.33%)
Mutual labels:  terraform-provider
Terraform Provider Unifi
Terraform provider for Unifi 📡
Stars: ✭ 239 (+563.89%)
Mutual labels:  terraform-provider
Terraform Plugin Sdk
Terraform Plugin SDK enables building plugins (providers) to manage any service providers or custom in-house solutions
Stars: ✭ 201 (+458.33%)
Mutual labels:  terraform-provider
Terraform Provider Azurerm
Terraform provider for Azure Resource Manager
Stars: ✭ 3,007 (+8252.78%)
Mutual labels:  terraform-provider
Terraform Provider Keycloak
Terraform provider for Keycloak
Stars: ✭ 230 (+538.89%)
Mutual labels:  terraform-provider
Terraform Provider Sentry
Terraform provider for Sentry
Stars: ✭ 183 (+408.33%)
Mutual labels:  terraform-provider
Terraform Provider Auth0
Auth0 Terraform Provider
Stars: ✭ 252 (+600%)
Mutual labels:  terraform-provider
Terraform Provider Kubectl
Terraform provider to handle raw kubernetes manifest yaml files
Stars: ✭ 174 (+383.33%)
Mutual labels:  terraform-provider
Terraform Provider Datadog
Terraform Datadog provider
Stars: ✭ 213 (+491.67%)
Mutual labels:  terraform-provider
terraform-provider-external
Utility provider that exists to provide an interface between Terraform and external programs. Useful for integrating Terraform with a system for which a first-class provider does not exist.
Stars: ✭ 136 (+277.78%)
Mutual labels:  terraform-provider
terraform-provider-tsuru
Terraform provider for tsuru
Stars: ✭ 17 (-52.78%)
Mutual labels:  terraform-provider
Terraform Provider Virtualbox
VirtualBox provider for Terraform
Stars: ✭ 239 (+563.89%)
Mutual labels:  terraform-provider

HashiCorp Cloud Platform logo

HashiCorp Cloud Platform (HCP) Terraform Provider

Available in the Terraform Registry.

The HashiCorp Cloud Platform (HCP) Terraform Provider is a plugin for Terraform that allows for the full lifecycle management of HCP resources. This provider is maintained internally by the HashiCorp Cloud Services team.

Requirements

Using the Provider

See the HashiCorp Cloud Platform (HCP) Provider documentation to get started using the provider.

Contributing

See the contributing directory for more developer documentation.

Design

See the design for documents capturing certain key design decisions made for this provider as a platform.

Example

Below is a complex example that creates a HashiCorp Virtual Network (HVN), an HCP Consul cluster within that HVN, and peers the HVN to an AWS VPC.

// Configure the provider
provider "hcp" {}

provider "aws" {
  region = "us-west-2"
}

// Create a HashiCorp Virtual Network (HVN).
resource "hcp_hvn" "example" {
  hvn_id         = "hvn"
  cloud_provider = "aws"
  region         = "us-west-2"
  cidr_block     = "172.25.16.0/20"
}

// Create an HCP Consul cluster within the HVN.
resource "hcp_consul_cluster" "example" {
  hvn_id         = hcp_hvn.example.hvn_id
  cluster_id     = "consul-cluster"
  tier           = "development"
}

// If you have not already, create a VPC within your AWS account that will
// contain the workloads you want to connect to your HCP Consul cluster.
// Make sure the CIDR block of the peer VPC does not overlap with the CIDR
// of the HVN.
resource "aws_vpc" "peer" {
  cidr_block = "10.220.0.0/16"
}

// Create an HCP network peering to peer your HVN with your AWS VPC.
resource "hcp_aws_network_peering" "example" {
  peering_id          = "peer-id"
  hvn_id              = hcp_hvn.example.hvn_id
  peer_vpc_id         = aws_vpc.peer.id
  peer_account_id     = aws_vpc.peer.owner_id
  peer_vpc_region     = "us-west-2"
}

// Create an HVN route that targets your HCP network peering and matches your AWS VPC's CIDR block.
resource "hcp_hvn_route" "example" {
  hvn_link         = hcp_hvn.example.self_link
  hvn_route_id     = "peer-route-id"
  destination_cidr = aws_vpc.peer.cidr_block
  target_link      = hcp_aws_network_peering.example.self_link
}

// Accept the VPC peering within your AWS account.
resource "aws_vpc_peering_connection_accepter" "peer" {
  vpc_peering_connection_id = hcp_aws_network_peering.example.provider_peering_id
  auto_accept               = true
}

// Create a Vault cluster within the HVN.
resource "hcp_vault_cluster" "example" {
  cluster_id = "vault-cluster"
  hvn_id     = hcp_hvn.example.hvn_id
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].