Skip to content

Commit

Permalink
feat: add fortinet firewall module README files
Browse files Browse the repository at this point in the history
  • Loading branch information
rling-equinix authored Jun 17, 2024
1 parent bc353d0 commit 45cea92
Show file tree
Hide file tree
Showing 4 changed files with 286 additions and 0 deletions.
67 changes: 67 additions & 0 deletions examples/fg-vm-cluster/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Network Edge Fortinet FortiGate Firewall Cluster Device Example

This example demonstrates creation of Network Edge Fortinet FortiGate Firewall cluster device. It will:

- Create an ACL template
- Create an SSH key
- Creae two license files
- Provision Fortinet FortiGate Firewall cluster device

## Usage

To provision this example, you should clone the github repository and run terraform from within this directory:

```bash
git clone https://github.com/equinix/terraform-equinix-network-edge.git
cd terraform-equinix-network-edge/examples/fg-vm-cluster
terraform init
terraform apply
```

Note that this example may create resources which cost money. Run 'terraform destroy' when you don't need these resources.

<!-- 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 |

## Providers

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

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_fg_vm_cluster"></a> [fg\_vm\_cluster](#module\_fg\_vm\_cluster) | ../../modules/fortigate-firewall | n/a |

## Resources

| Name | Type |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------|------|
| [equinix_network_acl_template.fortigate_cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_acl_template) | resource |
| [equinix_network_file.fg_vm_license_file_node0](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_file) | resource |
| [equinix_network_file.fg_vm_license_file_node1](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_file) | resource |
| [equinix_network_ssh_key.johndoe_cluster](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_ssh_key) | resource |
| [equinix_network_device_type.fg_vm_type](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_network_device_type) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_equinix_client_id"></a> [equinix\_client\_id](#input\_equinix\_client\_id) | API Consumer Key available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTID shell environment variable. | `string` | n/a | yes |
| <a name="input_equinix_client_secret"></a> [equinix\_client\_secret](#input\_equinix\_client\_secret) | API Consumer secret available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTSECRET shell environment variable. | `string` | n/a | yes |
| <a name="input_metro_code_cluster"></a> [metro\_code\_cluster](#input\_metro\_code\_cluster) | Device location metro code | `string` | n/a | yes |
| <a name="input_ssh_rsa_public_key"></a> [ssh\_rsa\_public\_key](#input\_ssh\_rsa\_public\_key) | SSH RSA public key | `string` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_device_details"></a> [device\_details](#output\_device\_details) | Virtual device details |
<!-- END_TF_DOCS -->
65 changes: 65 additions & 0 deletions examples/fg-vm-ha/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Network Edge Fortinet FortiGate Firewall HA Device Example

This example demonstrates creation of Network Edge Fortinet FortiGate Firewall HA device. It will:

- Create two ACL templates
- Create an SSH key
- Provision Fortinet FortiGate Firewall HA device

## Usage

To provision this example, you should clone the github repository and run terraform from within this directory:

```bash
git clone https://github.com/equinix/terraform-equinix-network-edge.git
cd terraform-equinix-network-edge/examples/fg-vm-ha
terraform init
terraform apply
```

Note that this example may create resources which cost money. Run 'terraform destroy' when you don't need these resources.

<!-- 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 |

## Providers

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

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_fg_vm_ha"></a> [fg\_vm\_ha](#module\_fg\_vm\_ha) | ../../modules/fortigate-firewall | n/a |

## Resources

| Name | Type |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|------|
| [equinix_network_acl_template.fortigate_pri](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_acl_template) | resource |
| [equinix_network_acl_template.fortigate_sec](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_acl_template) | resource |
| [equinix_network_ssh_key.johndoe](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_ssh_key) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_equinix_client_id"></a> [equinix\_client\_id](#input\_equinix\_client\_id) | API Consumer Key available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTID shell environment variable. | `string` | n/a | yes |
| <a name="input_equinix_client_secret"></a> [equinix\_client\_secret](#input\_equinix\_client\_secret) | API Consumer secret available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTSECRET shell environment variable. | `string` | n/a | yes |
| <a name="input_metro_code_primary"></a> [metro\_code\_primary](#input\_metro\_code\_primary) | Primary device location metro code | `string` | n/a | yes |
| <a name="input_metro_code_secondary"></a> [metro\_code\_secondary](#input\_metro\_code\_secondary) | Secondary device location metro code | `string` | n/a | yes |
| <a name="input_ssh_rsa_public_key"></a> [ssh\_rsa\_public\_key](#input\_ssh\_rsa\_public\_key) | SSH RSA public key | `string` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_device_details"></a> [device\_details](#output\_device\_details) | Virtual device details |
<!-- END_TF_DOCS -->
64 changes: 64 additions & 0 deletions examples/fg-vm-single/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Network Edge Fortinet FortiGate Firewall Single Device Example

This example demonstrates creation of Network Edge Fortinet FortiGate Firewall Single device. It will:

- Create an ACL template
- Create an SSH key
- Provision Fortinet FortiGate Firewall Single device

## Usage

To provision this example, you should clone the github repository and run terraform from within this directory:

```bash
git clone https://github.com/equinix/terraform-equinix-network-edge.git
cd terraform-equinix-network-edge/examples/fg-vm-single
terraform init
terraform apply
```

Note that this example may create resources which cost money. Run 'terraform destroy' when you don't need these resources.

<!-- 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 |

## Providers

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

## Modules

| Name | Source | Version |
|------|--------|---------|
| <a name="module_fg_vm_single"></a> [fg\_vm\_single](#module\_fg\_vm\_single) | ../../modules/fortigate-firewall | n/a |

## Resources

| Name | Type |
|----------------------------------------------------------------------------------------------------------------------------------------------------------|------|
| [equinix_network_acl_template.fortigate_pri](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_acl_template) | resource |
| [equinix_network_ssh_key.johndoe](https://registry.terraform.io/providers/equinix/equinix/latest/docs/resources/equinix_network_ssh_key) | resource |
| [equinix_network_account.test_account](https://registry.terraform.io/providers/equinix/equinix/latest/docs/data-sources/equinix_network_account) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| <a name="input_equinix_client_id"></a> [equinix\_client\_id](#input\_equinix\_client\_id) | API Consumer Key available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTID shell environment variable. | `string` | n/a | yes |
| <a name="input_equinix_client_secret"></a> [equinix\_client\_secret](#input\_equinix\_client\_secret) | API Consumer secret available under 'My Apps' in developer portal. This argument can also be specified with the EQUINIX\_API\_CLIENTSECRET shell environment variable. | `string` | n/a | yes |
| <a name="input_metro_code_primary"></a> [metro\_code\_primary](#input\_metro\_code\_primary) | Device location metro code | `string` | n/a | yes |
| <a name="input_ssh_rsa_public_key"></a> [ssh\_rsa\_public\_key](#input\_ssh\_rsa\_public\_key) | SSH RSA public key | `string` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| <a name="output_device_details"></a> [device\_details](#output\_device\_details) | Virtual device details |
<!-- END_TF_DOCS -->
Loading

0 comments on commit 45cea92

Please sign in to comment.