demo_solution/modules/repo_terraform.azurerm.private_endpoint/variables.tf (75 lines of code) (raw):
variable "name" {
type = string
description = "Specifies the Name of the Private Endpoint. Changing this forces a new resource to be created."
}
variable "resource_group_name" {
type = string
description = <<EOF
Specifies the Name of the Resource Group within which the Private Endpoint should exist.
Changing this forces a new resource to be created.
EOF
}
variable "location" {
type = string
description = "The supported Azure location where the resource exists. Changing this forces a new resource to be created."
default = null
}
variable "subnet_id" {
type = string
description = "The ID of the Subnet from which Private IP Addresses will be allocated for this Private Endpoint. Changing this forces a new resource to be created."
}
variable "private_service_connection" {
type = object({
is_manual_connection = optional(bool, false)
private_connection_resource_id = optional(string, null)
private_connection_resource_alias = optional(string, null)
subresource_names = optional(list(string), null)
request_message = optional(string, null)
})
description = <<EOF
A private_service_connection block supports the following:
`is_manual_connection` - Does the Private Endpoint require Manual Approval from the remote resource owner?
Changing this forces a new resource to be created.
NOTE:
If you are trying to connect the Private Endpoint to a remote resource without having the correct RBAC
permissions on the remote resource set this value to true.
`private_connection_resource_id` - (Optional) The ID of the Private Link Enabled Remote Resource which this
Private Endpoint should be connected to. Changing this forces a new resource to be created. For a web app or
function app slot, the parent web app should be used in this field instead of a reference to the slot itself.
`private_connection_resource_alias` - (Optional) The Service Alias of the Private Link Enabled Remote Resource which
this Private Endpoint should be connected to. Changing this forces a new resource to be created.
`subresource_names` - (Optional) A list of subresource names which the Private Endpoint is able to connect to.
subresource_names corresponds to group_id. Possible values are detailed in the product documentation in the Subresources
column. Changing this forces a new resource to be created.
`request_message` - (Optional) A message passed to the owner of the remote resource when the private endpoint attempts
to establish the connection to the remote resource. The request message can be a maximum of 140 characters in length.
Only valid if is_manual_connection is set to true.
EOF
default = {}
validation {
condition = (var.private_service_connection.private_connection_resource_id != null && var.private_service_connection.private_connection_resource_alias == null) || (var.private_service_connection.private_connection_resource_id == null && var.private_service_connection.private_connection_resource_alias != null)
error_message = "One of private_connection_resource_id or private_connection_resource_alias must be specified."
}
}
variable "private_dns_zone_group" {
type = object({
name = string
private_dns_zone_ids = list(string)
})
description = <<EOF
A private_dns_zone_group block supports the following::
`name` - Specifies the Name of the Private DNS Zone Group.
`private_dns_zone_ids` - Specifies the list of Private DNS Zones to include within the private_dns_zone_group.
EOF
default = null
}
variable "ip_configuration" {
type = object({
private_ip_address = string
subresource_name = optional(string, null)
member_name = optional(string, null)
})
description = <<EOF
An ip_configuration block supports the following:
`name` - (Required) Specifies the Name of the IP Configuration. Changing this forces a new resource to be created.
`private_ip_address` - (Required) Specifies the static IP address within the private endpoint's subnet to be used.
Changing this forces a new resource to be created.
`subresource_name` - Specifies the subresource this IP address applies to. subresource_names corresponds
to group_id. Changing this forces a new resource to be created.
`member_name` - Specifies the member name this IP address applies to. If it is not specified, it will use
the value of subresource_name. Changing this forces a new resource to be created.
EOF
default = null
}
variable "tags" {
type = map(string)
description = "A mapping of tags to assign to the resource."
default = {}
}