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:

    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 Found
Published Oct 14, 2021
Version 1.0

Was this article helpful?

No CommentsBe the first to comment