Giter Club home page Giter Club logo

terraform-provider-aviatrix's Introduction

Terraform Provider

A basic Terraform provider for Aviatrix. Read this tutorial as an alternative to the README, only if the instructions are unclear.

-> NOTE: This release has a big structure change from release v1.*, please read this changelist-v2 first, and change your cloud infrastructures accordingly.

Requirements

  • Install Terraform 0.12.x/0.13.x/0.14.x/0.15.x (0.11.x or lower is incompatible)
  • Install Go 1.16+ (This will be used to build the provider plugin.)
  • Create a directory, go, follow this doc to edit ~/.bash_profile to setup the GOPATH environment variable)

Building The Provider (Terraform v0.12+)

Clone repository to: $GOPATH/src/github.com/AviatrixSystems/terraform-provider-aviatrix

$ mkdir -p $GOPATH/src/github.com/AviatrixSystems
$ cd $GOPATH/src/github.com/AviatrixSystems
$ git clone https://github.com/AviatrixSystems/terraform-provider-aviatrix.git

To clone on windows

mkdir %GOPATH%\src\github.com\AviatrixSystems
cd %GOPATH%\src\github.com\AviatrixSystems
git clone https://github.com/AviatrixSystems/terraform-provider-aviatrix.git

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/AviatrixSystems/terraform-provider-aviatrix
$ make fmt
$ make build

To build on Windows

cd %GOPATH%\src\github.com\AviatrixSystems\terraform-provider-aviatrix
go fmt
go install

Building The Provider (Terraform v0.13+)

MacOS / Linux

Run the following command:

$ make build13

Windows

Run the following commands for cmd:

cd %GOPATH%\src\github.com\AviatrixSystems\terraform-provider-aviatrix
go fmt
go install
xcopy "%GOPATH%\bin\terraform-provider-aviatrix.exe" "%APPDATA%\terraform.d\plugins\aviatrix.com\aviatrix\aviatrix\99.0.0\windows_amd64\" /Y

Run the following commands if using powershell:

cd "$env:GOPATH\src\github.com\AviatrixSystems\terraform-provider-aviatrix"
go fmt
go install
xcopy "$env:GOPATH\bin\terraform-provider-aviatrix.exe" "$env:APPDATA\terraform.d\plugins\aviatrix.com\aviatrix\aviatrix\99.0.0\windows_amd64\" /Y

Using Aviatrix Provider (Terraform v0.12+)

Activate the provider by adding the following to ~/.terraformrc on Linux/Unix.

providers {
  "aviatrix" = "$GOPATH/bin/terraform-provider-aviatrix"
}

For Windows, the file should be at '%APPDATA%\terraform.rc'. Do not change $GOPATH to %GOPATH%.

In Windows, for terraform 0.11.8 and lower use the above text.

In Windows, for terraform 0.11.9 and higher use the following at '%APPDATA%\terraform.rc'

providers {
  "aviatrix" = "$GOPATH/bin/terraform-provider-aviatrix.exe"
}

If the rc file is not present, it should be created

Using Aviatrix Provider (Terraform v0.13+)

For Terraform v0.13+, to use a locally built version of a provider you must add the following snippet to every module that you want to use the provider in.

terraform {
  required_providers {
    aviatrix = {
      source  = "aviatrix.com/aviatrix/aviatrix"
      version = "99.0.0"
    }
  }
}

Examples

Check examples and documentation here

Visit here for the complete documentation for all resources on github

Controller version

Due to some non-backward compatible changes in REST API not all controller versions are supported. If you find a branch with the controller version please use that branch Controller versions older than 3.3 are not supported For example:

  • UserConnect-3.3 for 3.3.x controller version
  • UserConnect-3.4 for 3.4.x controller version

master branch is a development branch, thus it is unverified for all use cases and supports features that may not be available in the latest released version of the controller. For production use cases, please only use a released version from the Terraform Registry.

We also recommend you to update to the latest controller version to stay on top of fixes/features.

terraform-provider-aviatrix's People

Contributors

zhiqiangjin avatar cyrusjavan avatar shuoliugit avatar inc1t3ful avatar arvindsree avatar mlin-aviatrix avatar rakesh568 avatar iggynopolis avatar edumanig avatar srinitt avatar sxw97g avatar cgriggs01 avatar paul91 avatar hieuln avatar jalvarezferr avatar nfagerlund avatar arnogeurts avatar fkhademi avatar malachany avatar derkschooltink avatar segfaultx64 avatar mikecook avatar vfiftyfive avatar therockspush avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.