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
makecommand:
$ make installThis 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 testaccThis 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!