|
1 |
| -# terraform-equinix-labs |
2 |
| - |
3 |
| -<!-- TEMPLATE: Review all "TEMPLATE" comments and remove them when applied. --> |
4 |
| -<!-- TEMPLATE: replace "template" with the name of your project. The prefix "terraform-equinix-" informs the Terraform registry that this project is a Terraform module associated with the Equinix provider, preserve this prefix. --> |
5 |
| -[](https://github.com/equinix-labs/standards#about-uniform-standards) |
6 |
| -[](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/pre-commit.yaml) |
7 |
| -[](https://github.com/equinix-labs/terraform-equinix-template/actions/workflows/documentation.yaml) |
8 |
| - |
9 |
| -## Usage |
10 |
| - |
11 |
| -This project is experimental and supported by the user community. Equinix does not provide support for this project. |
12 |
| - |
13 |
| -Install Terraform using the [tfenv](https://github.com/tfutils/tfenv) utility. |
14 |
| - |
15 |
| -This project may be forked, cloned, or downloaded and modified as needed as the base in your integrations and deployments. |
16 |
| - |
17 |
| -This project may also be used as a [Terraform module](https://learn.hashicorp.com/collections/terraform/modules). |
18 |
| - |
19 |
| -To use this module in a new project, create a file such as: |
20 |
| - |
21 |
| -```hcl |
22 |
| -# main.tf |
23 |
| -terraform { |
24 |
| - required_providers { |
25 |
| - equinix = { |
26 |
| - source = "equinix/equinix" |
27 |
| - } |
28 |
| -} |
29 |
| -
|
30 |
| -module "example" { |
31 |
| - source = "github.com/equinix-labs/template" |
32 |
| - # TEMPLATE: replace "template" with the name of the repo after the terraform-equinix- prefix. |
33 |
| -
|
34 |
| - # Published modules can be sourced as: |
35 |
| - # source = "equinix-labs/template/equinix" |
36 |
| - # See https://www.terraform.io/docs/registry/modules/publish.html for details. |
37 |
| -
|
38 |
| - # version = "0.1.0" |
39 |
| -
|
40 |
| - # TEMPLATE: insert required variables here |
41 |
| -} |
42 |
| -``` |
43 |
| - |
44 |
| -Install [pre-commit](https://pre-commit.com/#install) with its prerequesites: [python](https://docs.python.org/3/using/index.html) and [pip](https://pip.pypa.io/en/stable/installation/). |
45 |
| - |
46 |
| -Configure pre-commit: `pre-commit install`. |
47 |
| - |
48 |
| -Install required packages: [tflint](https://github.com/terraform-linters/tflint), [tfsec](https://aquasecurity.github.io/tfsec/v1.0.11/getting-started/installation/), [shfmt](https://github.com/mvdan/sh), [shellcheck](https://github.com/koalaman/shellcheck), and [markdownlint](https://github.com/markdownlint/markdownlint). |
49 |
| - |
50 |
| -Run `terraform init -upgrade` and `terraform apply`. |
51 |
| - |
52 |
| -## Module Documentation |
53 |
| - |
54 |
| -The main README.md, the modules README.md and the examples README.md are populated by [terraform-docs worflow job](.github/workflows/documentation.yaml). The following sections are appended between the terraform-docs delimeters: Requiremenents, Providers, Modules, Resources, Inputs, and Outputs. |
55 |
| - |
56 |
| -## Examples |
57 |
| - |
58 |
| -To view examples for how you can leverage this module, please see the [examples](examples/) directory. |
| 1 | +# Terraform Equinix Labs Project |
59 | 2 |
|
60 | 3 | <!-- BEGIN_TF_DOCS -->
|
61 | 4 | ## Requirements
|
62 | 5 |
|
63 | 6 | | Name | Version |
|
64 | 7 | |------|---------|
|
65 | 8 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.3 |
|
66 |
| -| <a name="requirement_equinix"></a> [equinix](#requirement\_equinix) | >= 1.8.0 | |
67 | 9 |
|
68 | 10 | ## Providers
|
69 | 11 |
|
70 | 12 | No providers.
|
71 | 13 |
|
72 | 14 | ## Modules
|
73 | 15 |
|
74 |
| -No modules. |
| 16 | +| Name | Source | Version | |
| 17 | +|------|--------|---------| |
| 18 | +| <a name="module_deploy_eksa"></a> [deploy\_eksa](#module\_deploy\_eksa) | ./modules/eksa | n/a | |
| 19 | +| <a name="module_deploy_metal"></a> [deploy\_metal](#module\_deploy\_metal) | ./modules/metal | n/a | |
| 20 | +| <a name="module_project_setup"></a> [project\_setup](#module\_project\_setup) | ./modules/invite-from-csv | n/a | |
75 | 21 |
|
76 | 22 | ## Resources
|
77 | 23 |
|
78 | 24 | No resources.
|
79 | 25 |
|
80 | 26 | ## Inputs
|
81 | 27 |
|
82 |
| -No inputs. |
| 28 | +| Name | Description | Type | Default | Required | |
| 29 | +|------|-------------|------|---------|:--------:| |
| 30 | +| <a name="input_eksa_config"></a> [eksa\_config](#input\_eksa\_config) | Module configuration for EKSA module | <pre>object({<br> cluster_name = string<br> cp_device_count = number<br> worker_device_count = number<br> })</pre> | <pre>{<br> "cluster_name": "equinix-labs-cluster",<br> "cp_device_count": 3,<br> "worker_device_count": 3<br>}</pre> | no | |
| 31 | +| <a name="input_enable_eksa"></a> [enable\_eksa](#input\_enable\_eksa) | Enable EKSA module | `bool` | `false` | no | |
| 32 | +| <a name="input_enable_metal"></a> [enable\_metal](#input\_enable\_metal) | Enable Metal module | `bool` | `false` | no | |
| 33 | +| <a name="input_enable_workshop_setup"></a> [enable\_workshop\_setup](#input\_enable\_workshop\_setup) | Enable Workshop Setup module | `bool` | `false` | no | |
| 34 | +| <a name="input_metal_auth_token"></a> [metal\_auth\_token](#input\_metal\_auth\_token) | Equinix Metal user api token. | `string` | n/a | yes | |
| 35 | +| <a name="input_metal_config"></a> [metal\_config](#input\_metal\_config) | Configuration for Metal module | <pre>object({<br> device_count = number<br> os = string<br> billing_cycle = string<br> cluster_name = string<br> device_type = string<br> })</pre> | <pre>{<br> "billing_cycle": "hourly",<br> "cluster_name": "metal-cluster",<br> "device_count": 3,<br> "device_type": "m3.small.x86",<br> "os": "ubuntu_20_04"<br>}</pre> | no | |
| 36 | +| <a name="input_metal_metro"></a> [metal\_metro](#input\_metal\_metro) | Equinix Metal metro | `string` | `"sv"` | no | |
| 37 | +| <a name="input_metal_organization_id"></a> [metal\_organization\_id](#input\_metal\_organization\_id) | Equinix Metal organization id | `string` | n/a | yes | |
| 38 | +| <a name="input_metal_project_id"></a> [metal\_project\_id](#input\_metal\_project\_id) | Project ID | `string` | `""` | no | |
| 39 | +| <a name="input_metal_tags"></a> [metal\_tags](#input\_metal\_tags) | String list of common tags for Equinix resources | `list(string)` | <pre>[<br> "terraform",<br> "equinix-labs"<br>]</pre> | no | |
83 | 40 |
|
84 | 41 | ## Outputs
|
85 | 42 |
|
86 |
| -No outputs. |
| 43 | +| Name | Description | |
| 44 | +|------|-------------| |
| 45 | +| <a name="output_deploy_eksa_outputs"></a> [deploy\_eksa\_outputs](#output\_deploy\_eksa\_outputs) | Outputs of the Deploy EKSA module | |
| 46 | +| <a name="output_deploy_metal_outputs"></a> [deploy\_metal\_outputs](#output\_deploy\_metal\_outputs) | Outputs of the Deploy Metal module | |
| 47 | +| <a name="output_project_setup_outputs"></a> [project\_setup\_outputs](#output\_project\_setup\_outputs) | Outputs of the Project Setup module | |
87 | 48 | <!-- END_TF_DOCS -->
|
88 |
| -## Contributing |
89 |
| - |
90 |
| -If you would like to contribute to this module, see [CONTRIBUTING](CONTRIBUTING.md) page. |
91 |
| - |
92 |
| -## License |
93 |
| - |
94 |
| -Apache License, Version 2.0. See [LICENSE](LICENSE). |
95 |
| -<!-- TEMPLATE: Expand this section with any additional information or requirements. --> |
0 commit comments