Code Monkey home page Code Monkey logo

terraform-provider-netbox's Introduction

terraform-provider-netbox

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.

Requirements

Supported netbox versions

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
v3.7.0 - 3.7.3 v3.8.0 and up
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

Building The Provider

  1. Clone the repository
  2. Enter the repository directory
  3. Build the provider using the Go install command:
go install

Installation

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.

Using the provider

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.

Developing the Provider

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.

Contribution

We focus on virtual machine management and IPAM. If you want to contribute more resources to this provider, feel free to make a PR.

terraform-provider-netbox's People

Contributors

arjenvri avatar bebehei avatar cova-fe avatar dependabot-preview[bot] avatar dependabot[bot] avatar edwin-bruurs avatar fbreckle avatar flxpeters avatar gennadyspb avatar haipersuccor02 avatar hollow avatar holmesb avatar ikaremostest avatar ikke avatar jake2184 avatar joeyberkovitz avatar kyle-burnett avatar luispcoutinho avatar mifrost avatar ns1pelle avatar pezhore avatar robvand avatar rthomson avatar sanverik avatar sjurtf avatar t-tran avatar tagur87 avatar tstarck avatar twink0r avatar zeddd1abl0 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.