No description
  • Go 97.6%
  • HTML 1.8%
  • HCL 0.2%
  • Python 0.2%
  • Shell 0.1%
Find a file
Gaurav Rastogi e6728f249b
Merge pull request #83 from terraform-providers/ssl-cert-example
Added example of VS with SSL cert
2020-11-18 21:37:05 -08:00
avi updating avi for avi_terraform.tgz release 20.1.2 2020-10-13 16:23:16 +00:00
examples added new line in the end 2020-11-17 13:51:27 -08:00
modules/services/vmware_deploy Av 82891 Updated vmware module example and added content library example (#60) 2020-05-11 22:50:26 -07:00
scripts Prototype of provider with pool object (#1) 2017-10-26 08:18:13 -07:00
vendor AV-92730 Added updated resources and dependent vendors for 20.1.2 2020-09-25 07:09:20 +00:00
website updating website for avi_terraform.tgz release 20.1.2 2020-10-13 16:23:16 +00:00
.gitignore Added GCP examples (#1) 2020-07-30 08:12:11 -07:00
.travis.yml Fixed travis to avoid terraform 0.13 incompatibility issues 2020-09-25 05:52:21 +00:00
CHANGELOG.md Cleanup after v0.2.3 release 2020-06-16 03:38:32 +00:00
conftest.py Terr tests (#121) 2019-05-21 22:47:54 -07:00
GNUmakefile AV-64554: changed the optional parameters without defaults to computed (#135) 2019-07-03 21:13:26 +05:30
go.mod AV-92730 Added updated resources and dependent vendors for 20.1.2 2020-09-25 07:09:20 +00:00
go.sum AV-92730 Added updated resources and dependent vendors for 20.1.2 2020-09-25 07:09:20 +00:00
LICENSE Prototype of provider with pool object (#1) 2017-10-26 08:18:13 -07:00
main.go update provider import path 2019-07-11 14:54:13 -07:00
README.md Update README.md 2019-09-03 21:44:58 -07:00

Terraform Provider

Requirements

  • Terraform 0.10.x
  • Go 1.8 (to build the provider plugin)

Usage

Create Avi Provider in terraform plan

# For example, restrict template version in 0.1.x
provider "avi" {
  avi_username = "admin"
  avi_tenant = "admin"
  avi_password = "something"
  avi_controller= "42.42.42.42"
}

Create Avi Pool Example. Here Pool depends on read only tenant data source and another health monitor defined as resource in the terraform plan

resource "avi_pool" "testpool" {
  name= "pool-42",
  health_monitor_refs= ["${avi_healthmonitor.test_hm_1.id}"]
  tenant_ref= "${data.avi_tenant.default_tenant.id}"
  cloud_ref= "${data.avi_cloud.default_cloud.id}"
  application_persistence_profile_ref= "${avi_applicationpersistenceprofile.test_applicationpersistenceprofile.id}"
  servers {
    ip= {
      type= "V4",
      addr= "10.90.64.66",
    }
    port= 8080
  }
  fail_action= {
    type= "FAIL_ACTION_CLOSE_CONN"
  }
}

Reference existing resources as readonly or data sources

data "avi_applicationprofile" "system_http_profile" {
  name= "System-HTTP"
}

application_profile_ref= "${data.avi_applicationprofile.system_https_profile.id}"

Building The Provider

Clone repository to: $GOPATH/src/github.com/terraform-providers/terraform-provider-avi

$ mkdir -p $GOPATH/src/github.com/terraform-providers; cd $GOPATH/src/github.com/terraform-providers
$ git clone https://github.com/terraform-providers/terraform-provider-avi.git

Enter the provider directory and build the provider

$ cd $GOPATH/src/github.com/terraform-providers/terraform-provider-


$ make

Using the provider

Fill in for each provider

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (version 1.8+ is required). You'll also need to correctly setup a GOPATH, as well as adding $GOPATH/bin to your $PATH.

To compile the provider, run make build. This will build the provider and put the provider binary in the $GOPATH/bin directory.

$ make bin
...
$ $GOPATH/bin/terraform-provider-avi
...

In order to test the provider, you can simply run make test.

$ make test

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

$ make testacc