Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/resources/confluent_access_point.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,5 +152,10 @@ $ terraform import confluent_access_point.main env-abc123/ap-abc123

## Getting Started
The following end-to-end examples might help to get started with `confluent_access_point` resource:
* [egress-aws-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-aws-private-link): AWS Egress Private Link Gateway and Access Point
* [egress-azure-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-azure-private-link): Azure Egress Private Link Gateway and Access Point
* [ingress-aws-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/ingress-aws-private-link): AWS Ingress Private Link Gateway and Access Point
* [egress-gcp-private-service-connect](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-gcp-private-service-connect): GCP Egress Private Service Connect Gateway and Access Point
* [pni-aws](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/pni-aws): AWS Private Network Interface Gateway and Access Point
* [enterprise-pni-aws-kafka-rbac](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/enterprise-pni-aws-kafka-rbac): _Enterprise_ Kafka cluster on AWS that is accessible via Confluent Private Network Interface (PNI) with authorization using RBAC
* [freight-aws-kafka-rbac](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/freight-pni-aws-kafka-rbac): _Freight_ Kafka cluster on AWS that is accessible via Confluent Private Network Interface (PNI) with authorization using RBAC
5 changes: 5 additions & 0 deletions docs/resources/confluent_gateway.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,5 +77,10 @@ $ terraform import confluent_gateway.main env-abc123/gw-abc123

