Terraform module for creation Azure Private Endpoint
This module provisions Azure Private Endpoint, for instance, it is possible to create Private Endpoint for compliant Azure Services, create Private DNS Zone Group for that Private Endpoint and even associate additional ip address to Private Endpoint DNS A Record
Below is an example on how to create Private Endpoint for Storage Account's Data Lake File System Gen2 and associate it with certain Private DNS Zone:
data "azurerm_subnet" "example" {
name = "example_subnet"
virtual_network_name = "example_vnet"
resource_group_name = "example_rg"
}
data "azurerm_storage_account" "example" {
name = "example_storage_account"
resource_group = "example_rg"
}
data "azurerm_private_dns_zone" "example" {
name = "privatelink.dfs.core.windows.net"
resource_group_name = "example_rg"
}
module "private_endpoint" {
source = "data-platform-hq/private-endpoint/azurerm"
version = "~> 1.2"
private_endpoint_name = "pep-dlz-example-eastus-1"
location = "eastus"
resource_group = "example_rg"
subnet_id = data.azurerm_subnet.example.id
connection_resource_id = data.azurerm_storage_account.example.id
subresource_names = "dfs"
private_dns_zone_id = [data.azurerm_private_dns_zone.example.id]
}
Name | Version |
---|---|
terraform | >= 1.0.0 |
azurerm | >= 4.0.1 |
Name | Version |
---|---|
azurerm | >= 4.0.1 |
No modules.
Name | Type |
---|---|
azurerm_private_endpoint.this | resource |
Name | Description | Type | Default | Required |
---|---|---|---|---|
connection_resource_id | The ID of the Private Link Enabled Remote Resource which this Private Endpoint should be connected to. | string |
n/a | yes |
is_mutual_connection | Does the Private Endpoint require Manual Approval from the remote resource owner? | bool |
false |
no |
location | Azure location | string |
n/a | yes |
network_interface_name | Custom Network Interface name | string |
null |
no |
private_dns_zone_id | Specifies the set of Private DNS Zones to include within the Private DNS Zone Group | set(string) |
[] |
no |
private_endpoint_name | Private Endpoint name | string |
n/a | yes |
private_service_connection_name | Custom Service Connection name of Private Endpoints | string |
null |
no |
resource_group | Resource group where Private Endpoint would be created | string |
n/a | yes |
subnet_id | The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. | string |
n/a | yes |
subresource_names | A list of subresource names which the Private Endpoint is able to connect to. | string |
n/a | yes |
tags | tags for resources | map(string) |
{} |
no |
Name | Description |
---|---|
custom_dns_configs | Custom DNS Record properties. If a Private DNS Zone Group has been defined and is currently connected correctly this block will be empty |
id | Id of Private Endpoint |
name | Name of Private Endpoint |
private_dns_zone_configs | DNS Zone Group Record properties. If a Private DNS Zone Group has not been configured correctly the record_sets attributes will be empty. |
Apache 2 Licensed. For more information please see LICENSE