terraform-equinix-network-edge-nginx
is a Terraform module that
utilizesTerraform provider for Equinix to
create Network Edge NGINX device.
This module creates a NGINX single device, HA pair and Cluster based on configuration.
This project is experimental and supported by the user community. Equinix does not provide support for this project.
Install Terraform using the official guides at https://learn.hashicorp.com/tutorials/terraform/install-cli.
This project may be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments.
This project may also be used as a Terraform module.
To use this module in a new project, create a file such as:
# main.tf
provider "equinix" {
client_id = var.equinix_client_id
client_secret = var.equinix_client_secret
}
module "nginx-single" {
source = "equinix-labs/network-edge-device-nginx/equinix"
name = "terraform-test-NGINX"
hostname = "terraform-nginx"
metro_code = "AT"
account_number = "123456"
platform = "small"
software_package = "STD"
term_length = 1
notifications = ["[email protected]"]
additional_bandwidth = 50
mgmt_acl_template_uuid = equinix_network_acl_template.nginx-pri.id
ssh_key = {
userName = "johndoe"
keyName = equinix_network_ssh_key.johndoe.name
}
}
Run terraform init -upgrade
and terraform apply
.
Name | Version |
---|---|
terraform | >= 0.13 |
equinix | ~> 1.14 |
Name | Version |
---|---|
equinix | ~> 1.14 |
No modules.
Name | Type |
---|---|
equinix_network_device.cluster | resource |
equinix_network_device.non_cluster | resource |
equinix_network_device_platform.this | data source |
equinix_network_device_software.this | data source |
equinix_network_device_type.this | data source |
Name | Description | Type | Default | Required |
---|---|---|---|---|
metro_code | Device location metro code | string |
n/a | yes |
name | Device name | string |
n/a | yes |
notifications | List of email addresses that will receive device status notifications | list(string) |
n/a | yes |
platform | Device platform flavor that determines number of CPU cores and memory | string |
n/a | yes |
software_package | Device software package | string |
n/a | yes |
ssh_key | SSH public key for a device | object({ |
n/a | yes |
term_length | Term length in months | number |
n/a | yes |
account_number | Billing account number for a device | string |
0 |
no |
additional_bandwidth | Additional internet bandwidth for a device | number |
0 |
no |
cluster | cluster device attributes | map(any) |
{ |
no |
hostname | Device hostname | string |
"" |
no |
interface_count | Number of network interfaces on a device. If not specified, default number for a given device type will be used. | number |
10 |
no |
mgmt_acl_template_uuid | Identifier of an management ACL template that will be applied on a device | string |
"" |
no |
secondary | Secondary device attributes | map(any) |
{ |
no |
Name | Description |
---|---|
account_number | Device billing account number |
cpu_count | Device CPU cores count |
ibx | Device IBX center |
id | Device identifier |
interfaces | Device interfaces |
license_status | Device license status |
memory | Device memory amount |
region | Device region |
secondary | Secondary device attributes |
software_version | Device software version |
ssh_ip_address | Device SSH interface IP address |
ssh_ip_fqdn | Device SSH interface FQDN |
status | Device provisioning status |