## Getting Started
The following end-to-end examples might help to get started with `confluent_gateway` resource:
* [egress-aws-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-aws-private-link): AWS Egress Private Link Gateway and Access Point
* [egress-azure-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-azure-private-link): Azure Egress Private Link Gateway and Access Point
* [ingress-aws-private-link](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/ingress-aws-private-link): AWS Ingress Private Link Gateway and Access Point
* [egress-gcp-private-service-connect](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/egress-gcp-private-service-connect): GCP Egress Private Service Connect Gateway and Access Point
* [pni-aws](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/networking/pni-aws): AWS Private Network Interface Gateway and Access Point
* [enterprise-pni-aws-kafka-rbac](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/enterprise-pni-aws-kafka-rbac): _Enterprise_ Kafka cluster on AWS that is accessible via Confluent Private Network Interface (PNI) with authorization using RBAC
* [freight-aws-kafka-rbac](https://github.com/confluentinc/terraform-provider-confluent/tree/master/examples/configurations/freight-pni-aws-kafka-rbac): _Freight_ Kafka cluster on AWS that is accessible via Confluent Private Network Interface (PNI) with authorization using RBAC
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
terraform {
required_providers {
confluent = {
source = "confluentinc/confluent"
version = "2.62.0"
}
}
}

provider "confluent" {
cloud_api_key = var.confluent_cloud_api_key
cloud_api_secret = var.confluent_cloud_api_secret
}

resource "confluent_environment" "staging" {
display_name = "Staging"

stream_governance {
package = "ESSENTIALS"
}
}

resource "confluent_gateway" "main" {
display_name = "aws-egress-private-link-gateway"
environment {
id = confluent_environment.staging.id
}
aws_egress_private_link_gateway {
region = var.region
}
}

resource "confluent_access_point" "main" {
display_name = "aws-egress-private-link-access-point"
environment {
id = confluent_environment.staging.id
}
gateway {
id = confluent_gateway.main.id
}
aws_egress_private_link_endpoint {
vpc_endpoint_service_name = var.vpc_endpoint_service_name
enable_high_availability = var.enable_high_availability
}
depends_on = [
confluent_gateway.main
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
output "gateway" {
description = "The AWS Egress Private Link Gateway"
value = confluent_gateway.main
}

output "access_point" {
description = "The AWS Egress Private Link Access Point"
value = confluent_access_point.main
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
variable "confluent_cloud_api_key" {
description = "Confluent Cloud API Key (also referred as Cloud API ID)"
type = string
}

variable "confluent_cloud_api_secret" {
description = "Confluent Cloud API Secret"
type = string
sensitive = true
}

variable "region" {
description = "The AWS region of the Gateway, for example, us-east-1"
type = string
}

variable "vpc_endpoint_service_name" {
description = "AWS VPC Endpoint Service Name, for example, com.amazonaws.vpce.us-west-2.vpce-svc-0d3be37e21708ecd3"
type = string
}

variable "enable_high_availability" {
description = "Whether the Access Point should be provisioned with high availability"
type = bool
default = false
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
terraform {
required_providers {
confluent = {
source = "confluentinc/confluent"
version = "2.62.0"
}
}
}

provider "confluent" {
cloud_api_key = var.confluent_cloud_api_key
cloud_api_secret = var.confluent_cloud_api_secret
}

resource "confluent_environment" "staging" {
display_name = "Staging"

stream_governance {
package = "ESSENTIALS"
}
}

resource "confluent_gateway" "main" {
display_name = "azure-egress-private-link-gateway"
environment {
id = confluent_environment.staging.id
}
azure_egress_private_link_gateway {
region = var.region
}
}

resource "confluent_access_point" "main" {
display_name = "azure-egress-private-link-access-point"
environment {
id = confluent_environment.staging.id
}
gateway {
id = confluent_gateway.main.id
}
azure_egress_private_link_endpoint {
private_link_service_resource_id = var.private_link_service_resource_id
private_link_subresource_name = var.private_link_subresource_name
}
depends_on = [
confluent_gateway.main
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
output "gateway" {
description = "The Azure Egress Private Link Gateway"
value = confluent_gateway.main
}

output "access_point" {
description = "The Azure Egress Private Link Access Point"
value = confluent_access_point.main
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
variable "confluent_cloud_api_key" {
description = "Confluent Cloud API Key (also referred as Cloud API ID)"
type = string
}

variable "confluent_cloud_api_secret" {
description = "Confluent Cloud API Secret"
type = string
sensitive = true
}

variable "region" {
description = "The Azure region of the Gateway, for example, eastus"
type = string
}

variable "private_link_service_resource_id" {
description = "Resource ID of the Azure Private Link service"
type = string
}

variable "private_link_subresource_name" {
description = "Name of the subresource for the Private Endpoint to connect to"
type = string
default = ""
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,6 @@ resource "confluent_access_point" "private-service-connect" {
}
depends_on = [
confluent_network.gcp-private-service-connect,
data.confluent_gateway
data.confluent_gateway.main
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
output "access_point" {
description = "The GCP Egress Private Service Connect Access Point"
value = confluent_access_point.private-service-connect
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
terraform {
required_providers {
confluent = {
source = "confluentinc/confluent"
version = "2.62.0"
}
}
}

provider "confluent" {
cloud_api_key = var.confluent_cloud_api_key
cloud_api_secret = var.confluent_cloud_api_secret
}

resource "confluent_environment" "staging" {
display_name = "Staging"

stream_governance {
package = "ESSENTIALS"
}
}

resource "confluent_gateway" "main" {
display_name = "aws-ingress-private-link-gateway"
environment {
id = confluent_environment.staging.id
}
aws_ingress_private_link_gateway {
region = var.region
}
}

resource "confluent_access_point" "main" {
display_name = "aws-ingress-private-link-access-point"
environment {
id = confluent_environment.staging.id
}
gateway {
id = confluent_gateway.main.id
}
aws_ingress_private_link_endpoint {
vpc_endpoint_id = var.vpc_endpoint_id
}
depends_on = [
confluent_gateway.main
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
output "gateway" {
description = "The AWS Ingress Private Link Gateway"
value = confluent_gateway.main
}

output "access_point" {
description = "The AWS Ingress Private Link Access Point"
value = confluent_access_point.main
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
variable "confluent_cloud_api_key" {
description = "Confluent Cloud API Key (also referred as Cloud API ID)"
type = string
}

variable "confluent_cloud_api_secret" {
description = "Confluent Cloud API Secret"
type = string
sensitive = true
}

variable "region" {
description = "The AWS region of the Ingress Private Link Gateway, for example, us-east-1"
type = string
}

variable "vpc_endpoint_id" {
description = "ID of a VPC Endpoint that will be connected to the VPC Endpoint service, for example, vpce-00000000000000000"
type = string
}
49 changes: 49 additions & 0 deletions examples/configurations/networking/pni-aws/main.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
terraform {
required_providers {
confluent = {
source = "confluentinc/confluent"
version = "2.62.0"
}
}
}

provider "confluent" {
cloud_api_key = var.confluent_cloud_api_key
cloud_api_secret = var.confluent_cloud_api_secret
}

resource "confluent_environment" "staging" {
display_name = "Staging"

stream_governance {
package = "ESSENTIALS"
}
}

resource "confluent_gateway" "main" {
display_name = "aws-private-network-interface-gateway"
environment {
id = confluent_environment.staging.id
}
aws_private_network_interface_gateway {
region = var.region
zones = var.availability_zone_ids
}
}

resource "confluent_access_point" "main" {
display_name = "aws-private-network-interface-access-point"
environment {
id = confluent_environment.staging.id
}
gateway {
id = confluent_gateway.main.id
}
aws_private_network_interface {
network_interfaces = var.network_interface_ids
account = var.aws_account_id
}
depends_on = [
confluent_gateway.main
]
}
9 changes: 9 additions & 0 deletions examples/configurations/networking/pni-aws/outputs.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
output "gateway" {
description = "The AWS Private Network Interface Gateway"
value = confluent_gateway.main
}

output "access_point" {
description = "The AWS Private Network Interface Access Point"
value = confluent_access_point.main
}
30 changes: 30 additions & 0 deletions examples/configurations/networking/pni-aws/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
variable "confluent_cloud_api_key" {
description = "Confluent Cloud API Key (also referred as Cloud API ID)"
type = string
}

variable "confluent_cloud_api_secret" {
description = "Confluent Cloud API Secret"
type = string
sensitive = true
}

variable "region" {
description = "The AWS region of the Private Network Interface Gateway, for example, us-east-1"
type = string
}

variable "availability_zone_ids" {
description = "The AWS availability zone IDs for the Private Network Interface Gateway, for example, [\"use1-az1\", \"use1-az2\", \"use1-az4\"]"
type = list(string)
}

variable "network_interface_ids" {
description = "List of the IDs of the Elastic Network Interfaces"
type = list(string)
}

variable "aws_account_id" {
description = "The AWS account ID associated with the ENIs, for example, 000000000000"
type = string
}