The Terraform Netbox provider is a plugin for Terraform that allows for the full lifecycle management of Netbox resources. This provider is maintained by E. Breuninger.
See: Official documentation in the Terraform registry.
Netbox often makes breaking API changes even in non-major releases. Check the table below to see which version a provider was tested against. It is generally recommended to use the provider version matching your Netbox version. We aim to always support the latest minor version of Netbox.
Since version 1.6.6, each version of the provider has a built-in list of all Netbox versions it supports at release time. Upon initialization, the provider will probe your Netbox version and include a (non-blocking) warning if the used Netbox version is not supported.
Netbox version | Provider version |
---|---|
v4.0.0 - 4.0.9 | v3.9.0 and up |
v3.7.0 - 3.7.8 | v3.8.0 - 3.8.9 |
v3.6.0 - 3.6.9 | v3.7.0 - 3.7.7 |
v3.5.1 - 3.5.9 | v3.6.x |
v3.4.3 - 3.4.10 | v3.5.x |
v3.3.0 - 3.4.2 | v3.0.x - 3.5.1 |
v3.2.0 - 3.2.9 | v2.0.x |
v3.1.9 | v1.6.0 - 1.6.7 |
v3.1.3 | v1.1.x - 1.5.2 |
v3.0.9 | v1.0.x |
v2.11.12 | v0.3.x |
v2.10.10 | v0.2.x |
v2.9 | v0.1.x |
- Clone the repository
- Enter the repository directory
- Build the provider using the Go
install
command:
go install
Starting with Terraform 0.13, you can download the provider via the Terraform registry.
For further information on how to use third party providers, see the Terraform documentation
Releases for all major plattforms are available on the release page.
Here is a short example on how to use this provider:
provider "netbox" {
server_url = "https://demo.netbox.dev"
api_token = "<your api token>"
}
resource "netbox_platform" "testplatform" {
name = "my-test-platform"
}
For a more examples, see the provider documentation.
If you wish to work on the provider, you need Go installed on your machine (see Requirements above).
To compile the provider, run go install
. This will build the provider and put the provider binary in the $GOPATH/bin
directory.
To generate or update documentation, run make docs
.
In order to run the suite of unit tests, run make test
.
In order to run the full suite of acceptance tests, run make testacc
.
In order to run a single specific acceptance test, run
TEST_FUNC=<test_name> make testacc-specific-test
For example:
TEST_FUNC=TestAccNetboxLocationDataSource_basic make testacc-specific-test
Note: Acceptance tests create a docker compose stack on port 8001.
make testacc
If you notice a failed test, it might be due to a stale netbox data volume. Before concluding there is a problem,
refresh the docker containers by running docker-compose down --volumes
in the docker
directory. Then run the tests again.
If you get too many open files
errors when running the acceptance test suite locally on Linux, your user limit for open file descriptors might be too low. You can increase that limit with ulimit -n 2048
.
We focus on virtual machine management and IPAM. If you want to contribute more resources to this provider, feel free to make a PR.