Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: handle netbox migration to disk set in MB #642

Merged
merged 9 commits into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions .github/workflows/ci-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,18 +34,18 @@ jobs:
fail-fast: false
matrix:
netbox-version:
# - v4.0.0 has mandatory tenant group
- v4.0.1
- v4.0.2
- v4.0.3
# - v4.0.4 does not exist for some reason
- v4.0.5
- v4.0.6
- v4.0.7
- v4.0.8
- v4.0.9
- v4.0.10
- v4.0.11
- v4.1.0
- v4.1.1
- v4.1.2
- v4.1.3
- v4.1.4
- v4.1.5
- v4.1.6
- v4.1.7
- v4.1.8
# - v4.1.9 has a regression - do not use
- v4.1.10
- v4.1.11
steps:
- uses: actions/checkout@v4
- name: Set up Go
Expand Down
4 changes: 2 additions & 2 deletions GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
TEST?=netbox/*.go
TEST_FUNC?=TestAccNetboxEventRule_basic
TEST_FUNC?=TestAccNetboxVirtualMachine*
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)
DOCKER_COMPOSE=docker compose

export NETBOX_VERSION=v4.0.11
export NETBOX_VERSION=v4.1.11
export NETBOX_SERVER_URL=http://localhost:8001
export NETBOX_API_TOKEN=0123456789abcdef0123456789abcdef01234567
export NETBOX_TOKEN=$(NETBOX_API_TOKEN)
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ Since version [1.6.6](https://github.com/e-breuninger/terraform-provider-netbox/

| Netbox version | Provider version |
| --------------- | ---------------- |
| v4.0.0 - 4.0.11 | v3.9.0 and up |
| v4.1.0 - 4.1.11 | v3.10.0 and up |
| v4.0.0 - 4.0.11 | v3.9.0 - 3.9.2 |
| 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 |
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/racks.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ Read-Only:
- `status` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
- `type` (String)
- `type_id` (Number)
- `u_height` (Number)
- `weight` (Number)
- `weight_unit` (String)
Expand Down
2 changes: 1 addition & 1 deletion docs/data-sources/virtual_machines.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Read-Only:
- `description` (String)
- `device_id` (Number)
- `device_name` (String)
- `disk_size_gb` (Number)
- `disk_size_mb` (Number)
- `local_context_data` (String)
- `memory_mb` (Number)
- `name` (String)
Expand Down
2 changes: 0 additions & 2 deletions docs/data-sources/vlan_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ data "netbox_vlan_group" "example3" {

- `description` (String)
- `id` (String) The ID of this resource.
- `max_vid` (Number)
- `min_vid` (Number)
- `vlan_count` (Number)


3 changes: 2 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Netbox often makes breaking API changes even in non-major releases. Check the ta

| Netbox version | Provider version |
| --------------- | ---------------- |
| v4.0.0 - 4.0.11 | v3.9.0 and up |
| v4.1.0 - 4.1.11 | v3.10.0 and up |
| v4.0.0 - 4.0.11 | v3.9.0 - 3.9.2 |
| 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 |
Expand Down
24 changes: 14 additions & 10 deletions docs/resources/event_rule.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,19 @@ resource "netbox_webhook" "test" {
}

resource "netbox_event_rule" "test" {
name = "my-event-rule"
content_types = ["dcim.site", "virtualization.cluster"]
action_type = "webhook"
action_object_id = netbox_webhook.test.id
trigger_on_create = true
name = "my-event-rule"
content_types = ["dcim.site", "virtualization.cluster"]
action_type = "webhook"
action_object_id = netbox_webhook.test.id
event_types = [
"object_created",
"object_updated",
"object_deleted",
"job_started",
"job_completed",
"job_failed",
"job_errored"
]
}
```

Expand All @@ -38,6 +46,7 @@ resource "netbox_event_rule" "test" {
- `action_object_id` (Number)
- `action_type` (String) Valid values are `webhook`.
- `content_types` (Set of String)
- `event_types` (Set of String) The types of event which will trigger this rule. By default, valid values are `object_created`, `oject_updated`, `object_deleted`, `job_started`, `job_completed`, `job_failed` and `job_errored`.
- `name` (String)

### Optional
Expand All @@ -46,11 +55,6 @@ resource "netbox_event_rule" "test" {
- `description` (String)
- `enabled` (Boolean) Defaults to `true`.
- `tags` (Set of String)
- `trigger_on_create` (Boolean) At least one of `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `trigger_on_job_start` or `trigger_on_job_end` must be given.
- `trigger_on_delete` (Boolean) At least one of `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `trigger_on_job_start` or `trigger_on_job_end` must be given.
- `trigger_on_job_end` (Boolean) At least one of `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `trigger_on_job_start` or `trigger_on_job_end` must be given.
- `trigger_on_job_start` (Boolean) At least one of `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `trigger_on_job_start` or `trigger_on_job_end` must be given.
- `trigger_on_update` (Boolean) At least one of `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `trigger_on_job_start` or `trigger_on_job_end` must be given.

### Read-Only

Expand Down
2 changes: 1 addition & 1 deletion docs/resources/permission.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ This resource manages the object-based permissions for Netbox users, built into
```terraform
resource "netbox_user" "test" {
username = "johndoe"
password = "abcdefghijkl"
password = "Abcdefghijkl1"
active = true
staff = true
}
Expand Down
6 changes: 3 additions & 3 deletions docs/resources/rack.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@ resource "netbox_rack" "test" {
- `name` (String)
- `site_id` (Number)
- `status` (String) Valid values are `reserved`, `available`, `planned`, `active` and `deprecated`.
- `u_height` (Number)
- `width` (Number) Valid values are `10`, `19`, `21` and `23`.

### Optional

Expand All @@ -55,6 +53,7 @@ resource "netbox_rack" "test" {
- `desc_units` (Boolean) If rack units are descending. Defaults to `false`.
- `description` (String)
- `facility_id` (String)
- `form_factor` (String) Valid values are `2-post-frame`, `4-post-frame`, `4-post-cabinet`, `wall-frame`, `wall-frame-vertical`, `wall-cabinet` and `wall-cabinet-vertical`.
- `location_id` (Number)
- `max_weight` (Number)
- `mounting_depth` (Number)
Expand All @@ -65,9 +64,10 @@ resource "netbox_rack" "test" {
- `serial` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
- `type` (String) Valid values are `2-post-frame`, `4-post-frame`, `4-post-cabinet`, `wall-frame`, `wall-frame-vertical`, `wall-cabinet` and `wall-cabinet-vertical`.
- `u_height` (Number)
- `weight` (Number)
- `weight_unit` (String) Valid values are `kg`, `g`, `lb` and `oz`. Required when `weight` and `max_weight` is set.
- `width` (Number) Valid values are `10`, `19`, `21` and `23`.

### Read-Only

Expand Down
72 changes: 72 additions & 0 deletions docs/resources/rack_type.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_rack_type Resource - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
From the official documentation https://netboxlabs.com/docs/netbox/en/stable/models/dcim/racktype/:
A rack type defines the physical characteristics of a particular model of rack.
---

# netbox_rack_type (Resource)

From the [official documentation](https://netboxlabs.com/docs/netbox/en/stable/models/dcim/racktype/):

> A rack type defines the physical characteristics of a particular model of rack.

## Example Usage

```terraform
resource "netbox_manufacturer" "test" {
name = "my-manufacturer"
}

resource "netbox_rack_type" "test" {
model = "mymodel"
manufacturer_id = netbox_manufacturer.test.id
width = 19
u_height = 48
starting_unit = 1
form_factor = "2-post-frame"
description = "My description"
outer_width = 10
outer_depth = 15
outer_unit = "mm"
weight = 15
max_weight = 20
weight_unit = "kg"
mounting_depth_mm = 21
comments = "My comments"
}
```

<!-- schema generated by tfplugindocs -->
## Schema

### Required

- `form_factor` (String) Valid values are `2-post-frame`, `4-post-frame`, `4-post-cabinet`, `wall-frame`, `wall-frame-vertical`, `wall-cabinet` and `wall-cabinet-vertical`.
- `model` (String)
- `starting_unit` (Number)
- `u_height` (Number)
- `width` (Number) Valid values are `10`, `19`, `21` and `23`.

### Optional

- `comments` (String)
- `description` (String)
- `manufacturer_id` (Number)
- `max_weight` (Number)
- `mounting_depth_mm` (Number)
- `outer_depth` (Number)
- `outer_unit` (String) Valid values are `mm` and `in`. Required when `outer_width` and `outer_depth` is set.
- `outer_width` (Number)
- `slug` (String)
- `tags` (Set of String)
- `weight` (Number)
- `weight_unit` (String) Valid values are `kg`, `g`, `lb` and `oz`. Required when `weight` and `max_weight` is set.

### Read-Only

- `id` (String) The ID of this resource.


2 changes: 1 addition & 1 deletion docs/resources/token.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ From the [official documentation](https://docs.netbox.dev/en/stable/rest-api/aut
```terraform
resource "netbox_user" "test" {
username = "johndoe"
password = "abcdefghijkl"
password = "Abcdefghijkl1"
}

resource "netbox_token" "test_basic" {
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/user.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ This resource is used to manage users.
```terraform
resource "netbox_user" "test" {
username = "johndoe"
password = "abcdefghijkl"
password = "Abcdefghijkl1"
active = true
staff = true
}
Expand Down
4 changes: 2 additions & 2 deletions docs/resources/virtual_disk.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ resource "netbox_virtual_machine" "base_vm" {
resource "netbox_virtual_disk" "example" {
name = "disk-01"
description = "Main disk"
size_gb = 50
size_mb = 50
virtual_machine_id = netbox_virtual_machine.base_vm.id
}
```
Expand All @@ -40,7 +40,7 @@ resource "netbox_virtual_disk" "example" {
### Required

- `name` (String)
- `size_gb` (Number)
- `size_mb` (Number)
- `virtual_machine_id` (Number)

### Optional
Expand Down
6 changes: 3 additions & 3 deletions docs/resources/virtual_machine.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ data "netbox_cluster" "vmw_cluster_01" {
resource "netbox_virtual_machine" "basic_vm" {
cluster_id = data.netbox_cluster.vmw_cluster_01.id
name = "myvm-2"
disk_size_gb = 40
disk_size_mb = 40000
memory_mb = 4092
vcpus = "2"
}
Expand All @@ -50,7 +50,7 @@ data "netbox_tenant" "customer_a" {
resource "netbox_virtual_machine" "full_vm" {
cluster_id = data.netbox_cluster.vmw_cluster_01.id
name = "myvm-3"
disk_size_gb = 40
disk_size_mb = 40000
memory_mb = 4092
vcpus = "2"
role_id = 31 // This corresponds to the Netbox ID for a given role
Expand All @@ -76,7 +76,7 @@ resource "netbox_virtual_machine" "full_vm" {
- `custom_fields` (Map of String)
- `description` (String)
- `device_id` (Number)
- `disk_size_gb` (Number)
- `disk_size_mb` (Number)
- `local_context_data` (String) This is best managed through the use of `jsonencode` and a map of settings.
- `memory_mb` (Number)
- `platform_id` (Number)
Expand Down
12 changes: 4 additions & 8 deletions docs/resources/vlan_group.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,19 @@ description: |-
```terraform
#Basic VLAN Group example
resource "netbox_vlan_group" "example1" {
name = "example1"
slug = "example1"
min_vid = 1
max_vid = 4094
name = "example1"
slug = "example1"
}

#Full VLAN Group example
resource "netbox_vlan_group" "example2" {
name = "Second Example"
slug = "example2"
min_vid = 1
max_vid = 4094
scope_type = "dcim.site"
scope_id = netbox_site.example.id
description = "Second Example VLAN Group"
tags = [netbox_tag.example.id]
vid_ranges = [[1, 2], [3, 4]]
}
```

Expand All @@ -39,10 +36,9 @@ resource "netbox_vlan_group" "example2" {

### Required

- `max_vid` (Number)
- `min_vid` (Number)
- `name` (String)
- `slug` (String)
- `vid_ranges` (List of List of Number)

### Optional

Expand Down
2 changes: 1 addition & 1 deletion example/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ resource "netbox_virtual_machine" "testvm" {
comments = "my-test-comment"
memory_mb = 1024
vcpus = 4
disk_size_gb = 512
disk_size_mb = 512
cluster_id = netbox_cluster.testcluster.id
tenant_id = netbox_tenant.testtenant.id
platform_id = netbox_platform.testplatform.id
Expand Down
18 changes: 13 additions & 5 deletions examples/resources/netbox_event_rule/resource.tf
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,17 @@ resource "netbox_webhook" "test" {
}

resource "netbox_event_rule" "test" {
name = "my-event-rule"
content_types = ["dcim.site", "virtualization.cluster"]
action_type = "webhook"
action_object_id = netbox_webhook.test.id
trigger_on_create = true
name = "my-event-rule"
content_types = ["dcim.site", "virtualization.cluster"]
action_type = "webhook"
action_object_id = netbox_webhook.test.id
event_types = [
"object_created",
"object_updated",
"object_deleted",
"job_started",
"job_completed",
"job_failed",
"job_errored"
]
}
2 changes: 1 addition & 1 deletion examples/resources/netbox_permission/resource.tf
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
resource "netbox_user" "test" {
username = "johndoe"
password = "abcdefghijkl"
password = "Abcdefghijkl1"
active = true
staff = true
}
Expand Down
Loading
Loading