This project is in beta development stage, and it's suitable to change before being released as generally available. Use it at your own discretion.
- Clone the repository
- Enter the repository directory
- Build the provider using the
make
command:
$ make install
This provider uses Go modules. Please see the Go documentation for the most up-to-date information about using Go modules.
To add a new dependency github.com/author/dependency
to your Terraform provider:
go get github.com/author/dependency
go mod tidy
Then commit the changes to go.mod
and go.sum
.
The provide takes two arguments, url
and token
. For the data sources and resources supported, take a look at the internal/provider folder. In the next example, we capture the data of all manufacturers and create a new manufacturer "Vendor I".
terraform {
required_providers {
nautobot = {
version = "0.0.1-beta"
source = "nautobot/nautobot"
}
}
}
provider "nautobot" {
url = "https://demo.nautobot.com/api/"
token = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
}
data "nautobot_manufacturers" "all" {}
resource "nautobot_manufacturer" "new" {
description = "Created with Terraform"
name = "Vendor I"
}
If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).
There are a few make targets you can leverage:
make install
: To compile the provider.go generate ./...
: To generate or update documentation.make local
: Test local version of the provider.make testacc
: To run the full suite of Acceptance tests.
Note: Acceptance tests create real resources, and often cost money to run.
$ make testacc
This project started as an exercise for educational purposes by @nleiva during the development of his book "Network Automation with Go". Thank you Nicolas for your effort and collaboration!