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