Skip to content

Terraform で NetBox に情報を追加する

Terraform には NetBox 向けの Provider である netbox が存在します。 今回はこの Provider を使って、Terraform から NetBox を設定してみました。

NetBox の API トークンを発行する

外部から NetBox を操作するには事前に API トークンを発行しておく必要があります。 NetBox へログインしたら右上のユーザ名をクリックし、表示されるメニューから API Tokens をクリックします。

file

Add a Token をクリックします。

file

発行予定の API トークンが表示されますので、Key の右側にある下記赤枠のボタンをクリックして API トークンをクリップボードにコピーします。 この API トークンは後の手順で利用するので、記録しておきます。 実際には まだ API トークンは発行されていない 為、Create をクリックして API トークンを発行します。

file

API トークンの発行が完了しました。

file

Terraform の実行

今回、Terraform 用の .tf ファイルは以下の内容としました。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
terraform {
  required_providers {
    netbox = {
      source  = "e-breuninger/netbox"
      version = "~> 3.8.0"
    }
  }
}

provider "netbox" {
  server_url = "http://10.0.0.1:8000"
  api_token  = "0123456789abcdefghij0123456789abcdefghij"
}

resource "netbox_ip_address" "ipaddr1" {
  ip_address = "10.0.0.1/24"
  status     = "active"
}

Terraform を実行します。

1
2
terraform init
terraform apply -auto-approve

NetBox に設定が追加されました。

file