{"id":21356393,"url":"https://github.com/equinix/terraform-equinix-vsrx","last_synced_at":"2025-07-13T00:31:15.348Z","repository":{"id":96024252,"uuid":"348043219","full_name":"equinix/terraform-equinix-vsrx","owner":"equinix","description":"Terraform module for quick deployment of Juniper vSRX Virtual Firewall on Equinix Platform","archived":false,"fork":false,"pushed_at":"2023-12-15T08:21:24.000Z","size":18,"stargazers_count":1,"open_issues_count":1,"forks_count":3,"subscribers_count":9,"default_branch":"main","last_synced_at":"2024-05-09T14:25:11.802Z","etag":null,"topics":["equinix","equinix-platform","firewall","juniper","nfv","sdn","terraform","terraform-module","vsrx"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/equinix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-03-15T16:25:31.000Z","updated_at":"2024-05-09T14:25:11.803Z","dependencies_parsed_at":"2023-04-08T19:47:30.004Z","dependency_job_id":null,"html_url":"https://github.com/equinix/terraform-equinix-vsrx","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinix%2Fterraform-equinix-vsrx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinix%2Fterraform-equinix-vsrx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinix%2Fterraform-equinix-vsrx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/equinix%2Fterraform-equinix-vsrx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/equinix","download_url":"https://codeload.github.com/equinix/terraform-equinix-vsrx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225844870,"owners_count":17533160,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["equinix","equinix-platform","firewall","juniper","nfv","sdn","terraform","terraform-module","vsrx"],"created_at":"2024-11-22T04:31:40.373Z","updated_at":"2024-11-22T04:31:40.816Z","avatar_url":"https://github.com/equinix.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Equinix Network Edge: Juniper Networks vSRX firewall\n\nA Terraform module to create Juniper Networks vSRX firewall network device\non the Equinix platform.\n\n![Terraform status](https://github.com/equinix/terraform-equinix-vsrx/workflows/Terraform/badge.svg)\n![License](https://img.shields.io/github/license/equinix/terraform-equinix-vsrx)\n\nSupported device modes:\n\n| Management Mode | License mode | Notes |\n|-----------------|--------------|-------|\n| Equinix managed | Subscription |-|\n| Equinix managed | Bring your own license | `license_file` required |\n| Self managed    | Bring your own license | `license_file` required |\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| terraform | \u003e= 0.13.0 |\n| equinix/equinix | \u003e= 1.1.0 |\n\n## Providers\n\n| Name | Version |\n|---------|----------|\n| equinix/equinix | \u003e= 1.1.0 |\n\n## Assumptions\n\n* if `account_number` is not provided, then `Active` account within given metro\nwill be used\n* most recent, stable version of a device software for a given `software_package`\nwill be used\n* secondary device name will be same as primary with `-secondary` suffix added\n* secondary device notification list will be same as for primary\n* secondary device `ssh-key` will be same as for primary (if provided)\n\n## Example usage\n\n```hcl\nprovider equinix {\n  client_id     = var.equinix_client_id\n  client_secret = var.equinix_client_secret\n}\n\nmodule \"vsrx\" {\n  source           = \"equinix/vsrx/equinix\"\n  self_managed     = true\n  byol             = true\n  license_file     = \"/tmp/jnpr-pri.lic\"\n  metro_code       = \"SV\"\n  platform         = \"small\"\n  software_package = \"STD\"\n  name             = \"tf-tst-vsrx\"\n  hostname         = \"pri\"\n  term_length      = 1\n  notifications    = [\"test@test.com\"]\n  ssh_key = {\n    username = \"john\"\n    key_name = equinix_network_ssh_key.john.name\n  }\n  secondary = {\n    enabled      = true\n    license_file = \"/tmp/jnpr-sec.lic\"\n    metro_code   = \"DC\"\n    hostname     = \"sec\"\n  }\n}\n```\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|----------|\n|metro_code|Two-letter device location's metro code|`string`|`\"\"`|yes|\n|account_number|Billing account number for a device. If not provided, active account for a device metro code will be used|`string`|`0`|no|\n|platform|Device hardware platform flavor: `small`, `medium`, `large`|`string`|`\"\"`|yes|\n|software_package|Device software package: `STD`|`string`|`\"\"`|yes|\n|self_managed|Determines device management mode: self-managed or Equinix managed|`bool`|`false`|no|\n|byol|Determines device licensing mode: bring your own license or subscription|`bool`|`false`|no|\n|license_file|Path to license file required for BYOL licensing mode|`string`|`\"\"`|no|\n|name|Device name|`string`|`\"\"`|yes|\n|hostname|Device hostname prefix|`string`|`\"\"`|yes|\n|term_length|Term length in months: `1`, `12`, `24`, `36`|`number`|`0`|yes|\n|notifications|List of email addresses that will receive notifications about device|`list(string)`|n/a|yes|\n|acl_template_id|Identifier of a network ACL template that will be applied on a device|`string`|`\"\"`|no|\n|additional_bandwidth|Amount of additional internet bandwidth for a device, in Mbps|`number`|`0`|no|\n|ssh_key|Map of SSH public key attributes|`map`|N/A|no|\n|secondary|Map of secondary device attributes in redundant setup|`map`|N/A|no|\n\nSSH key map attributes:\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|----------|\n|username|Username associated with a given public key|`string`|`\"\"`|yes|\n|key_name|The name of the SSH public key|`string`|`\"\"`|yes|\n\nSecondary device map attributes:\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|----------|\n|enabled|Value that determines if secondary device shall be created|`bool`|`false`|no|\n|license_file|Path to license file required for BYOL licensing mode|`string`|`\"\"`|no|\n|metro_code|Two-letter secondary device location's metro code|`string`|`\"\"`|yes|\n|account_number|Billing account number for a device. If not provided, active account for a device metro code will be used|`string`|`0`|no|\n|hostname|Device hostname prefix|`string`|`\"\"`|yes|\n|acl_template_id|Identifier of a network ACL template that will be applied on a secondary device|`string`|`\"\"`|no|\n|additional_bandwidth|Amount of additional internet bandwidth for a secondary device, in Mbps|`number`|`0`|no|\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n|id|Device identifier|\n|status|Device provisioning status|\n|license_status|Device license status|\n|account_number|Device billing account number|\n|cpu_count|Number of device CPU cores|\n|memory|Amount of device memory|\n|software_version|Device software version|\n|region|Device region|\n|ibx|Device IBX center code|\n|ssh_ip_address|Device SSH interface IP address|\n|ssh_ip_fqdn|Device SSH interface FQDN|\n|interfaces|List of network interfaces present on a device|\n|secondary|Secondary device outputs (same as for primary). Present when secondary device was enabled|\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinix%2Fterraform-equinix-vsrx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fequinix%2Fterraform-equinix-vsrx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fequinix%2Fterraform-equinix-vsrx/lists"}