Create an IP prefix set list for VoltMesh with Terraform
Problem this snippet solves:
Creation of an IP prefix set for VoltMesh in any of the relevant namespaces (system, shared or dedicated application namespace).
This prefix IP set will then be used in either FastACLs or Service policies.
How to use this snippet:
Pre-requirements:
- Have a Volterra API Certificate. Please see this page for the API Certificate generation: https://volterra.io/docs/how-to/user-mgmt/credentials
- Extract the certificate and the key from the .p12:
openssl pkcs12 -info -in certificate.p12 -out private_key.key -nodes -nocerts openssl pkcs12 -info -in certificate.p12 -out certificate.cert -nokeys
- Create a variables.tf Terraform variables file:
variable "api_cert" { type = string default = "/<full path to>/certificate.cert" } variable "api_key" { type = string default = "/<full path to>/private_key.key" } variable "api_url" { type = string default = "https://<tenant_name>.console.ves.volterra.io/api" }
- Create a main.tf Terraform file:
terraform { required_version = ">= 0.12.9, != 0.13.0" required_providers { volterra = { source = "volterraedge/volterra" version = ">=0.0.6" } } } provider "volterra" { api_cert = var.api_cert api_key = var.api_key url = var.api_url }
In the directory where your terraform files are, run:
terraform init
Then:
terraform apply
Code :
resource "volterra_ip_prefix_set" "ip-prefixes-example" { name = "ip-prefixes-example" //namespace can be: system, or shared or your application namespace depending on where you want to create the ip prefix set namespace = "system" prefix = ["1.1.1.1/32", "2.2.2.2/32", "8.0.0.0/8"] }
Tested this on version:
No Version FoundPublished Oct 14, 2021
Version 1.0Philippe_Veys
Employee
Joined October 13, 2021
Philippe_Veys
Employee
Joined October 13, 2021
No CommentsBe the first to comment