Skip to content

Commit

Permalink
fix: updated NGINX module readme files
Browse files Browse the repository at this point in the history
  • Loading branch information
kpdhulipala authored Apr 30, 2024
1 parent 1330ff2 commit ae12b31
Showing 1 changed file with 58 additions and 103 deletions.
161 changes: 58 additions & 103 deletions modules/nginx/README.md
Original file line number Diff line number Diff line change
@@ -1,77 +1,37 @@
# Equinix Network Edge NGINX device creation Terraform module
# Network Edge Virtual Device NGINX SubModule

[![Experimental](https://img.shields.io/badge/Stability-Experimental-red.svg)](https://github.com/equinix-labs/standards#about-uniform-standards)
[![terraform](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/integration.yaml/badge.svg)](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/integration.yaml)
The Network Edge Virtual Device NGINX Module will create NGINX devices on the Equinix
Network edge platform.

`terraform-equinix-network-edge-nginx` is a Terraform module that
utilizes[Terraform provider for Equinix][equinix_terraform_provider_url] to
create Network Edge NGINX device.
1. Single or Non HA device
2. HA devices
3. Cluster devices

This module creates a NGINX single device, HA pair and Cluster based on configuration.
Please refer to the nginx-* examples in this module's registry for more details on how to leverage the
submodule.

## Usage
<!-- Begin Module Docs (Do not edit contents) -->

This project is experimental and supported by the user
community. Equinix does not provide support for this project.
## Equinix Network Edge Developer Documentation

Install Terraform using the official guides at <https://learn.hashicorp.com/tutorials/terraform/install-cli>.
To see the documentation for the APIs that the Network Edge Terraform Provider is built on
and to learn how to procure your own Client_Id and Client_Secret follow the link below:
[Equinix Network Edge Developer Portal](https://developer.equinix.com/catalog/network-edgev1)
<!-- End Module Docs -->

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](https://learn.hashicorp.com/collections/terraform/modules).

To use this module in a new project, create a file such as:

```hcl
# 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`.

## Variables

See <https://registry.terraform.io/modules/equinix-labs/network-edge-device-nginx/equinix/latest?tab=inputs>
for a description of all variables.

## Examples

<!-- TEMPLATE: The following block has been generated by terraform-docs util: https://github.com/terraform-docs/terraform-docs -->
<!-- BEGIN_TF_DOCS -->

## Requirements

| Name | Version |
|------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
| <a name="requirement_equinix"></a> [equinix](#requirement\_equinix) | >= 1.34 |
| Name | Version |
|---------------------------------------------------------------------------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
| <a name="requirement_equinix"></a> [equinix](#requirement\_equinix) | >= 1.34 |

## Providers

| Name | Version |
|------|---------|
| Name | Version |
|---------------------------------------------------------------|---------|
| <a name="provider_equinix"></a> [equinix](#provider\_equinix) | >= 1.34 |

## Modules
Expand All @@ -80,54 +40,49 @@ No modules.

## Resources

| Name | Type |
|------|------|
| [equinix_network_device.cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/network_device) | resource |
| [equinix_network_device.non_cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/network_device) | resource |
| Name | Type |
|--------------------------------------------------------------------------------------------------------------------------------------------------|-------------|
| [equinix_network_device.cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/network_device) | resource |
| [equinix_network_device.non_cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/network_device) | resource |
| [equinix_network_device_platform.this](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/network_device_platform) | data source |
| [equinix_network_device_software.this](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/network_device_software) | data source |
| [equinix_network_device_type.this](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/network_device_type) | data source |
| [equinix_network_device_type.this](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/network_device_type) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_metro_code"></a> [metro\_code](#input\_metro\_code) | Device location metro code | `string` | n/a | yes |
| <a name="input_name"></a> [name](#input\_name) | Device name | `string` | n/a | yes |
| <a name="input_notifications"></a> [notifications](#input\_notifications) | List of email addresses that will receive device status notifications | `list(string)` | n/a | yes |
| <a name="input_platform"></a> [platform](#input\_platform) | Device platform flavor that determines number of CPU cores and memory | `string` | n/a | yes |
| <a name="input_software_package"></a> [software\_package](#input\_software\_package) | Device software package | `string` | n/a | yes |
| <a name="input_ssh_key"></a> [ssh\_key](#input\_ssh\_key) | SSH public key for a device | <pre>object({<br> userName = string<br> keyName = string<br> })</pre> | n/a | yes |
| <a name="input_term_length"></a> [term\_length](#input\_term\_length) | Term length in months | `number` | n/a | yes |
| <a name="input_account_number"></a> [account\_number](#input\_account\_number) | Billing account number for a device | `string` | `0` | no |
| <a name="input_additional_bandwidth"></a> [additional\_bandwidth](#input\_additional\_bandwidth) | Additional internet bandwidth for a device | `number` | `0` | no |
| <a name="input_cluster"></a> [cluster](#input\_cluster) | cluster device attributes | `map(any)` | <pre>{<br> "enabled": false<br>}</pre> | no |
| <a name="input_hostname"></a> [hostname](#input\_hostname) | Device hostname | `string` | `""` | no |
| <a name="input_interface_count"></a> [interface\_count](#input\_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 |
| <a name="input_mgmt_acl_template_uuid"></a> [mgmt\_acl\_template\_uuid](#input\_mgmt\_acl\_template\_uuid) | Identifier of an management ACL template that will be applied on a device | `string` | `""` | no |
| <a name="input_secondary"></a> [secondary](#input\_secondary) | Secondary device attributes | `map(any)` | <pre>{<br> "enabled": false<br>}</pre> | no |
| Name | Description | Type | Default | Required |
|------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|-----------------------------------------|:--------:|
| <a name="input_metro_code"></a> [metro\_code](#input\_metro\_code) | Device location metro code | `string` | n/a | yes |
| <a name="input_name"></a> [name](#input\_name) | Device name | `string` | n/a | yes |
| <a name="input_notifications"></a> [notifications](#input\_notifications) | List of email addresses that will receive device status notifications | `list(string)` | n/a | yes |
| <a name="input_platform"></a> [platform](#input\_platform) | Device platform flavor that determines number of CPU cores and memory | `string` | n/a | yes |
| <a name="input_software_package"></a> [software\_package](#input\_software\_package) | Device software package | `string` | n/a | yes |
| <a name="input_ssh_key"></a> [ssh\_key](#input\_ssh\_key) | SSH public key for a device | <pre>object({<br> userName = string<br> keyName = string<br> })</pre> | n/a | yes |
| <a name="input_term_length"></a> [term\_length](#input\_term\_length) | Term length in months | `number` | n/a | yes |
| <a name="input_account_number"></a> [account\_number](#input\_account\_number) | Billing account number for a device | `string` | `0` | no |
| <a name="input_additional_bandwidth"></a> [additional\_bandwidth](#input\_additional\_bandwidth) | Additional internet bandwidth for a device | `number` | `0` | no |
| <a name="input_cluster"></a> [cluster](#input\_cluster) | cluster device attributes | `map(any)` | <pre>{<br> "enabled": false<br>}</pre> | no |
| <a name="input_hostname"></a> [hostname](#input\_hostname) | Device hostname | `string` | `""` | no |
| <a name="input_interface_count"></a> [interface\_count](#input\_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 |
| <a name="input_mgmt_acl_template_uuid"></a> [mgmt\_acl\_template\_uuid](#input\_mgmt\_acl\_template\_uuid) | Identifier of an management ACL template that will be applied on a device | `string` | `""` | no |
| <a name="input_secondary"></a> [secondary](#input\_secondary) | Secondary device attributes | `map(any)` | <pre>{<br> "enabled": false<br>}</pre> | no |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_account_number"></a> [account\_number](#output\_account\_number) | Device billing account number |
| <a name="output_cpu_count"></a> [cpu\_count](#output\_cpu\_count) | Device CPU cores count |
| <a name="output_ibx"></a> [ibx](#output\_ibx) | Device IBX center |
| <a name="output_id"></a> [id](#output\_id) | Device identifier |
| <a name="output_interfaces"></a> [interfaces](#output\_interfaces) | Device interfaces |
| <a name="output_license_status"></a> [license\_status](#output\_license\_status) | Device license status |
| <a name="output_memory"></a> [memory](#output\_memory) | Device memory amount |
| <a name="output_region"></a> [region](#output\_region) | Device region |
| <a name="output_secondary"></a> [secondary](#output\_secondary) | Secondary device attributes |
| <a name="output_software_version"></a> [software\_version](#output\_software\_version) | Device software version |
| <a name="output_ssh_ip_address"></a> [ssh\_ip\_address](#output\_ssh\_ip\_address) | Device SSH interface IP address |
| <a name="output_ssh_ip_fqdn"></a> [ssh\_ip\_fqdn](#output\_ssh\_ip\_fqdn) | Device SSH interface FQDN |
| <a name="output_status"></a> [status](#output\_status) | Device provisioning status |
<!-- END_TF_DOCS -->
| Name | Description |
|----------------------------------------------------------------------------------------|---------------------------------|
| <a name="output_account_number"></a> [account\_number](#output\_account\_number) | Device billing account number |
| <a name="output_cpu_count"></a> [cpu\_count](#output\_cpu\_count) | Device CPU cores count |
| <a name="output_ibx"></a> [ibx](#output\_ibx) | Device IBX center |
| <a name="output_id"></a> [id](#output\_id) | Device identifier |
| <a name="output_interfaces"></a> [interfaces](#output\_interfaces) | Device interfaces |
| <a name="output_license_status"></a> [license\_status](#output\_license\_status) | Device license status |
| <a name="output_memory"></a> [memory](#output\_memory) | Device memory amount |
| <a name="output_region"></a> [region](#output\_region) | Device region |
| <a name="output_secondary"></a> [secondary](#output\_secondary) | Secondary device attributes |
| <a name="output_software_version"></a> [software\_version](#output\_software\_version) | Device software version |
| <a name="output_ssh_ip_address"></a> [ssh\_ip\_address](#output\_ssh\_ip\_address) | Device SSH interface IP address |
| <a name="output_ssh_ip_fqdn"></a> [ssh\_ip\_fqdn](#output\_ssh\_ip\_fqdn) | Device SSH interface FQDN |
| <a name="output_status"></a> [status](#output\_status) | Device provisioning status |

[equinix_network_device_data_source_url]: (https://registry.terraform.io/providersequinix/equinix/latest/docs/resources/equinix_network_device)
[equinix_network_device_type_data_source_url]: (https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_network_device_type)
[equinix_network_device_platform_data_source_url]: (https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_network_device_platform)
[equinix_network_device_software_data_source_url]: (https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_network_device_software)
[equinix_terraform_provider_url]: (https://registry.terraform.io/providers/equinix/equinix/latest)
<!-- END_TF_DOCS -->

0 comments on commit ae12b31

Please sign in to comment.