Skip to content

aristanetworks/terraform-provider-cloudeos

Repository files navigation

Terraform Provider for Arista CloudEOS

The Arista CloudEOS provider helps with automating the deployment of a multi-cloud network fabric using Arista CloudVision as a Service ( CVaaS ). The provider interacts with CVaaS to create a BGP/EVPN/VxLAN based overlay network between CloudEOS Routers running in various regions across Cloud Providers. Optionally, it can be used to automate the deployment of standalone CloudEOS routers across Cloud Providers and their integration with CVaaS, wherein the CloudEOS configuration to define the topology is created and applied by the user.

Terminology

  • CVaaS : Arista CloudVision as-a-Service. CloudVision as a Service is the root access point for customers to utilize the CloudEOS solution. CVaaS supports a single point of orchestration for multi-cloud, multi-tenant and multi-account management.
  • CloudEdge - CloudEdge is a instance of CloudEOS that provides interconnection services with other public clouds within the client’s autonomous system. The CloudEdge also interconnects VPCs and VNETs within a cloud provider region.
  • CloudLeaf - CloudLeaf is an instance of CloudEOS that is deployed in the VPC and VNETs that hosts the applications VMs. It is the gateway for all incoming and outgoing traffic for the VPC.
  • Cloud Network Private Segment (CNPS) - The VRF name used for segmentation across your cloud network.
  • CLOS topology - EPVN based spine-leaf topology to interconnect all leaf VPCs in a region to the CloudEdge routers deployed in the transit/Edge VPC.
  • WAN topology - EVPN based full mesh topology to interconnect all the CloudEdges over Internet.
  • DPS - Dynamic Path Selection

Requirements

  • Terraform 0.12+
  • Go 1.13 (to build the provider plugin)

Usage

CloudEOS Provider

provider "cloudeos" {
  cvaas_domain = "apiserver.arista.io"
  cvaas_server = "arista.io"
  service_account_web_token = "..."
}

Argument Reference

  • cvaas_domain - (Required) CVaaS Domain name
  • cvaas_server - (Required) CVaaS Server Name
  • service_account_web_token - (Required) The access token to authenticate the Terraform client to CVaaS.

Resources

Documentation for the resources supported by the CloudEOS Provider can be found in the resources folder.