Showing preview only (1,966K chars total). Download the full file or copy to clipboard to get everything.
Repository: e-breuninger/terraform-provider-netbox
Branch: master
Commit: 2f471e19ab4b
Files: 570
Total size: 1.8 MB
Directory structure:
gitextract_85p5o3oc/
├── .github/
│ ├── CODE_OF_CONDUCT.md
│ ├── ISSUE_TEMPLATE.md
│ ├── allowed-subcategories.txt
│ ├── dependabot.yml
│ └── workflows/
│ ├── check-allowed-subcategories.yml
│ ├── ci-testing.yml
│ ├── ensure-docs-examples.yml
│ ├── golangci-lint.yml
│ ├── pre-commit.yml
│ └── release.yml
├── .gitignore
├── .golangci.yml
├── .goreleaser.yml
├── .markdownlint.yaml
├── .pre-commit-config.yaml
├── .prettierignore
├── .terraform-registry
├── .yamllint.yaml
├── CHANGELOG.md
├── GNUmakefile
├── LICENSE
├── README.md
├── docker/
│ ├── Dockerfile-wait
│ ├── docker-compose.yml
│ └── wait-for
├── docs/
│ ├── data-sources/
│ │ ├── asn.md
│ │ ├── asns.md
│ │ ├── available_prefix.md
│ │ ├── cluster.md
│ │ ├── cluster_group.md
│ │ ├── cluster_type.md
│ │ ├── clusters.md
│ │ ├── config_context.md
│ │ ├── contact.md
│ │ ├── contact_group.md
│ │ ├── contact_role.md
│ │ ├── device_interfaces.md
│ │ ├── device_power_ports.md
│ │ ├── device_render_config.md
│ │ ├── device_role.md
│ │ ├── device_type.md
│ │ ├── devices.md
│ │ ├── interfaces.md
│ │ ├── ip_address.md
│ │ ├── ip_addresses.md
│ │ ├── ip_range.md
│ │ ├── ip_ranges.md
│ │ ├── ipam_role.md
│ │ ├── location.md
│ │ ├── locations.md
│ │ ├── platform.md
│ │ ├── prefix.md
│ │ ├── prefixes.md
│ │ ├── rack_role.md
│ │ ├── racks.md
│ │ ├── region.md
│ │ ├── rir.md
│ │ ├── route_target.md
│ │ ├── site.md
│ │ ├── site_group.md
│ │ ├── tag.md
│ │ ├── tags.md
│ │ ├── tenant.md
│ │ ├── tenant_group.md
│ │ ├── tenants.md
│ │ ├── virtual_disk.md
│ │ ├── virtual_machines.md
│ │ ├── vlan.md
│ │ ├── vlan_group.md
│ │ ├── vlan_groups.md
│ │ ├── vlans.md
│ │ ├── vrf.md
│ │ └── vrfs.md
│ ├── index.md
│ └── resources/
│ ├── aggregate.md
│ ├── asn.md
│ ├── available_ip_address.md
│ ├── available_prefix.md
│ ├── available_vlan.md
│ ├── cable.md
│ ├── circuit.md
│ ├── circuit_provider.md
│ ├── circuit_termination.md
│ ├── circuit_type.md
│ ├── cluster.md
│ ├── cluster_group.md
│ ├── cluster_type.md
│ ├── config_context.md
│ ├── config_template.md
│ ├── contact.md
│ ├── contact_assignment.md
│ ├── contact_group.md
│ ├── contact_role.md
│ ├── custom_field.md
│ ├── custom_field_choice_set.md
│ ├── device.md
│ ├── device_bay.md
│ ├── device_bay_template.md
│ ├── device_console_port.md
│ ├── device_console_server_port.md
│ ├── device_front_port.md
│ ├── device_interface.md
│ ├── device_module_bay.md
│ ├── device_power_outlet.md
│ ├── device_power_port.md
│ ├── device_primary_ip.md
│ ├── device_rear_port.md
│ ├── device_role.md
│ ├── device_type.md
│ ├── event_rule.md
│ ├── group.md
│ ├── interface.md
│ ├── interface_template.md
│ ├── inventory_item.md
│ ├── inventory_item_role.md
│ ├── ip_address.md
│ ├── ip_range.md
│ ├── ipam_role.md
│ ├── location.md
│ ├── mac_address.md
│ ├── manufacturer.md
│ ├── module.md
│ ├── module_type.md
│ ├── permission.md
│ ├── platform.md
│ ├── power_feed.md
│ ├── power_panel.md
│ ├── prefix.md
│ ├── primary_ip.md
│ ├── rack.md
│ ├── rack_reservation.md
│ ├── rack_role.md
│ ├── rack_type.md
│ ├── region.md
│ ├── rir.md
│ ├── route_target.md
│ ├── service.md
│ ├── site.md
│ ├── site_group.md
│ ├── tag.md
│ ├── tenant.md
│ ├── tenant_group.md
│ ├── token.md
│ ├── user.md
│ ├── virtual_chassis.md
│ ├── virtual_disk.md
│ ├── virtual_machine.md
│ ├── vlan.md
│ ├── vlan_group.md
│ ├── vpn_tunnel.md
│ ├── vpn_tunnel_group.md
│ ├── vpn_tunnel_termination.md
│ ├── vrf.md
│ ├── webhook.md
│ ├── wireless_lan.md
│ └── wireless_lan_group.md
├── example/
│ ├── README.md
│ └── main.tf
├── examples/
│ ├── data-sources/
│ │ ├── netbox_asn/
│ │ │ └── data-source.tf
│ │ ├── netbox_asns/
│ │ │ └── data-source.tf
│ │ ├── netbox_cluster/
│ │ │ └── data-source.tf
│ │ ├── netbox_cluster_group/
│ │ │ └── data-source.tf
│ │ ├── netbox_clusters/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_render_config/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_role/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_type/
│ │ │ └── data-source.tf
│ │ ├── netbox_interfaces/
│ │ │ └── data-source.tf
│ │ ├── netbox_ip_address/
│ │ │ └── data-source.tf
│ │ ├── netbox_ip_range/
│ │ │ └── data-source.tf
│ │ ├── netbox_platform/
│ │ │ └── data-source.tf
│ │ ├── netbox_rir/
│ │ │ └── data-source.tf
│ │ ├── netbox_site/
│ │ │ └── data-source.tf
│ │ ├── netbox_site_group/
│ │ │ └── data-source.tf
│ │ ├── netbox_tag/
│ │ │ └── data-source.tf
│ │ ├── netbox_tags/
│ │ │ └── data-source.tf
│ │ ├── netbox_tenant/
│ │ │ └── data-source.tf
│ │ ├── netbox_virtual_disk/
│ │ │ └── data-source.tf
│ │ ├── netbox_virtual_machines/
│ │ │ └── data-source.tf
│ │ ├── netbox_vlan/
│ │ │ └── data-source.tf
│ │ ├── netbox_vlan_group/
│ │ │ └── data-source.tf
│ │ └── netbox_vrf/
│ │ └── data-source.tf
│ ├── provider/
│ │ └── provider.tf
│ └── resources/
│ ├── netbox_aggregate/
│ │ └── resource.tf
│ ├── netbox_asn/
│ │ └── resource.tf
│ ├── netbox_available_ip_address/
│ │ ├── assign_to_interface.tf
│ │ ├── prefix.tf
│ │ └── range.tf
│ ├── netbox_available_prefix/
│ │ └── resource.tf
│ ├── netbox_available_vlan/
│ │ ├── multiple.tf
│ │ ├── prefix.tf
│ │ ├── range.tf
│ │ └── site.tf
│ ├── netbox_cable/
│ │ └── resource.tf
│ ├── netbox_circuit/
│ │ └── resource.tf
│ ├── netbox_circuit_provider/
│ │ └── resource.tf
│ ├── netbox_circuit_termination/
│ │ └── resource.tf
│ ├── netbox_circuit_type/
│ │ └── resource.tf
│ ├── netbox_cluster/
│ │ └── resource.tf
│ ├── netbox_cluster_group/
│ │ └── resource.tf
│ ├── netbox_cluster_type/
│ │ └── resource.tf
│ ├── netbox_config_context/
│ │ └── resource.tf
│ ├── netbox_config_template/
│ │ └── resource.tf
│ ├── netbox_contact/
│ │ └── resource.tf
│ ├── netbox_contact_assignment/
│ │ └── resource.tf
│ ├── netbox_contact_group/
│ │ └── resource.tf
│ ├── netbox_contact_role/
│ │ └── resource.tf
│ ├── netbox_custom_field/
│ │ └── resource.tf
│ ├── netbox_custom_field_choice_set/
│ │ └── resource.tf
│ ├── netbox_device/
│ │ └── resource.tf
│ ├── netbox_device_bay/
│ │ └── resource.tf
│ ├── netbox_device_bay_template/
│ │ └── resource.tf
│ ├── netbox_device_console_port/
│ │ └── resource.tf
│ ├── netbox_device_console_server_port/
│ │ └── resource.tf
│ ├── netbox_device_front_port/
│ │ └── resource.tf
│ ├── netbox_device_interface/
│ │ └── resource.tf
│ ├── netbox_device_module_bay/
│ │ └── resource.tf
│ ├── netbox_device_power_outlet/
│ │ └── resource.tf
│ ├── netbox_device_power_port/
│ │ └── resource.tf
│ ├── netbox_device_primary_ip/
│ │ └── resource.tf
│ ├── netbox_device_rear_port/
│ │ └── resource.tf
│ ├── netbox_device_role/
│ │ └── resource.tf
│ ├── netbox_device_type/
│ │ └── resource.tf
│ ├── netbox_event_rule/
│ │ └── resource.tf
│ ├── netbox_group/
│ │ └── resource.tf
│ ├── netbox_interface/
│ │ └── resource.tf
│ ├── netbox_interface_template/
│ │ └── resource.tf
│ ├── netbox_inventory_item/
│ │ └── resource.tf
│ ├── netbox_inventory_item_role/
│ │ └── resource.tf
│ ├── netbox_ip_address/
│ │ ├── device_interface_id.tf
│ │ ├── object_type_device.tf
│ │ ├── object_type_virtual_machine.tf
│ │ ├── standalone.tf
│ │ └── virtual_machine_interface_id.tf
│ ├── netbox_ip_range/
│ │ └── resource.tf
│ ├── netbox_ipam_role/
│ │ └── resource.tf
│ ├── netbox_location/
│ │ └── resource.tf
│ ├── netbox_mac_address/
│ │ ├── device_interface_id.tf
│ │ ├── object_type_device.tf
│ │ ├── object_type_virtual_machine.tf
│ │ ├── standalone.tf
│ │ └── virtual_machine_interface_id.tf
│ ├── netbox_manufacturer/
│ │ └── resource.tf
│ ├── netbox_module/
│ │ └── resource.tf
│ ├── netbox_module_type/
│ │ └── resource.tf
│ ├── netbox_permission/
│ │ └── resource.tf
│ ├── netbox_platform/
│ │ └── resource.tf
│ ├── netbox_power_feed/
│ │ └── resource.tf
│ ├── netbox_power_panel/
│ │ └── resource.tf
│ ├── netbox_prefix/
│ │ └── resource.tf
│ ├── netbox_primary_ip/
│ │ └── resource.tf
│ ├── netbox_rack/
│ │ └── resource.tf
│ ├── netbox_rack_reservation/
│ │ └── resource.tf
│ ├── netbox_rack_role/
│ │ └── resource.tf
│ ├── netbox_rack_type/
│ │ └── resource.tf
│ ├── netbox_region/
│ │ └── resource.tf
│ ├── netbox_rir/
│ │ └── resource.tf
│ ├── netbox_route_target/
│ │ └── resource.tf
│ ├── netbox_service/
│ │ └── resource.tf
│ ├── netbox_site/
│ │ └── resource.tf
│ ├── netbox_site_group/
│ │ └── resource.tf
│ ├── netbox_tag/
│ │ └── resource.tf
│ ├── netbox_tenant/
│ │ └── resource.tf
│ ├── netbox_tenant_group/
│ │ └── resource.tf
│ ├── netbox_token/
│ │ └── resource.tf
│ ├── netbox_user/
│ │ └── resource.tf
│ ├── netbox_virtual_chassis/
│ │ └── resource.tf
│ ├── netbox_virtual_disk/
│ │ └── resource.tf
│ ├── netbox_virtual_machine/
│ │ └── resource.tf
│ ├── netbox_vlan/
│ │ └── resource.tf
│ ├── netbox_vlan_group/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel_group/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel_termination/
│ │ └── resource.tf
│ ├── netbox_vrf/
│ │ └── resource.tf
│ ├── netbox_webhook/
│ │ └── resource.tf
│ ├── netbox_wireless_lan/
│ │ └── resource.tf
│ └── netbox_wireless_lan_group/
│ └── resource.tf
├── go.mod
├── go.sum
├── main.go
├── netbox/
│ ├── client.go
│ ├── client_test.go
│ ├── custom_fields.go
│ ├── custom_fields_test.go
│ ├── data_source_netbox_asn.go
│ ├── data_source_netbox_asn_test.go
│ ├── data_source_netbox_asns.go
│ ├── data_source_netbox_asns_test.go
│ ├── data_source_netbox_available_prefix.go
│ ├── data_source_netbox_available_prefix_test.go
│ ├── data_source_netbox_cluster.go
│ ├── data_source_netbox_cluster_group.go
│ ├── data_source_netbox_cluster_group_test.go
│ ├── data_source_netbox_cluster_test.go
│ ├── data_source_netbox_cluster_type.go
│ ├── data_source_netbox_cluster_type_test.go
│ ├── data_source_netbox_clusters.go
│ ├── data_source_netbox_clusters_test.go
│ ├── data_source_netbox_config_context.go
│ ├── data_source_netbox_config_context_test.go
│ ├── data_source_netbox_contact.go
│ ├── data_source_netbox_contact_group.go
│ ├── data_source_netbox_contact_group_test.go
│ ├── data_source_netbox_contact_role.go
│ ├── data_source_netbox_contact_role_test.go
│ ├── data_source_netbox_contact_test.go
│ ├── data_source_netbox_device_interfaces.go
│ ├── data_source_netbox_device_interfaces_test.go
│ ├── data_source_netbox_device_power_ports.go
│ ├── data_source_netbox_device_power_ports_test.go
│ ├── data_source_netbox_device_render_config.go
│ ├── data_source_netbox_device_render_config_test.go
│ ├── data_source_netbox_device_role.go
│ ├── data_source_netbox_device_role_test.go
│ ├── data_source_netbox_device_type.go
│ ├── data_source_netbox_device_type_test.go
│ ├── data_source_netbox_devices.go
│ ├── data_source_netbox_devices_pagination_test.go
│ ├── data_source_netbox_devices_test.go
│ ├── data_source_netbox_interfaces.go
│ ├── data_source_netbox_interfaces_test.go
│ ├── data_source_netbox_ip_address.go
│ ├── data_source_netbox_ip_address_test.go
│ ├── data_source_netbox_ip_addresses.go
│ ├── data_source_netbox_ip_addresses_test.go
│ ├── data_source_netbox_ip_range.go
│ ├── data_source_netbox_ip_range_test.go
│ ├── data_source_netbox_ip_ranges.go
│ ├── data_source_netbox_ip_ranges_test.go
│ ├── data_source_netbox_ipam_role.go
│ ├── data_source_netbox_ipam_role_test.go
│ ├── data_source_netbox_location.go
│ ├── data_source_netbox_location_test.go
│ ├── data_source_netbox_locations.go
│ ├── data_source_netbox_locations_test.go
│ ├── data_source_netbox_platform.go
│ ├── data_source_netbox_platform_test.go
│ ├── data_source_netbox_prefix.go
│ ├── data_source_netbox_prefix_test.go
│ ├── data_source_netbox_prefixes.go
│ ├── data_source_netbox_prefixes_test.go
│ ├── data_source_netbox_rack_role.go
│ ├── data_source_netbox_rack_role_test.go
│ ├── data_source_netbox_racks.go
│ ├── data_source_netbox_racks_test.go
│ ├── data_source_netbox_region.go
│ ├── data_source_netbox_region_test.go
│ ├── data_source_netbox_rir.go
│ ├── data_source_netbox_rir_test.go
│ ├── data_source_netbox_route_target.go
│ ├── data_source_netbox_route_target_test.go
│ ├── data_source_netbox_site.go
│ ├── data_source_netbox_site_group.go
│ ├── data_source_netbox_site_group_test.go
│ ├── data_source_netbox_site_test.go
│ ├── data_source_netbox_tag.go
│ ├── data_source_netbox_tags.go
│ ├── data_source_netbox_tags_test.go
│ ├── data_source_netbox_tenant.go
│ ├── data_source_netbox_tenant_group.go
│ ├── data_source_netbox_tenant_group_test.go
│ ├── data_source_netbox_tenant_test.go
│ ├── data_source_netbox_tenants.go
│ ├── data_source_netbox_tenants_test.go
│ ├── data_source_netbox_virtual_disk.go
│ ├── data_source_netbox_virtual_disk_test.go
│ ├── data_source_netbox_virtual_machines.go
│ ├── data_source_netbox_virtual_machines_test.go
│ ├── data_source_netbox_vlan.go
│ ├── data_source_netbox_vlan_group.go
│ ├── data_source_netbox_vlan_group_test.go
│ ├── data_source_netbox_vlan_groups.go
│ ├── data_source_netbox_vlan_groups_test.go
│ ├── data_source_netbox_vlan_test.go
│ ├── data_source_netbox_vlans.go
│ ├── data_source_netbox_vlans_test.go
│ ├── data_source_netbox_vrf.go
│ ├── data_source_netbox_vrf_test.go
│ ├── data_source_netbox_vrfs.go
│ ├── data_source_netbox_vrfs_test.go
│ ├── generic_objects.go
│ ├── netbox_sweeper_test.go
│ ├── pagination.go
│ ├── pagination_test.go
│ ├── provider.go
│ ├── provider_test.go
│ ├── resource_netbox_aggregate.go
│ ├── resource_netbox_aggregate_test.go
│ ├── resource_netbox_asn.go
│ ├── resource_netbox_asn_test.go
│ ├── resource_netbox_available_ip_address.go
│ ├── resource_netbox_available_ip_address_test.go
│ ├── resource_netbox_available_prefix.go
│ ├── resource_netbox_available_prefix_test.go
│ ├── resource_netbox_available_vlan.go
│ ├── resource_netbox_available_vlan_test.go
│ ├── resource_netbox_cable.go
│ ├── resource_netbox_cable_test.go
│ ├── resource_netbox_circuit.go
│ ├── resource_netbox_circuit_provider.go
│ ├── resource_netbox_circuit_provider_test.go
│ ├── resource_netbox_circuit_termination.go
│ ├── resource_netbox_circuit_termination_test.go
│ ├── resource_netbox_circuit_test.go
│ ├── resource_netbox_circuit_type.go
│ ├── resource_netbox_circuit_type_test.go
│ ├── resource_netbox_cluster.go
│ ├── resource_netbox_cluster_group.go
│ ├── resource_netbox_cluster_group_test.go
│ ├── resource_netbox_cluster_test.go
│ ├── resource_netbox_cluster_type.go
│ ├── resource_netbox_cluster_type_test.go
│ ├── resource_netbox_config_context.go
│ ├── resource_netbox_config_context_test.go
│ ├── resource_netbox_config_template.go
│ ├── resource_netbox_config_template_test.go
│ ├── resource_netbox_contact.go
│ ├── resource_netbox_contact_assignment.go
│ ├── resource_netbox_contact_assignment_test.go
│ ├── resource_netbox_contact_group.go
│ ├── resource_netbox_contact_group_test.go
│ ├── resource_netbox_contact_role.go
│ ├── resource_netbox_contact_role_test.go
│ ├── resource_netbox_contact_test.go
│ ├── resource_netbox_custom_field.go
│ ├── resource_netbox_custom_field_choice_set.go
│ ├── resource_netbox_custom_field_choice_set_test.go
│ ├── resource_netbox_custom_field_test.go
│ ├── resource_netbox_device.go
│ ├── resource_netbox_device_bay.go
│ ├── resource_netbox_device_bay_template.go
│ ├── resource_netbox_device_bay_template_test.go
│ ├── resource_netbox_device_bay_test.go
│ ├── resource_netbox_device_console_port.go
│ ├── resource_netbox_device_console_port_test.go
│ ├── resource_netbox_device_console_server_port.go
│ ├── resource_netbox_device_console_server_port_test.go
│ ├── resource_netbox_device_front_port.go
│ ├── resource_netbox_device_front_port_test.go
│ ├── resource_netbox_device_interface.go
│ ├── resource_netbox_device_interface_test.go
│ ├── resource_netbox_device_module_bay.go
│ ├── resource_netbox_device_module_bay_test.go
│ ├── resource_netbox_device_power_feed.go
│ ├── resource_netbox_device_power_feed_test.go
│ ├── resource_netbox_device_power_outlet.go
│ ├── resource_netbox_device_power_outlet_test.go
│ ├── resource_netbox_device_power_port.go
│ ├── resource_netbox_device_power_port_test.go
│ ├── resource_netbox_device_primary_ip.go
│ ├── resource_netbox_device_primary_ip_test.go
│ ├── resource_netbox_device_rear_port.go
│ ├── resource_netbox_device_rear_port_test.go
│ ├── resource_netbox_device_role.go
│ ├── resource_netbox_device_role_test.go
│ ├── resource_netbox_device_test.go
│ ├── resource_netbox_device_type.go
│ ├── resource_netbox_device_type_test.go
│ ├── resource_netbox_event_rule.go
│ ├── resource_netbox_event_rule_test.go
│ ├── resource_netbox_group.go
│ ├── resource_netbox_group_test.go
│ ├── resource_netbox_interface.go
│ ├── resource_netbox_interface_template.go
│ ├── resource_netbox_interface_template_test.go
│ ├── resource_netbox_interface_test.go
│ ├── resource_netbox_inventory_item.go
│ ├── resource_netbox_inventory_item_role.go
│ ├── resource_netbox_inventory_item_role_test.go
│ ├── resource_netbox_inventory_item_test.go
│ ├── resource_netbox_ip_address.go
│ ├── resource_netbox_ip_address_test.go
│ ├── resource_netbox_ip_range.go
│ ├── resource_netbox_ip_range_test.go
│ ├── resource_netbox_ipam_role.go
│ ├── resource_netbox_ipam_role_test.go
│ ├── resource_netbox_location.go
│ ├── resource_netbox_location_test.go
│ ├── resource_netbox_mac_address.go
│ ├── resource_netbox_mac_address_test.go
│ ├── resource_netbox_manufacturer.go
│ ├── resource_netbox_manufacturer_test.go
│ ├── resource_netbox_module.go
│ ├── resource_netbox_module_test.go
│ ├── resource_netbox_module_type.go
│ ├── resource_netbox_module_type_test.go
│ ├── resource_netbox_permission.go
│ ├── resource_netbox_permission_test.go
│ ├── resource_netbox_platform.go
│ ├── resource_netbox_platform_test.go
│ ├── resource_netbox_power_panel.go
│ ├── resource_netbox_power_panel_test.go
│ ├── resource_netbox_prefix.go
│ ├── resource_netbox_prefix_test.go
│ ├── resource_netbox_primary_ip.go
│ ├── resource_netbox_primary_ip_test.go
│ ├── resource_netbox_rack.go
│ ├── resource_netbox_rack_reservation.go
│ ├── resource_netbox_rack_reservation_test.go
│ ├── resource_netbox_rack_role.go
│ ├── resource_netbox_rack_role_test.go
│ ├── resource_netbox_rack_test.go
│ ├── resource_netbox_rack_type.go
│ ├── resource_netbox_rack_type_test.go
│ ├── resource_netbox_region.go
│ ├── resource_netbox_region_test.go
│ ├── resource_netbox_rir.go
│ ├── resource_netbox_rir_test.go
│ ├── resource_netbox_route_target.go
│ ├── resource_netbox_route_target_test.go
│ ├── resource_netbox_service.go
│ ├── resource_netbox_service_test.go
│ ├── resource_netbox_site.go
│ ├── resource_netbox_site_group.go
│ ├── resource_netbox_site_group_test.go
│ ├── resource_netbox_site_test.go
│ ├── resource_netbox_tag.go
│ ├── resource_netbox_tag_test.go
│ ├── resource_netbox_tenant.go
│ ├── resource_netbox_tenant_group.go
│ ├── resource_netbox_tenant_group_test.go
│ ├── resource_netbox_tenant_test.go
│ ├── resource_netbox_token.go
│ ├── resource_netbox_token_test.go
│ ├── resource_netbox_user.go
│ ├── resource_netbox_user_test.go
│ ├── resource_netbox_virtual_chassis.go
│ ├── resource_netbox_virtual_chassis_test.go
│ ├── resource_netbox_virtual_disk.go
│ ├── resource_netbox_virtual_disk_migrate_v0.go
│ ├── resource_netbox_virtual_disk_test.go
│ ├── resource_netbox_virtual_machine.go
│ ├── resource_netbox_virtual_machine_migrate_v0.go
│ ├── resource_netbox_virtual_machine_migrate_v0_test.go
│ ├── resource_netbox_virtual_machine_migrate_v1.go
│ ├── resource_netbox_virtual_machine_migrate_v1_test.go
│ ├── resource_netbox_virtual_machine_test.go
│ ├── resource_netbox_vlan.go
│ ├── resource_netbox_vlan_group.go
│ ├── resource_netbox_vlan_group_test.go
│ ├── resource_netbox_vlan_test.go
│ ├── resource_netbox_vpn_tunnel.go
│ ├── resource_netbox_vpn_tunnel_group.go
│ ├── resource_netbox_vpn_tunnel_group_test.go
│ ├── resource_netbox_vpn_tunnel_termination.go
│ ├── resource_netbox_vpn_tunnel_termination_test.go
│ ├── resource_netbox_vpn_tunnel_test.go
│ ├── resource_netbox_vrf.go
│ ├── resource_netbox_vrf_test.go
│ ├── resource_netbox_webhook.go
│ ├── resource_netbox_webhook_test.go
│ ├── resource_netbox_wireless_helpers.go
│ ├── resource_netbox_wireless_lan.go
│ ├── resource_netbox_wireless_lan_group.go
│ ├── resource_netbox_wireless_lan_group_test.go
│ ├── resource_netbox_wireless_lan_test.go
│ ├── slug_test.go
│ ├── slugs.go
│ ├── tags.go
│ ├── tags_test.go
│ ├── util.go
│ ├── util_test.go
│ └── validation.go
├── scripts/
│ ├── allowed_subcategories.sh
│ └── ensure_docs_examples.sh
├── templates/
│ ├── index.md.tmpl
│ └── resources/
│ ├── available_ip_address.md.tmpl
│ ├── ip_address.md.tmpl
│ └── mac_address.md.tmpl
└── tools/
└── tools.go
================================================
FILE CONTENTS
================================================
================================================
FILE: .github/CODE_OF_CONDUCT.md
================================================
# Code of Conduct
HashiCorp Community Guidelines apply to you when interacting with the community
here on GitHub and contributing code.
Please read the full text at <https://www.hashicorp.com/community-guidelines>
================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
# Issue Reporting Guide
Hi there,
Thank you for opening an issue. Please note that we try to keep the Terraform
issue tracker reserved for bug reports and feature requests. For general usage
questions, please see: <https://www.terraform.io/community.html>.
## Terraform Version
Run `terraform -v` to show the version. If you are not running the latest
version of Terraform, please upgrade because your issue may have already been
fixed.
## Affected Resource(s)
Please list the resources as a list, for example:
- opc_instance
- opc_storage_volume
If this issue appears to affect multiple resources, it may be an issue with
Terraform's core, so please mention this.
## Terraform Configuration Files
```hcl
# Copy-paste your Terraform configurations here - for large Terraform configs,
# please use a service like Dropbox and share a link to the ZIP file. For
# security, you can also encrypt the files using our GPG public key.
```
## Debug Output
Please provide a link to a GitHub Gist containing the complete debug output:
<https://www.terraform.io/docs/internals/debugging.html>. Please do NOT paste
the debug output in the issue; just paste a link to the Gist.
## Panic Output
If Terraform produced a panic, please provide a link to a GitHub Gist containing
the output of the `crash.log`.
## Expected Behavior
What should have happened?
## Actual Behavior
What actually happened?
## Steps to Reproduce
Please list the steps required to reproduce the issue, for example:
1. `terraform apply`
## Important Factoids
Are there anything atypical about your accounts that we should know? For
example: Running in EC2 Classic? Custom version of OpenStack? Tight ACLs?
## References
Are there any other GitHub issues (open or closed) or Pull Requests that should
be linked here? For example:
- GH-1234
================================================
FILE: .github/allowed-subcategories.txt
================================================
Authentication
Circuits
Data Center Inventory Management (DCIM)
Extras
IP Address Management (IPAM)
Tenancy
Virtualization
VPN Tunnels
Wireless
================================================
FILE: .github/dependabot.yml
================================================
---
version: 2
updates:
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
time: "04:00"
open-pull-requests-limit: 10
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: daily
time: "04:00"
open-pull-requests-limit: 10
================================================
FILE: .github/workflows/check-allowed-subcategories.yml
================================================
---
name: check-allowed-subcategories
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: check-allowed-subcategories
run: bash scripts/allowed_subcategories.sh
================================================
FILE: .github/workflows/ci-testing.yml
================================================
---
name: ci-testing
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: test
run: make test
testacc:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
netbox-version:
- v4.3.0
# - v4.3.1 # with this version, we get {"scope":["Please select a site."]} for prefixes
- v4.3.2
- v4.3.3
- v4.3.4
- v4.3.5
- v4.3.6
- v4.3.7
- v4.4.0
- v4.4.1
- v4.4.2
# - v4.4.3 # this version cannot be spun up for testing due to TypeError: issubclass() arg 1 must be a class
- v4.4.4
- v4.4.5
- v4.4.6
- v4.4.7
- v4.4.8
- v4.4.9
- v4.4.10
steps:
- uses: actions/checkout@v6
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: testacc
run: make -e testacc
env:
NETBOX_VERSION: ${{ matrix.netbox-version }}
================================================
FILE: .github/workflows/ensure-docs-examples.yml
================================================
---
name: ensure-docs-examples
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: ensure-docs-examples
run: bash scripts/ensure_docs_examples.sh
================================================
FILE: .github/workflows/golangci-lint.yml
================================================
---
name: linting
on:
push:
branches:
- master
pull_request:
branches:
- master
permissions:
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
# pull-requests: read
jobs:
golangci:
name: golangci
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v9.2.0
with:
version: v2.11
doc-check:
name: docs check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-go@v6
with:
go-version-file: go.mod
- run: |
make docs
git add --intent-to-add --all
git diff --exit-code || (echo "::error title=Doc generation changes detected::Please update the docs and commit them to the PR" && exit 1)
================================================
FILE: .github/workflows/pre-commit.yml
================================================
---
name: pre-commit
on:
pull_request:
push:
branches: [master]
permissions: read-all
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Setup pre-commit
run: python -m pip install pre-commit
- name: Run pre-commit checks
uses: pre-commit/action@v3.0.1
================================================
FILE: .github/workflows/release.yml
================================================
---
# This GitHub action can publish assets for release when a tag is created.
# Currently its setup to run on any tag that matches the pattern "v*" (ie. v0.1.0).
#
# This uses an action (paultyng/ghaction-import-gpg) that assumes you set your
# private key in the `GPG_PRIVATE_KEY` secret and passphrase in the `PASSPHRASE`
# secret. If you would rather own your own GPG handling, please fork this action
# or use an alternative one for key handling.
#
# You will need to pass the `--batch` flag to `gpg` in your signing step
# in `goreleaser` to indicate this is being used in a non-interactive mode.
#
name: release
on:
push:
tags:
- "v*"
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Unshallow
run: git fetch --prune --unshallow
- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: go.mod
- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v7.0.0
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v7.2.1
with:
version: latest
args: release --clean
env:
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
================================================
FILE: .gitignore
================================================
*.dll
*.exe
.envrc
.DS_Store
example.tf
terraform.tfplan
terraform.tfstate
bin/
dist/
modules-dev/
/pkg/
website/.vagrant
website/.bundle
website/build
website/node_modules
.vagrant/
*.backup
./*.tfstate
.terraform/
*.log
*.bak
*~
.*.swp
.idea
*.iml
*.test
*.iml
website/vendor
# Test exclusions
!command/test-fixtures/**/*.tfstate
!command/test-fixtures/**/.terraform/
# Keep windows files with windows line endings
*.winfile eol=crlf
# Locally compiled provider
terraform-provider-netbox
================================================
FILE: .golangci.yml
================================================
---
version: "2"
linters:
enable:
- staticcheck
- whitespace
disable:
- errcheck
exclusions:
generated: lax
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
paths:
- third_party$
- builtin$
- examples$
formatters:
exclusions:
generated: lax
paths:
- third_party$
- builtin$
- examples$
================================================
FILE: .goreleaser.yml
================================================
---
# Visit https://goreleaser.com for documentation on how to customize this
# behavior.
version: 2
before:
hooks:
# this is just an example and not a requirement for provider building/publishing
- go mod tidy
builds:
- env:
# goreleaser does not work with CGO, it could also complicate
# usage by users in CI/CD systems like Terraform Cloud where
# they are unable to install libraries.
- CGO_ENABLED=0
mod_timestamp: "{{ .CommitTimestamp }}"
flags:
- -trimpath
ldflags:
- "-s -w -X main.version={{.Version}} -X main.commit={{.Commit}}"
goos:
# - freebsd
- windows
- linux
- darwin
goarch:
- amd64
- "386"
# - arm
- arm64
ignore:
- goos: darwin
goarch: "386"
binary: "{{ .ProjectName }}_v{{ .Version }}"
archives:
- format: zip
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS"
algorithm: sha256
signs:
- artifacts: checksum
args:
# if you are using this is a GitHub action or some other automated pipeline, you
# need to pass the batch flag to indicate its not interactive.
- "--batch"
- "--local-user"
- "{{ .Env.GPG_FINGERPRINT }}" # set this environment variable for your signing key
- "--output"
- "${signature}"
- "--detach-sign"
- "${artifact}"
release:
# If you want to manually examine the release before its live, uncomment this line:
# draft: true
changelog:
disable: true
================================================
FILE: .markdownlint.yaml
================================================
---
MD013: false
================================================
FILE: .pre-commit-config.yaml
================================================
---
default_stages:
- commit
default_install_hook_types:
- commit-msg
- pre-commit
- prepare-commit-msg
exclude: "^docs/|^CHANGELOG.md$"
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: "v4.5.0"
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-vcs-permalinks
- id: check-xml
- id: check-yaml
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: forbid-new-submodules
- id: trailing-whitespace
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.1.0"
hooks:
- id: prettier
exclude: "^project/"
- repo: https://github.com/igorshubovych/markdownlint-cli
rev: "v0.38.0"
hooks:
- id: markdownlint-fix
name: markdownlint
- repo: https://github.com/adrienverge/yamllint
rev: "v1.33.0"
hooks:
- id: yamllint
entry: yamllint --strict
- repo: https://github.com/pecigonzalo/pre-commit-shfmt
rev: "v2.1.0"
hooks:
- id: shell-fmt-go
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: "v0.9.0.6"
hooks:
- id: shellcheck
- repo: https://github.com/rhysd/actionlint
rev: "v1.6.26"
hooks:
- id: actionlint
================================================
FILE: .prettierignore
================================================
# ignore generated documentation
docs/
================================================
FILE: .terraform-registry
================================================
Request: change owner to fbreckle
Registry Link: https://registry.terraform.io/providers/e-breuninger/netbox
Request by: fabian.breckle@breuninger.de
================================================
FILE: .yamllint.yaml
================================================
---
extends: default
rules:
comments:
min-spaces-from-content: 1
line-length: disable
truthy:
allowed-values: ["true", "false"]
check-keys: false
comments-indentation:
ignore: |
.goreleaser.yml
================================================
FILE: CHANGELOG.md
================================================
## 5.3.0 (April 9th, 2026)
ENHANCEMENTS
* provider: Now supports using [v2 API tokens](https://netboxlabs.com/docs/netbox/integrations/rest-api/#authenticating-to-the-api) ([#862](https://github.com/e-breuninger/terraform-provider-netbox/pull/862) by [@MrKeiKun](https://github.com/MrKeiKun))
Note that this is a NetBox v4.5 feature. This provider does not officially support v4.5 versions yet.
* **New Resource:** `netbox_wireless_lan` ([#859](https://github.com/e-breuninger/terraform-provider-netbox/pull/859) by [@JonasKop](https://github.com/JonasKop))
* **New Resource:** `netbox_wireless_lan_group` ([#859](https://github.com/e-breuninger/terraform-provider-netbox/pull/859) by [@JonasKop](https://github.com/JonasKop))
* resource/netbox_virtual_machine: Support auto-calculation of `disk_size_mb` attribute ([#854](https://github.com/e-breuninger/terraform-provider-netbox/pull/854) by [@keshy7](https://github.com/keshy7))
* resource/netbox_ip_range: Add `custom_fields` attribute ([#842](https://github.com/e-breuninger/terraform-provider-netbox/pull/842) by [@jonas-sjodin-stegra](https://github.com/jonas-sjodin-stegra))
* resource/netbox_available_ip_address: Add `custom_fields` attribute ([#841](https://github.com/e-breuninger/terraform-provider-netbox/pull/841) by [@jonas-sjodin-stegra](https://github.com/jonas-sjodin-stegra))
* resource/netbox_interface: Add `bridge_interface_id` attribute ([#856](https://github.com/e-breuninger/terraform-provider-netbox/pull/856) by [@mraerino](https://github.com/mraerino))
* data-source/netbox_ip_addresses: Add `custom_fields` attribute ([#848](https://github.com/e-breuninger/terraform-provider-netbox/pull/848) by [@jonas-sjodin-stegra](https://github.com/jonas-sjodin-stegra))
* data-source/netbox_vlans: Add `id` attribute ([#662](https://github.com/e-breuninger/terraform-provider-netbox/pull/662) by [@rypti](https://github.com/rypti))
* resource/netbox_cable: Add `usb` as option for `type` attribute ([#858](https://github.com/e-breuninger/terraform-provider-netbox/pull/858) by [@JonasKop](https://github.com/JonasKop))
BUG FIXES
* provider: use better error checking in many read functions ([#864](https://github.com/e-breuninger/terraform-provider-netbox/pull/864) by [@MrKeiKun](https://github.com/MrKeiKun))
* resource/netbox_token: Handle `expires` field correctly ([#853](https://github.com/e-breuninger/terraform-provider-netbox/pull/853) by [@Oceaneyes123](https://github.com/Oceaneyes123))
## 5.2.1 (March 12th, 2026)
ENHANCEMENTS
* All plural data sources now use pagination ([#846](https://github.com/e-breuninger/terraform-provider-netbox/pull/846) by [@mcanevet](https://github.com/mcanevet))
* Ignore unset custom fields ([#844](https://github.com/e-breuninger/terraform-provider-netbox/pull/844) by [@mcanevet](https://github.com/mcanevet))
## 5.2.0 (March 11th, 2026)
ENHANCEMENTS
* **New Data Source:** `netbox_vlan_groups` ([#787](https://github.com/e-breuninger/terraform-provider-netbox/pull/787) by [@hp197](https://github.com/hp197))
* data-source/netbox_vlan_group: Add `id` attribute ([#787](https://github.com/e-breuninger/terraform-provider-netbox/pull/787) by [@hp197](https://github.com/hp197))
* data-source/netbox_ip_range: Add many missing filters ([#827](https://github.com/e-breuninger/terraform-provider-netbox/pull/827) by [@oliverwiegers](https://github.com/oliverwiegers))
BUG FIXES
* resource/netbox_available_ip_address: Force replacement when `prefix_id` or `ip_range_id` changes ([#837](https://github.com/e-breuninger/terraform-provider-netbox/pull/837) by [@bl0way](https://github.com/bl0way))
## 5.1.0 (January 26th, 2026)
ENHANCEMENTS
* **New Data Source:** `netbox_device_render_config` ([#816](https://github.com/e-breuninger/terraform-provider-netbox/pull/816) by [@lgogolin](https://github.com/lgogolin))
* **New Data Source:** `netbox_clusters` ([#817](https://github.com/e-breuninger/terraform-provider-netbox/pull/817) by [@sasler](https://github.com/sasler))
* data-source/netbox_prefix: Add support for filtering netbox_prefix by custom fields ([#819](https://github.com/e-breuninger/terraform-provider-netbox/pull/819) by [@christopher-svensson-stegra](https://github.com/christopher-svensson-stegra))
BUG FIXES
* Fix an error where datasources with boolean custom fields returned 'expected type string, got unconvertible type bool' ([#814](https://github.com/e-breuninger/terraform-provider-netbox/pull/814) by [@mcanevet](https://github.com/mcanevet))
## 5.0.1 Ho-Ho-Ho (December 25th, 2025)
ENHANCEMENTS
* resource/netbox_circuit: Add `description` attribute ([#766](https://github.com/e-breuninger/terraform-provider-netbox/pull/766) by [@jakegroves](https://github.com/jakegroves))
* resource/netbox_circuit_provider: Add `description` attribute ([#766](https://github.com/e-breuninger/terraform-provider-netbox/pull/766) by [@jakegroves](https://github.com/jakegroves))
* resource/netbox_circuit_termination: Add `description` attribute ([#766](https://github.com/e-breuninger/terraform-provider-netbox/pull/766) by [@jakegroves](https://github.com/jakegroves))
* resource/netbox_circuit_type: Add `description` attribute ([#766](https://github.com/e-breuninger/terraform-provider-netbox/pull/766) by [@jakegroves](https://github.com/jakegroves))
* data-source/netbox_site: Add `physical_address` attribute to result ([#781](https://github.com/e-breuninger/terraform-provider-netbox/pull/781) by [@sytmd](https://github.com/sytmd))
* data_source/netbox_ip_addresses: Add `description` attribute to results ([#784](https://github.com/e-breuninger/terraform-provider-netbox/pull/784) by [@christopher-svensson-stegra](https://github.com/christopher-svensson-stegra))
* resource/netbox_event_rule: Allow `script` action type ([#799](https://github.com/e-breuninger/terraform-provider-netbox/pull/799) by [@jorgenspange](https://github.com/jorgenspange))
* data-source/netbox_prefixes: Add `custom_fields` to results ([#779](https://github.com/e-breuninger/terraform-provider-netbox/pull/779) by [@lgogolin](https://github.com/lgogolin))
* resource/netbox_webhook: Add `ca_file_path` attribute ([#797](https://github.com/e-breuninger/terraform-provider-netbox/pull/797) by [@jorgenspange](https://github.com/jorgenspange))
* data-source/netbox_virtual_machines: Add `platform_name` to results ([#810](https://github.com/e-breuninger/terraform-provider-netbox/pull/810) by [@Slartibartfast1](https://github.com/Slartibartfast1))
BUG FIXES
* resource/netbox_user: Fix date_joined datetime out of range error ([#796](https://github.com/e-breuninger/terraform-provider-netbox/pull/796) by [@luispcoutinho](https://github.com/luispcoutinho))
* resource/netbox_ip_address: Fix IP Address Assignment being removed despite being in ignore_changes ([#790](https://github.com/e-breuninger/terraform-provider-netbox/pull/790) by [@chuyang-wang-dev](https://github.com/chuyang-wang-dev))
## 5.0.0 (September 12th, 2025)
ENHANCEMENTS
provider: Now supports NetBox 4.3.x and 4.4.0
## 4.3.1 (September 12th, 2025)
ENHANCEMENTS
* provider: Allow setting a CA file in the provider ([#765](https://github.com/e-breuninger/terraform-provider-netbox/pull/765) by [@bodgit](https://github.com/bodgit))
## 4.3.0 (September 11th, 2025)
ENHANCEMENTS
* **New Data Source:** `netbox_rir` ([#759](https://github.com/e-breuninger/terraform-provider-netbox/pull/759) by [@MrKeiKun](https://github.com/MrKeiKun))
* data-source/netbox_prefixes: Allow filtering by `description` ([#756](https://github.com/e-breuninger/terraform-provider-netbox/pull/756) by [@jonas-sjodin-h2gs](https://github.com/jonas-sjodin-h2gs))
* resource/netbox_contact: Add `link` and `description` attributes ([#753](https://github.com/e-breuninger/terraform-provider-netbox/pull/753) by [@hikhvar](https://github.com/hikhvar))
* resource/netbox_ip_range: Add `size` attribute ([#761](https://github.com/e-breuninger/terraform-provider-netbox/pull/761) by [@MrKeiKun](https://github.com/MrKeiKun))
* data-source/netbox_device_interfaces: Add `type` attribute to results ([#764](https://github.com/e-breuninger/terraform-provider-netbox/pull/764) by [@xvzf](https://github.com/xvzf))
BUG FIXES
* resource/netbox_available_ip_address: Prevent provider crash when no IP is available ([#760](https://github.com/e-breuninger/terraform-provider-netbox/pull/760) by [@MrKeiKun](https://github.com/MrKeiKun))
## 4.2.0 (August 20th, 2025)
ENHANCEMENTS
* **New Resource:** `netbox_device_bay` ([#734](https://github.com/e-breuninger/terraform-provider-netbox/pull/734) by [@kyleprice](https://github.com/kyleprice))
* **New Resource:** `netbox_device_bay_template` ([#734](https://github.com/e-breuninger/terraform-provider-netbox/pull/734) by [@kyleprice](https://github.com/kyleprice))
* **New Data Source:** `netbox_ip_address` ([#743](https://github.com/e-breuninger/terraform-provider-netbox/pull/743) by [@c24holdingit](https://github.com/c24holdingit))
* resource/netbox_device_type: Add `subdevice_role` field ([#734](https://github.com/e-breuninger/terraform-provider-netbox/pull/734) by [@kyleprice](https://github.com/kyleprice))
* data-source/netbox_device_type: Add `subdevice_role` field ([#734](https://github.com/e-breuninger/terraform-provider-netbox/pull/734) by [@kyleprice](https://github.com/kyleprice))
* resource/netbox_token: Add `expires` field ([#742](https://github.com/e-breuninger/terraform-provider-netbox/pull/742) by [@thomas-VIGINUM](https://github.com/thomas-VIGINUM))
## 4.1.0 (July 2nd, 2025)
ENHANCEMENTS
* **New Data Source:** `netbox_virtual_disk` ([#731](https://github.com/e-breuninger/terraform-provider-netbox/pull/731) by [@lgogolin](https://github.com/lgogolin))
* resource/netbox_available_prefix: Add `custom_fields` attribute ([#679](https://github.com/e-breuninger/terraform-provider-netbox/pull/679) by [@rs-hock](https://github.com/rs-hock))
* data-source/netbox_devices: Add `oob_ip` attribute to output([#705](https://github.com/e-breuninger/terraform-provider-netbox/pull/705) by [@sempervictus](https://github.com/sempervictus))
BUG FIXES
* provider: Now properly detects netbox-docker versions
## 4.0.0 (June 12th, 2025)
**BREAKING CHANGES**
NetBox 4.2 came with some breaking changes and these are reflected in the provider.
* resource/netbox_device_interface: Make `mac_address` attribute read-only
* resource/netbox_device_interface: Add read-only `mac_addresses` attribute
ENHANCEMENTS
provider: Now supports NetBox 4.2.x
* **New Resource:** `netbox_mac_address`
* resource/netbox_cluster: Add `location_id`, `site_group_id`, `region_id`, `scope_id` and `scope_type` attributes
* resource/netbox_prefix: Add `location_id`, `site_group_id` and `region_id` attributes
* resource/netbox_device_interface: Allow `q-in-q` value in `mode` attribute
* resource/netbox_circuit_termination: Add `location_id`, `site_group_id`, `region_id`, `site_id` and `provider_network_id` attributes
BUG FIXES
* resource/netbox_location: Mark `site_id` as required
## 3.11.1 (June 12th, 2025)
ENHANCEMENTS
* **New Data Source:** `netbox_device_power_ports` ([#721](https://github.com/e-breuninger/terraform-provider-netbox/pull/721) by [@mraerino](https://github.com/mraerino))
* **New Resource:** `netbox_available_vlan` ([#717](https://github.com/e-breuninger/terraform-provider-netbox/pull/717) by [@MacherelR](https://github.com/MacherelR))
## 3.11.0 (May 27th, 2025)
* provider: Add `default_tags` attribute ([#711](https://github.com/e-breuninger/terraform-provider-netbox/pull/711) by [@mraerino](https://github.com/mraerino))
ENHANCEMENTS
* **New Data Source:** `netbox_ip_ranges` ([#719](https://github.com/e-breuninger/terraform-provider-netbox/pull/719) by [@waza-ari](https://github.com/waza-ari))
* resource/netbox_device: Allow `decommissioning` value in `status` attribute ([#767](https://github.com/e-breuninger/terraform-provider-netbox/pull/767) by [@sboschman](https://github.com/sboschman))
* resource/netbox_site: Add `comments` attribute ([#710](https://github.com/e-breuninger/terraform-provider-netbox/pull/710) by [@mraerino](https://github.com/mraerino))
* resource/netbox_user: Add `email`, `first_name` and `last_name` attributes ([#693](https://github.com/e-breuninger/terraform-provider-netbox/pull/693) by [@mraerino](https://github.com/mraerino))
* data-source/netbox_device_interfaces: Add `limit` attribute ([#695](https://github.com/e-breuninger/terraform-provider-netbox/pull/695) by [@sempervictus](https://github.com/sempervictus))
* resource/netbox_group: Add `description` attribute ([#694](https://github.com/e-breuninger/terraform-provider-netbox/pull/694) by [@mraerino](https://github.com/mraerino))
* resource/netbox_location: Add `facility` attribute ([#718](https://github.com/e-breuninger/terraform-provider-netbox/pull/718) by [@mraerino](https://github.com/mraerino))
* data-source/netbox_locations: Add `facility` attribute ([#718](https://github.com/e-breuninger/terraform-provider-netbox/pull/718) by [@mraerino](https://github.com/mraerino))
## 3.10.0 (January 9th, 2025)
**BREAKING CHANGES**
NetBox 4.1 came with some breaking changes and these are reflected in the provider.
* resource/netbox_event_rule: Replace `trigger_on_X` attributes with `event_types` list attribute
* resource/netbox_racks: Remove `type` attribute
* resource/netbox_virtual_disk: Change `size_gb` attribute to `size_mb`
* resource/netbox_virtual_machine: Change `disk_size_gb` attribute to `disk_size_mb`
* resource/netbox_vlan_group: Remove `min_vid` and `max_vid` attributes in favor of `vid_ranges` attribute
ENHANCEMENTS
provider: Now supports NetBox 4.1.x
* **New Resource:** `netbox_rack_type`
* resource/netbox_racks: Add `form_factor` attribute
## 3.9.3 (January 9th, 2025)
ENHANCEMENTS
* resource/netbox_custom_field: Add `default` attribute ([#647](https://github.com/e-breuninger/terraform-provider-netbox/pull/647) by [@jenxie](https://github.com/jenxie))
* data-source/netbox_vlans: Allow filtering by `site_id` ([#654](https://github.com/e-breuninger/terraform-provider-netbox/pull/654) by [@i-am-smolli](https://github.com/i-am-smolli))
* data-source/netbox_vlan_group: Make `name` and `slug` definitions optional when `scope_type` is defined ([#657](https://github.com/e-breuninger/terraform-provider-netbox/pull/657) by [@TGM](https://github.com/TGM))
* resource/netbox_asn: Add `description` and `comments` attributes ([#664](https://github.com/e-breuninger/terraform-provider-netbox/pull/664) by [@ymylei](https://github.com/ymylei))
* data-source/netbox_prefix: Allow searching by `tenant_id` and `status` ([#666](https://github.com/e-breuninger/terraform-provider-netbox/pull/666) by [@xabinapal](https://github.com/xabinapal))
* data-source/netbox_prefixes: Allow searching by `tenant_id` ([#666](https://github.com/e-breuninger/terraform-provider-netbox/pull/666) by [@xabinapal](https://github.com/xabinapal))
## 3.9.2 (October 10th, 2024)
ENHANCEMENTS
* provider: Include 4.0.11 in supported versions
* resource/netbox_ip_address: Add `custom_fields` attribute ([#638](https://github.com/e-breuninger/terraform-provider-netbox/pull/638) by [@greatman](https://github.com/greatman))
* resource/netbox_service: Add `device_id`, `description` and `tags` attributes ([#637](https://github.com/e-breuninger/terraform-provider-netbox/pull/637) by [@STANIAC](https://github.com/STANIAC))
* data-source/netbox_vrf: Fix a bug where `tenant_id` was not used ([#643](https://github.com/e-breuninger/terraform-provider-netbox/pull/643) by [@c3JpbmkK](https://github.com/c3JpbmkK))
## 3.9.1 (September 2nd, 2024)
ENHANCEMENTS
provider: Include 4.0.9 and 4.0.10 in supported versions
## 3.9.0 (August 10th, 2024)
ENHANCEMENTS
provider: Now is tested against (= supports) the NetBox 4.0.x range
## 3.8.9 (July 31st, 2024)
ENHANCEMENTS
* data-source/netbox_virtual_machines: Add `status` attribute ([#612](https://github.com/e-breuninger/terraform-provider-netbox/pull/612) by [@twink0r](https://github.com/twink0r))
* data-source/netbox_vlans: Add `tag_ids` attribute ([#621](https://github.com/e-breuninger/terraform-provider-netbox/pull/621) by [@Piethan](https://github.com/Piethan))
* data-source/netbox_vlans: Add `status` attribute ([#622](https://github.com/e-breuninger/terraform-provider-netbox/pull/622) by [@Piethan](https://github.com/Piethan))
* data-source/netbox_devices: Add `device_type_id` attribute ([#624](https://github.com/e-breuninger/terraform-provider-netbox/pull/624) by [@Piethan](https://github.com/Piethan))
## 3.8.8 (July 22th, 2024)
ENHANCEMENTS
* data-source/netbox_prefixes: Add `contains` and `site_id` attributes ([#617](https://github.com/e-breuninger/terraform-provider-netbox/pull/617) by [@tagur87](https://github.com/tagur87))
BUG FIXES
* resource/netbox_vpn_tunnel_termination: Fix a interface conversion panic when updating tunnel terminations ([#616](https://github.com/e-breuninger/terraform-provider-netbox/pull/616) by [@mraerino](https://github.com/mraerino))
## 3.8.7 (June 28th, 2024)
ENHANCEMENTS
* **New Resource:** `netbox_interface_template` ([#588](https://github.com/e-breuninger/terraform-provider-netbox/pull/588) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* **New Resource:** `netbox_config_context` ([#590](https://github.com/e-breuninger/terraform-provider-netbox/pull/590) by [@diogenxs](https://github.com/diogenxs))
* **New Data Source:** `netbox_config_context` ([#590](https://github.com/e-breuninger/terraform-provider-netbox/pull/590) by [@diogenxs](https://github.com/diogenxs))
* data-source/netbox_devices: Add `config_context` and `local_context_data` attributes ([#590](https://github.com/e-breuninger/terraform-provider-netbox/pull/590) by [@diogenxs](https://github.com/diogenxs))
* resource/netbox_device_interface: Add `label` attribute ([#605](https://github.com/e-breuninger/terraform-provider-netbox/pull/605) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* **New Resource:** `netbox_config_template` ([#604](https://github.com/e-breuninger/terraform-provider-netbox/pull/604) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* resource/netbox_device: Add `config_template_id` attribute ([#604](https://github.com/e-breuninger/terraform-provider-netbox/pull/604) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* data-source/netbox_prefix: Add `role_id` and `custom_fields` attributes ([#607](https://github.com/e-breuninger/terraform-provider-netbox/pull/607) by [@ad8lmondy](https://github.com/ad8lmondy))
* resource/netbox_platform: Add `manufacturer_id` attribute ([#608](https://github.com/e-breuninger/terraform-provider-netbox/pull/608) by [@ad8lmondy](https://github.com/ad8lmondy))
* data-source/netbox_platform: Add `manufacturer_id` attribute ([#608](https://github.com/e-breuninger/terraform-provider-netbox/pull/608) by [@ad8lmondy](https://github.com/ad8lmondy))
## 3.8.6 (May 17th, 2024)
ENHANCEMENTS
* resource/netbox_rir: Add `is_private` attribute ([#594](https://github.com/e-breuninger/terraform-provider-netbox/pull/594) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* resource/netbox_vrf: Add `rd` and `enforce_unique` attributes ([#585](https://github.com/e-breuninger/terraform-provider-netbox/pull/585) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* **New Resource:** `netbox_group` ([#584](https://github.com/e-breuninger/terraform-provider-netbox/pull/584) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
* resource/netbox_user: Add `group_ids` attribute ([#584](https://github.com/e-breuninger/terraform-provider-netbox/pull/584) by [@thibaultbustarret-ovhcloud](https://github.com/thibaultbustarret-ovhcloud))
## 3.8.5 (March 18th, 2024)
BUG FIXES
* All resources with `slug` attributes now properly allow for up to 100 characters in that attribute
## 3.8.4 (March 11th, 2024)
ENHANCEMENTS
* data-source/netbox_interfaces: Add `limit` attribute
## 3.8.3 (March 8th, 2024)
ENHANCEMENTS
* **New Resource:** `netbox_vpn_tunnel_termination`
## 3.8.2 (March 4th, 2024)
ENHANCEMENTS
* **New Resource:** `netbox_virtual_disk` ([#558](https://github.com/e-breuninger/terraform-provider-netbox/pull/558) by [@Ikke](https://github.com/Ikke))
* resource/netbox_prefix: Add `custom_fields` attribute ([#553](https://github.com/e-breuninger/terraform-provider-netbox/pull/553) by [@nothinux](https://github.com/nothinux))
## 3.8.1 (February 16th, 2024)
ENHANCEMENTS
* **New Resource:** `netbox_vpn_tunnel_group`
* **New Resource:** `netbox_vpn_tunnel`
* data-source/netbox_virtual_machines: Add `platform_slug` attribute
* data-source/netbox_locations: Add `parent_id` attribute ([#548](https://github.com/e-breuninger/terraform-provider-netbox/pull/548) by [@GennadySpb](https://github.com/GennadySpb))
* data-source/netbox_location: Add `parent_id` attribute ([#548](https://github.com/e-breuninger/terraform-provider-netbox/pull/548) by [@GennadySpb](https://github.com/GennadySpb))
* resource/netbox_location: Add `parent_id` attribute ([#548](https://github.com/e-breuninger/terraform-provider-netbox/pull/548) by [@GennadySpb](https://github.com/GennadySpb))
* resource/device_type: Add `is_full_depth` attribute
## 3.8.0 (January 30th, 2024)
**BREAKING CHANGES**
Due to a change in NetBox 3.7's behavior regarding Webhooks and the corresponding changes in the API,
the `netbox_webhook` resource might cause problems with NetBox versions older than 3.7.0.
For all other resources and data sources, the provider should still perform fine with older NetBox versions.
* resource/netbox_webhook: Removed `enabled`, `trigger_on_create`, `trigger_on_update`, `trigger_on_delete`, `content_types` and `conditions`
ENHANCEMENTS
* provider: Now officially supports NetBox 3.7
* **New Resource:** `netbox_event_rule`
## 3.7.7 (January 30th, 2024)
BUG FIXES
* resource/netbox_device: Fix Virtual Chassis Master Update Function for Tag Input ([#532](https://github.com/e-breuninger/terraform-provider-netbox/pull/532) by [@adelekanley](https://github.com/adelekanley))
## 3.7.6 (January 2nd, 2024)
ENHANCEMENTS
* resource/netbox_webhook: Add `additional_headers` and `conditions` attributes ([#505](https://github.com/e-breuninger/terraform-provider-netbox/pull/505) by [@Ikke](https://github.com/Ikke))
* data-source/netbox_vrfs: Allow filtering by `tag` ([#513](https://github.com/e-breuninger/terraform-provider-netbox/pull/513) by [@sjurtf](https://github.com/sjurtf))
* data-source/netbox_virtual_machines: Allow filtering by `tenant_id` ([#511](https://github.com/e-breuninger/terraform-provider-netbox/pull/511) by [@sjurtf](https://github.com/sjurtf))
* data-source/netbox_ip_addresses: Allow filtering by `tag` ([#510](https://github.com/e-breuninger/terraform-provider-netbox/pull/510) by [@sjurtf](https://github.com/sjurtf))
* data-source/netbox_cluster: Allow filtering by `cluster_group_id` ([#528](https://github.com/e-breuninger/terraform-provider-netbox/pull/528) by [@Ikke](https://github.com/Ikke))
BUG FIXES
* resources/netbox_webhook: Fix a bug where JSON encoding would break drift detection ([#505](https://github.com/e-breuninger/terraform-provider-netbox/pull/505) by [@Ikke](https://github.com/Ikke))
* data-source/netbox_site: Mark optionally searchable attributes as `computed` as well ([#520](https://github.com/e-breuninger/terraform-provider-netbox/pull/520) by [@tagur87](https://github.com/tagur87))
## 3.7.5 (November 27th, 2023)
* **New Data Source:** `netbox_locations` ([#503](https://github.com/e-breuninger/terraform-provider-netbox/pull/503) by [@Ikke](https://github.com/Ikke))
## 3.7.4 (November 22nd, 2023)
ENHANCEMENTS
* **New Resource:** `netbox_virtual_chassis` ([#497](https://github.com/e-breuninger/terraform-provider-netbox/pull/497) by [@Ikke](https://github.com/Ikke))
* resource/netbox_device: Add `virtual_chassis_id`, `virtual_chassis_master`, `virtual_chassis_position` and `virtual_chassis_priority` attributes ([#500](https://github.com/e-breuninger/terraform-provider-netbox/pull/500) by [@Ikke](https://github.com/Ikke))
## 3.7.3 (November 3rd, 2023)
ENHANCEMENTS
* resource/netbox_site: Allow unsetting the `latitude` and `longitude` attributes ([#480](https://github.com/e-breuninger/terraform-provider-netbox/pull/480) by [@haipersuccor02](https://github.com/haipersuccor02))
* **New Data Source:** `netbox_tags` ([#484](https://github.com/e-breuninger/terraform-provider-netbox/pull/484) by [@zeddD1abl0](https://github.com/zeddD1abl0))
* data-source/netbox_ip_addresses: Allow filtering by `parent_prefix` ([#485](https://github.com/e-breuninger/terraform-provider-netbox/pull/485) by [@sjurtf](https://github.com/sjurtf))
* data-source/netbox_devices: Allow filtering by `tags` and `status` ([#491](https://github.com/e-breuninger/terraform-provider-netbox/pull/491) by [@Kenterfie](https://github.com/Kenterfie))
* **New Data Source:** `netbox_available_prefixes` ([#489](https://github.com/e-breuninger/terraform-provider-netbox/pull/489) by [@theochita](https://github.com/theochita))
* resource/netbox_device: Add `local_context_data` attribute ([#493](https://github.com/e-breuninger/terraform-provider-netbox/pull/493) by [@RickyRajinder](https://github.com/RickyRajinder))
## 3.7.2 (October 10th, 2023)
ENHANCEMENTS
* data-source/netbox_location: Allow searching by `site_id` ([#482](https://github.com/e-breuninger/terraform-provider-netbox/pull/482) by [@w87x](https://github.com/w87x))
* data-source/netbox_ip_addresses: Allow searching by `role`, `status`, `vrf` and `tenant` ([#479](https://github.com/e-breuninger/terraform-provider-netbox/pull/479) by [@sjurtf](https://github.com/sjurtf))
* data-source/netbox_site: Allow Searching by `facility` ([#483](https://github.com/e-breuninger/terraform-provider-netbox/pull/483) by [@ikke](https://github.com/ikke))
## 3.7.1 (September 25th, 2023)
ENHANCEMENTS
* **New Data Source:** `netbox_device_interfaces` ([#476](https://github.com/e-breuninger/terraform-provider-netbox/pull/476) by [@w87x](https://github.com/w87x))
* resource/netbox_token: Add `description` attribute ([#473](https://github.com/e-breuninger/terraform-provider-netbox/pull/473) by [@twink0r](https://github.com/twink0r))
* data-source/netbox_virtual_machines: Include `device_id` and `device_name` attributes in result ([#477](https://github.com/e-breuninger/terraform-provider-netbox/pull/477) by [@zeddD1abl0](https://github.com/zeddD1abl0))
## 3.7.0 (September 14th, 2023)
**BREAKING CHANGES**
* resource/netbox_custom_field: Replace `choices` attribute with `choice_set_id` attribute
ENHANCEMENTS
* provider: Now officially supports NetBox 3.6
* **New Resource:** `netbox_custom_field_choice_set`
## 3.6.2 (September 14th, 2023)
FEATURES
* **New Data Source:** `netbox_location` ([#467](https://github.com/e-breuninger/terraform-provider-netbox/pull/467) by [@w87x](https://github.com/w87x))
* data-source/netbox_virtual_machines: Allow searching by tag ([#466](https://github.com/e-breuninger/terraform-provider-netbox/pull/466) by [@twink0r](https://github.com/twink0r))
* resource/netbox_device: Add `asset_tag` attribute ([#470](https://github.com/e-breuninger/terraform-provider-netbox/pull/470) by [@bebehei](https://github.com/bebehei))
* resource/netbox_device_interface: Add `speed`, `lag_device_interface_id` and `parent_device_interface_id` attributes ([#469](https://github.com/e-breuninger/terraform-provider-netbox/pull/469) by [@bebehei](https://github.com/bebehei))
BUG FIXES
* resource/netbox_custom_field: Allow correct value `json` instead of `JSON` ([#459](https://github.com/e-breuninger/terraform-provider-netbox/pull/459) by [@menselman](https://github.com/menselman))
## 3.6.1 (August 31th, 2023)
FEATURES
* **New Resource:** `netbox_webhook` ([#438](https://github.com/e-breuninger/terraform-provider-netbox/pull/438) by [@haipersuccor02](https://github.com/haipersuccor02))
## 3.6.0 (August 18th, 2023)
**BREAKING CHANGES**
Due to a change in NetBox 3.5's behavior regarding ASN and the corresponding required changes in the go library that is used in this provider,
the `netbox_asn` resource and the `netbox_asns` data source are no longer supported in versions older than 3.5.
For all other resources and data sources, the provider should still perform fine with older NetBox versions.
ENHANCEMENTS
* provider: Now officially supports NetBox 3.5
## 3.5.5 (August 18th, 2023)
ENHANCEMENTS
* data-source/netbox_cluster: Allow searching by `id` field and include `custom_fields` attribute in output ([#457](https://github.com/e-breuninger/terraform-provider-netbox/pull/457) by [@fred-clement-91](https://github.com/fred-clement-91))
BUG FIXES
* resource/netbox_device_interface: Changing `mac_address` no longer needlessly forces a recreate of the resource ([#454](https://github.com/e-breuninger/terraform-provider-netbox/pull/454) by [@hamzazaman](https://github.com/hamzazaman))
## 3.5.4 (August 7th, 2023)
FEATURES
* **New Resource:** `netbox_cable` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_console_port` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_console_server_port` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_power_port` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_power_outlet` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_front_port` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_rear_port` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_device_module_bay` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_module` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_module_type` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_power_feed` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_power_panel` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_inventory_item_role` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_inventory_item` ([#450](https://github.com/e-breuninger/terraform-provider-netbox/pull/450) by [@joeyberkovitz](https://github.com/joeyberkovitz))
## 3.5.3 (August 4th, 2023)
ENHANCEMENTS
* resource/netbox_service: Add `custom_fields` attribute ([#448](https://github.com/e-breuninger/terraform-provider-netbox/pull/448) by [@sebastianreloaded](https://github.com/sebastianreloaded))
* data-source/netbox_site: Allow searching by `id` field
BUG FIXES
* resource/netbox_interface: Allow setting `enabled` to `false`
* resource/netbox_device_interface: Allow setting `enabled` to `false`
## 3.5.2 (August 3rd, 2023)
FEATURES
* **New Data Source:** `netbox_vrfs` ([#441](https://github.com/e-breuninger/terraform-provider-netbox/pull/441) by [@robvand](https://github.com/robvand))
ENHANCEMENTS
* Added `description` attribute to
- data-source/netbox_cluster
- data-source/netbox_devices
- data-source/netbox_virtual_machines
- resource/netbox_cluster
- resource/netbox_device
- resource/virtual_machine ([#401](https://github.com/e-breuninger/terraform-provider-netbox/pull/401) by [@tagur87](https://github.com/tagur87))
* data-source/netbox_devices: Return `tags` attribute
* resource/netbox_interface: Ignore drift when providing lowercase MAC addresses ([#446](https://github.com/e-breuninger/terraform-provider-netbox/pull/446) by [@bebehei](https://github.com/bebehei))
* resource/netbox_device_interface: Ignore drift when providing lowercase MAC addresses ([#446](https://github.com/e-breuninger/terraform-provider-netbox/pull/446) by [@bebehei](https://github.com/bebehei))
## 3.5.1 (July 24th, 2023)
BUG FIXES
* resource/netbox_ip_address: Use correct attribute when using the `device_interface_id` attribute ([#437](https://github.com/e-breuninger/terraform-provider-netbox/pull/437) by [@switchcorp](https://github.com/switchcorp))
* resource/netbox_primary_ip: Fix a bug where setting a primary IP unsets the `local_context_data` attribute ([#435](https://github.com/e-breuninger/terraform-provider-netbox/pull/435) by [@tagur87](https://github.com/tagur87))
## 3.5.0 (July 20th, 2023)
**BREAKING CHANGES**
Historically, this provider primarily handled virtual machines, so when linking a `netbox_ip_address` resource to an interface, the interface was initially assumed to always be a virtual machine interface. In [v3.1.0](https://github.com/e-breuninger/terraform-provider-netbox/commit/76f11292a162d88eb1616d9a5b7d70d986b2db3f), support was added for device interfaces by setting the newly introduced `object_type` attribute, once again defaulting to virtual machine interfaces. The valid values for `object_type` directly reflect the API values of NetBox, which are very unintuitive.
In this version, we make the type of connection between IP addresses and interfaces explicit: We introduce two new attributes: `virtual_machine_interface_id` and `device_interface_id` to the `netbox_ip_address` resource. These fields are easier to use and convey their meaning directly to the user. The `object_type` and `interface_id` method is still supported, but `object_type` no longer has a default value and is now mandatory when `interface_id` is used.
**Migration guide**
In your existing codebase:
* replace `interface_id` with `virtual_machine_interface_id` if `object_type` is currently unset or set to `virtualization.vminterface`
* replace `interface_id` with `device_interface_id` if `object_type` is currently set to `dcim.interface`
ENHANCEMENTS
* resource/netbox_ip_address: Add `virtual_machine_interface_id` and `device_interface_id` attributes
* resource/netbox_ip_address: Add `slaac` to the list of valid statuses
* resource/netbox_ip_address: Add `nat_inside_address_id` and `nat_outside_addresses` attributes
BUG FIXES
* resource/netbox_permission: Fix perpetual drift when `constraints` is nil ([#432](https://github.com/e-breuninger/terraform-provider-netbox/pull/432) by [@tagur87](https://github.com/tagur87))
## 3.4.1 (July 19th, 2023)
ENHANCEMENTS
* resource/netbox_cluster: Add `comments` attribute ([#429](https://github.com/e-breuninger/terraform-provider-netbox/pull/429) by [@edwin-bruurs](https://github.com/edwin-bruurs))
* data-source/netbox_prefix: Add `family` attribute ([#431](https://github.com/e-breuninger/terraform-provider-netbox/pull/431) by [@tagur87](https://github.com/tagur87))
BUG FIXES
* resource/netbox_virtual_machine: Fix `local_context_data` attribute ([#430](https://github.com/e-breuninger/terraform-provider-netbox/pull/430) by [@zeddD1abl0](https://github.com/zeddD1abl0))
## 3.4.0 (July 10th, 2023)
ENHANCEMENTS
* **New Resource:** `netbox_device_primary_ip` ([#424](https://github.com/e-breuninger/terraform-provider-netbox/pull/424) by [@Ikke](https://github.com/Ikke))
* resource/netbox_virtual_machine: Add `local_context_data` attribute ([#421](https://github.com/e-breuninger/terraform-provider-netbox/pull/421) by [@zeddD1abl0](https://github.com/zeddD1abl0))
BUG FIXES
* resource/netbox_primary_ip: Fix a bug where setting the primary ip of a VM unsets the device id
## 3.3.3 (June 28th, 2023)
ENHANCEMENTS
* **New Data Source:** `netbox_vlans` ([#420](https://github.com/e-breuninger/terraform-provider-netbox/pull/420) by [@danischm](https://github.com/danischm))
* resource/netbox_contact_assignment: Add `priority` attribute ([#418](https://github.com/e-breuninger/terraform-provider-netbox/pull/418) by [@Ikke](https://github.com/Ikke))
## 3.3.2 (June 12th, 2023)
ENHANCEMENTS
* **New Data Source:** `netbox_contact_role` ([#414](https://github.com/e-breuninger/terraform-provider-netbox/pull/414) by [@Ikke](https://github.com/Ikke))
## 3.3.1 (May 31th, 2023)
ENHANCEMENTS
* data-source/netbox_prefixes: Allow filtering by `site_id` ([#397](https://github.com/e-breuninger/terraform-provider-netbox/pull/397) by [@tagur87](https://github.com/tagur87))
* data-source/netbox_ip_addresses: Add `tags` attributes to output ([#406](https://github.com/e-breuninger/terraform-provider-netbox/pull/406) by [@pier-nl](https://github.com/pier-nl))
* Improved error handling for tags ([#400](https://github.com/e-breuninger/terraform-provider-netbox/pull/400) by [@tagur87](https://github.com/tagur87))
## 3.3.0 (May 7th, 2023)
ENHANCEMENTS
* **New Resource:** `netbox_permission` ([#390](https://github.com/e-breuninger/terraform-provider-netbox/pull/390) by [@tagur87](https://github.com/tagur87))
* **New Resource:** `netbox_contact_group` ([#366](https://github.com/e-breuninger/terraform-provider-netbox/pull/366) by [@leasley199](https://github.com/leasley199))
* **New Data Source:** `netbox_contact_group` ([#366](https://github.com/e-breuninger/terraform-provider-netbox/pull/366) by [@leasley199](https://github.com/leasley199))
* **New Data Source:** `netbox_contact` ([#366](https://github.com/e-breuninger/terraform-provider-netbox/pull/366) by [@leasley199](https://github.com/leasley199))
* data-source/netbox_cluster: Allow searching by `site_id`
BUG FIXES
* resource/netbox_prefix: Allow unsetting `description` attribute ([#382](https://github.com/e-breuninger/terraform-provider-netbox/pull/382) by [@DevOpsFu](https://github.com/DevOpsFu))
## 3.2.1 (April 27th, 2023)
ENHANCEMENTS
* **New Resource:** `netbox_vlan_group` ([#377](https://github.com/e-breuninger/terraform-provider-netbox/pull/377) by [@zeddD1abl0](https://github.com/zeddD1abl0))
* **New Data Source:** `netbox_vlan_group` ([#377](https://github.com/e-breuninger/terraform-provider-netbox/pull/377) by [@zeddD1abl0](https://github.com/zeddD1abl0))
* resource/netbox_vlan: Add `group_id` attribute ([#377](https://github.com/e-breuninger/terraform-provider-netbox/pull/377) by [@zeddD1abl0](https://github.com/zeddD1abl0))
BUG FIXES
* data-source/netbox_prefixes: Fix error when filtering by `vlan_vid` ([#381](https://github.com/e-breuninger/terraform-provider-netbox/pull/381) by [@zeddD1abl0](https://github.com/zeddD1abl0))
## 3.2.0 (March 26th, 2023)
ENHANCEMENTS
* **New Resource:** `netbox_route_target` ([#344](https://github.com/e-breuninger/terraform-provider-netbox/pull/344) by [@imdhruva](https://github.com/imdhruva))
* **New Resource:** `netbox_rack` ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_rack_reservation` ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Resource:** `netbox_rack_role` ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Data Source:** `netbox_ipam_role` ([#344](https://github.com/e-breuninger/terraform-provider-netbox/pull/344) by [@imdhruva](https://github.com/imdhruva))
* **New Data Source:** `netbox_route_target` ([#344](https://github.com/e-breuninger/terraform-provider-netbox/pull/344) by [@imdhruva](https://github.com/imdhruva))
* **New Data Source:** `netbox_racks` ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* **New Data Source:** `netbox_rack_role` ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* resource/netbox_device: Add `rack_face`, `rack_id` and `rack_position` attributes ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* data-source/netbox_device: Add `rack_face`, `rack_id` and `rack_position` attributes ([#358](https://github.com/e-breuninger/terraform-provider-netbox/pull/358) by [@joeyberkovitz](https://github.com/joeyberkovitz))
* data-source/netbox_prefixes: Add support for filtering by `status` and `tag` ([#367](https://github.com/e-breuninger/terraform-provider-netbox/pull/367) by [@kyle-burnett](https://github.com/kyle-burnett))
* resource/netbox_location: Add `description` attribute
* resource/netbox_rir: Add `description` attribute
* resource/netbox_vrf: Add `description` attribute
* data-source/netbox_prefixes: Include `description` attribute in search results
* data-source/netbox_ip_addresses: Add `limit` attribute (default 1000)
## 3.1.0 (February 19th, 2023)
CHANGES
* provider: `slug` fields are now generated to match the netbox GUI behavior
ENHANCEMENTS
* resource/netbox_interface: Updating `mac_address` no longer forces resource recreation ([#336](https://github.com/e-breuninger/terraform-provider-netbox/pull/336) by [@johann8384](https://github.com/johann8384))
* resource/netbox_site: Add `physical_address` and `shipping_address` ([#337](https://github.com/e-breuninger/terraform-provider-netbox/pull/337) by [@Ikke](https://github.com/Ikke))
* resource/netbox_ip_address: IP addresses can now be assigned to devices via the `object_type` field ([#341](https://github.com/e-breuninger/terraform-provider-netbox/pull/341) by [@arjenvri](https://github.com/arjenvri))
## 3.0.13 (January 24th, 2023)
ENHANCEMENTS
* data-source/netbox_prefix: Add `site_id` attribute ([#320](https://github.com/e-breuninger/terraform-provider-netbox/pull/320) by [@TGM](https://github.com/TGM))
## 3.0.12 (January 3rd, 2023)
ENHANCEMENTS
* resource/netbox_token: Add `write_enabled` attribute ([#309](https://github.com/e-breuninger/terraform-provider-netbox/pull/309) by [@keshy7](https://github.com/keshy7))
* data-source/netbox_interfaces: The resulting interfaces now have their interface ID set
BUG FIXES
* resource/site: Allow unsetting `description` attribute ([#314](https://github.com/e-breuninger/terraform-provider-netbox/pull/314) by [@keshy7](https://github.com/keshy7))
* resource/site: Set max length of the `slug` attribute to 100 ([#317](https://github.com/e-breuninger/terraform-provider-netbox/pull/317) by [@keshy7](https://github.com/keshy7))
## 3.0.11 (December 13th, 2022)
ENHANCEMENTS
* resource/netbox_available_ip_address: Add `role` attribute
BUG FIXES
* resource/netbox_location: Fix updates of the `site_id` attribute ([#307](https://github.com/e-breuninger/terraform-provider-netbox/pull/307) by [@nneul](https://github.com/nneul))
## 3.0.10 (November 24th, 2022)
ENHANCEMENTS
* provider: Add `strip_trailing_slashes_from_url` attribute
BUG FIXES
* data-source/netbox_region: Use correct field for slug attribute ([#302](https://github.com/e-breuninger/terraform-provider-netbox/pull/302) by [@paulexyz](https://github.com/paulexyz))
## 3.0.9 (November 17th, 2022)
ENHANCEMENTS
* data-source/netbox_vlan: Allow querying by `group_id`, `role` and `tenant` ([#287](https://github.com/e-breuninger/terraform-provider-netbox/pull/287) by [@tstarck](https://github.com/tstarck))
* data-source/netbox_prefix: Allow querying by `description` ([#298](https://github.com/e-breuninger/terraform-provider-netbox/pull/298) by [@luispcoutinho](https://github.com/luispcoutinho))
## 3.0.8 (November 9th, 2022)
ENHANCEMENTS
* **New Resource:** `netbox_device_interface` ([#286](https://github.com/e-breuninger/terraform-provider-netbox/pull/286) by [@arjenvri](https://github.com/arjenvri))
* **New Data Source:** `netbox_asn` ([#285](https://github.com/e-breuninger/terraform-provider-netbox/pull/285) by [@kyle-burnett](https://github.com/kyle-burnett))
* **New Data Source:** `netbox_asns` ([#292](https://github.com/e-breuninger/terraform-provider-netbox/pull/292) by [@kyle-burnett](https://github.com/kyle-burnett))
* data-source/netbox_prefix: Add `tags` and tag filter attributes ([#284](https://github.com/e-breuninger/terraform-provider-netbox/pull/284) by [@kyle-burnett](https://github.com/kyle-burnett))
BUG FIXES
* data-source/netbox_prefixes: Fix kernel panic when finding prefixes without vlan or vrf
## 3.0.7 (November 3rd, 2022)
ENHANCEMENTS
* **New Resource:** `netbox_contact_role` ([#279](https://github.com/e-breuninger/terraform-provider-netbox/pull/279) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_contact_assignment` ([#279](https://github.com/e-breuninger/terraform-provider-netbox/pull/279) by [@arjenvri](https://github.com/arjenvri))
* resource/netbox_device: Add `primary_ipv6` attribute ([#282](https://github.com/e-breuninger/terraform-provider-netbox/pull/282) by [@arjenvri](https://github.com/arjenvri))
* resource/netbox_virtual_machine: Add `primary_ipv6` attribute ([#283](https://github.com/e-breuninger/terraform-provider-netbox/pull/283) by [@arjenvri](https://github.com/arjenvri))
* resource/netbox_custom_field: Add `group_name` atribute ([#280](https://github.com/e-breuninger/terraform-provider-netbox/pull/280) by [@arjenvri](https://github.com/arjenvri))
## 3.0.6 (October 21st, 2022)
ENHANCEMENTS
* **New Resource:** `netbox_contact` ([#273](https://github.com/e-breuninger/terraform-provider-netbox/pull/273) by [@arjenvri](https://github.com/arjenvri))
* data-source/netbox_prefix: Add `description` attribute ([#277](https://github.com/e-breuninger/terraform-provider-netbox/pull/277) by [@holmesb](https://github.com/holmesb))
* resource/netbox_cluster: Add `tenant_id` attribute ([#275](https://github.com/e-breuninger/terraform-provider-netbox/pull/275) by [@arjenvri](https://github.com/arjenvri))
## 3.0.5 (October 18th, 2022)
ENHANCEMENTS
* resource/netbox_device_role: Add `tags` attribute ([#269](https://github.com/e-breuninger/terraform-provider-netbox/pull/269) by [@hollow](https://github.com/hollow))
* data-source/netbox_device_role: Add `tags` attribute ([#269](https://github.com/e-breuninger/terraform-provider-netbox/pull/269) by [@hollow](https://github.com/hollow))
CHANGES
* resource/netbox_service: Implement provider-side validation on allowed values. Valid values are `tcp`, `udp` and `sctp`.
## 3.0.4 (October 11th, 2022)
ENHANCEMENTS
* resource/netbox_device: Add `platform_id` attribute ([#264](https://github.com/e-breuninger/terraform-provider-netbox/pull/264) by [@mifrost](https://github.com/mifrost))
* **New Data Source:** `netbox_prefixes ` ([#253](https://github.com/e-breuninger/terraform-provider-netbox/pull/253) by [@ironashram](https://github.com/ironashram))
* data-source/netbox_prefix: Add `prefix`, `status`, `vlan_id`, `vlan_vid` attributes ([#253](https://github.com/e-breuninger/terraform-provider-netbox/pull/253) by [@ironashram](https://github.com/ironashram))
* resource/netbox_device: Add `status` attribute [#266](https://github.com/e-breuninger/terraform-provider-netbox/pull/266) by [@mifrost](https://github.com/mifrost))
CHANGES
* resource/netbox_prefix: Deprecate `cidr` attribute in favor of new canonical `prefix` attribute
## 3.0.3 (October 4th, 2022)
ENHANCEMENTS
* resource/netbox_site: Add `group_id` attribute ([#255](https://github.com/e-breuninger/terraform-provider-netbox/pull/255) by [@arjenvri](https://github.com/arjenvri))
## 3.0.2 (September 30th, 2022)
ENHANCEMENTS
* data-source/netbox_cluster: Add `site_id`, `cluster_type_id`, `cluster_group_id` and `tags` attribute ([#251](https://github.com/e-breuninger/terraform-provider-netbox/pull/251) by [@ns1pelle](https://github.com/ns1pelle))
## 3.0.1 (September 25th, 2022)
This is a re-release of 3.0.0 because there seem to be some issues with the checksums in the 3.0.0 version.
## 3.0.0 (September 23th, 2022)
FEATURES
* provider: Now supports NetBox v3.3
ENHANCEMENTS
* resource/netbox_virtual_machine: In accordance with upstream API changes, VMs can now have `site_id` set directly
* resource/netbox_virtual_machine: Add `device_id` attribute ([#238](https://github.com/e-breuninger/terraform-provider-netbox/pull/238) by [@ns1pelle](https://github.com/ns1pelle))
* resource/netbox_circuit_termination: Add `tags` and `custom_fields` attributes ([#238](https://github.com/e-breuninger/terraform-provider-netbox/pull/238) by [@ns1pelle](https://github.com/ns1pelle))
* resource/netbox_token: Add `allowed_ips`, `last_used` and `expires` attributes ([#238](https://github.com/e-breuninger/terraform-provider-netbox/pull/238) by [@ns1pelle](https://github.com/ns1pelle))
* resource/netbox_device: Add `cluster_id` attribute ([#238](https://github.com/e-breuninger/terraform-provider-netbox/pull/238) by [@ns1pelle](https://github.com/ns1pelle))
## 2.0.7 (September 23th, 2022)
ENHANCEMENTS
* **New Data Source:** `netbox_devices` ([#236](https://github.com/e-breuninger/terraform-provider-netbox/pull/236) by [@dipeshsharma](https://github.com/dipeshsharma))
* provider: Add `request_timeout` attribute ([#227](https://github.com/e-breuninger/terraform-provider-netbox/pull/227) by [@twink0r](https://github.com/twink0r))
* data-source/netbox_tenants: Add `limit` attribute to allow for larger queries
## 2.0.6 (September 9th, 2022)
ENHANCEMENTS
* **New Resource:** `netbox_site_group`
* **New Data Source:** `netbox_site_group`
* resource/netbox_virtual_machine: Add `status` attribute. The `status` attribute will default to `active`, which matches the implicit behavior of NetBox. If you manually changed the status of your terraform-managed NetBox VMs, be cautious
* data-source/netbox_tenant: Allow searching by `slug` attribute
## 2.0.5 (August 10th, 2022)
ENHANCEMENTS
* provider: Update list of supported versions
* docs: Add all missing docs and update existing ones
* docs: Add subcategories
## 2.0.4 (August 1st, 2022)
ENHANCEMENTS
* resource/netbox_ip_address: Add `role` attribute
* resource/netbox_available_ip_address: improve documentation ([#220](https://github.com/e-breuninger/terraform-provider-netbox/pull/220) by [@holmesb](https://github.com/holmesb))
BUG FIXES
* resource/netbox_device: Set correct attribute for `device_type_id` ([#219](https://github.com/e-breuninger/terraform-provider-netbox/pull/219) by [@BegBlev](https://github.com/BegBlev))
* data-source/netbox_ip_addresses: Use correct attribute for `role` ([#217](https://github.com/e-breuninger/terraform-provider-netbox/pull/217) by [@twink0r](https://github.com/twink0r))
## 2.0.3 (July 8th, 2022)
ENHANCEMENTS
* data-source/netbox_prefix: Add `vrf_id` attribute
BUG FIXES
* resource/netbox_prefix: Allow unsetting mark_utilized and is_pool attributes
* resource/netbox_available_prefix: Allow unsetting mark_utilized and is_pool attributes
## 2.0.2 (July 6th, 2022)
BUG FIXES
* resource/netbox_device: Make `role_id` and `site_id` attributes mandatory
* resource/netbox_device_type: Make `manufacturer_id` attribute mandatory
## 2.0.1 (June 25th, 2022)
ENHANCEMENTS
* **New Resource:** `netbox_location` ([#195](https://github.com/e-breuninger/terraform-provider-netbox/pull/195) by [@arjenvri](https://github.com/arjenvri))
* resource/netbox_device: Add `location_id` attribute ([#195](https://github.com/e-breuninger/terraform-provider-netbox/pull/195) by [@arjenvri](https://github.com/arjenvri))
## 2.0.0 (June 16th, 2022)
**BREAKING CHANGES**
NetBox 3.2.0 came with [breaking changes](https://docs.netbox.dev/en/stable/release-notes/version-3.2/#breaking-changes). In accordance with the upstream API, the `netbox_site` resource and data source now have an `asn_ids` attribute that replaces the `asn` attriute. Note that `asn_ids` contains **IDs** of ASN objects, not numbers.
ENHANCEMENTS
* **New Resource:** `netbox_asn`
## 1.6.7 (June 14th, 2022)
ENHANCEMENTS
* resource/netbox_site: Make `status` attribute optional and default to `active` ([#187](https://github.com/e-breuninger/terraform-provider-netbox/pull/187) by [@tstarck](https://github.com/tstarck))
* data-source/netbox_site: Add `slug` parameter to allow searching for a slug ([#187](https://github.com/e-breuninger/terraform-provider-netbox/pull/187) by [@tstarck](https://github.com/tstarck))
* data-source/netbox_site: Include `asn`, `slug`, `comments`, `description`, `group_id`, `status`, `region_id`, `tenant_id` and `time_zone` attributes in the search result ([#187](https://github.com/e-breuninger/terraform-provider-netbox/pull/187) by [@tstarck](https://github.com/tstarck))
* resource/netbox_vlan: Add default values to `status` and `description` attributes ([#184](https://github.com/e-breuninger/terraform-provider-netbox/pull/184) by [@tstarck](https://github.com/tstarck))
* resource/netbox_interface: Add `enabled`, `mtu`, `mode`, `tagged_vlans` and `untagged_vlans` attributes ([#183](https://github.com/e-breuninger/terraform-provider-netbox/pull/183) by [@tstarck](https://github.com/tstarck))
## 1.6.6 (May 27th, 2022)
ENHANCEMENTS
* **New Data Source:** `netbox_device_type` ([#179](https://github.com/e-breuninger/terraform-provider-netbox/pull/179) by [@tstarck](https://github.com/tstarck))
* **New Data Source:** `netbox_vlan` ([#180](https://github.com/e-breuninger/terraform-provider-netbox/pull/180) by [@tstarck](https://github.com/tstarck))
* provider: Add `skip_version_check` attribute
* provider: Update list of officially supported versions
* resource/netbox_device_type: Add `part_number` attribute ([#179](https://github.com/e-breuninger/terraform-provider-netbox/pull/179) by [@tstarck](https://github.com/tstarck))
BUG FIXES
* resource/netbox_circuit: Fix bug that prevented updates from being made
* resource/netbox_circuit_provider: Fix bug that prevented updates from being made
## 1.6.5 (May 18th, 2022)
ENHANCEMENTS
* docs: Fix critical error in usage documentation
## 1.6.4 (May 18th, 2022)
FEATURES
* **New Resource:** `netbox_user` ([#169](https://github.com/e-breuninger/terraform-provider-netbox/pull/169) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_token` ([#169](https://github.com/e-breuninger/terraform-provider-netbox/pull/169) by [@arjenvri](https://github.com/arjenvri))
ENHANCEMENTS
* resource/netbox_site: Add `timezone`, `latitude`, `longitude` and `custom_fields` attributes ([#168](https://github.com/e-breuninger/terraform-provider-netbox/pull/168) by [@arjenvri](https://github.com/arjenvri))
* docs: Regenerate docs with updated tooling ([#165](https://github.com/e-breuninger/terraform-provider-netbox/pull/165) by [@d-strobel](https://github.com/d-strobel))
## 1.6.3 (May 6th, 2022)
FEATURES
* **New Data Source:** `netbox_ip_addresses` ([#159](https://github.com/e-breuninger/terraform-provider-netbox/pull/159) by [@twink0r](https://github.com/twink0r))
* **New Resource:** `netbox_circuit` ([#160](https://github.com/e-breuninger/terraform-provider-netbox/pull/160) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_circuit_provider` ([#160](https://github.com/e-breuninger/terraform-provider-netbox/pull/160) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_circuit_termination` ([#160](https://github.com/e-breuninger/terraform-provider-netbox/pull/160) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_circuit_type` ([#160](https://github.com/e-breuninger/terraform-provider-netbox/pull/160) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_custom_field` ([#158](https://github.com/e-breuninger/terraform-provider-netbox/pull/158) by [@chapsuk](https://github.com/chapsuk))
ENHANCEMENTS
* resource/netbox_ip_address: Add `description` attribute ([#156](https://github.com/e-breuninger/terraform-provider-netbox/pull/156) by [@fbreckle](https://github.com/fbreckle))
* resource/netbox_virtual_machine: Add `custom_fields` attribute ([#158](https://github.com/e-breuninger/terraform-provider-netbox/pull/158) by [@chapsuk](https://github.com/chapsuk))
## 1.6.2 (Apr 11, 2022)
FEATURES
* **New Resource:** `netbox_rir` ([#153](https://github.com/e-breuninger/terraform-provider-netbox/pull/153) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_aggregate` ([#153](https://github.com/e-breuninger/terraform-provider-netbox/pull/153) by [@arjenvri](https://github.com/arjenvri))
## 1.6.1 (Apr 8, 2022)
ENHANCEMENTS
* resource/netbox_site: Add `tags` and `tenant_id` attributes ([#149](https://github.com/e-breuninger/terraform-provider-netbox/pull/149) by [@arjenvri](https://github.com/arjenvri))
## 1.6.0 (Apr 8, 2022)
FEATURES
* **New Resource:** `netbox_device` ([#142](https://github.com/e-breuninger/terraform-provider-netbox/pull/142) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_device_type` ([#142](https://github.com/e-breuninger/terraform-provider-netbox/pull/142) by [@arjenvri](https://github.com/arjenvri))
* **New Resource:** `netbox_manufacturer` ([#142](https://github.com/e-breuninger/terraform-provider-netbox/pull/142) by [@arjenvri](https://github.com/arjenvri))
## 1.5.2 (Mar 4, 2022)
ENHANCEMENTS
* data-source/netbox_tenants: Add `tenant_group` attribute ([#129](https://github.com/e-breuninger/terraform-provider-netbox/pull/129) by [@twink0r](https://github.com/twink0r))
## 1.5.1 (Feb 24, 2022)
ENHANCEMENTS
* No longer crashes if netbox is unreachable when initialising the provider [#126](https://github.com/e-breuninger/terraform-provider-netbox/pull/126) by [@twink0r](https://github.com/twink0r)
## 1.5.0 (Feb 23, 2022)
FEATURES
* **New Data Source:** `netbox_tenants` [#124](https://github.com/e-breuninger/terraform-provider-netbox/pull/124) by [@twink0r](https://github.com/twink0r)
## 1.4.0 (Feb 21, 2022)
FEATURES
* **New Data Source:** `netbox_cluster_type` [#122](https://github.com/e-breuninger/terraform-provider-netbox/pull/122) by [@madnutter56](https://github.com/madnutter56)
* **New Data Source:** `netbox_site` [#122](https://github.com/e-breuninger/terraform-provider-netbox/pull/122) by [@madnutter56](https://github.com/madnutter56)
## 1.3.0 (Feb 17, 2022)
FEATURES
* **New Resource:** `netbox_region` ([#121](https://github.com/e-breuninger/terraform-provider-netbox/pull/121) by [@gerl1ng](https://github.com/gerl1ng))
* **New Data Source:** `netbox_region` [#121](https://github.com/e-breuninger/terraform-provider-netbox/pull/121) by [@gerl1ng](https://github.com/gerl1ng)
## 1.2.2 (Feb 9, 2022)
ENHANCEMENTS
* resource/netbox_virtual_machine: Now has a state migration for the `vcpus` attribute ([#120](https://github.com/e-breuninger/terraform-provider-netbox/pull/120) by [@pascal-hofmann](https://github.com/pascal-hofmann))
## 1.2.1 (Jan 31, 2022)
FEATURES
* provider: Can now optionally pass custom HTTP headers for every request ([#116](https://github.com/e-breuninger/terraform-provider-netbox/pull/116) by [@mariuskiessling](https://github.com/mariuskiessling))
## 1.2.0 (Jan 20, 2022)
FEATURES
* resource/netbox_available_ip_address: Can now be created in netbox_ip_ranges ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
ENHANCEMENTS
* resource/netbox_available_ip_address: fixed duplicates [#59](https://github.com/e-breuninger/terraform-provider-netbox/issues/59) ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_available_ip_address: Add `description` argument ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_available_ip_address: `status` argument is now optional ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_vrf: Add `tenant_id` attribute ([#112](https://github.com/e-breuninger/terraform-provider-netbox/pull/112) by [@cova-fe](https://github.com/cova-fe))
* data-source/netbox_vrf: Add `tenant_id` attribute ([#112](https://github.com/e-breuninger/terraform-provider-netbox/pull/112) by [@cova-fe](https://github.com/cova-fe))
* resource/available_prefix: Add `mark_utilized` attribute ([#111](https://github.com/e-breuninger/terraform-provider-netbox/pull/111) by [@cova-fe](https://github.com/cova-fe))
## 1.1.0 (Jan 3, 2022)
FEATURES
* provider: Now supports NetBox v3.1.3
## 1.0.2 Ho-Ho-Ho (Dec 24, 2021)
ENHANCEMENTS
* resource/tag: Add `description` attribute ([#98](https://github.com/e-breuninger/terraform-provider-netbox/pull/98)) by [@lu1as](https://github.com/lu1as))
## 1.0.1 (Dec 23, 2021)
FEATURES
* **New Resource:** `netbox_ip_range` ([#101](https://github.com/e-breuninger/terraform-provider-netbox/pull/100) by [@holmesb](https://github.com/holmesb))
* **New Data Source:** `netbox_ip_range` ([#101](https://github.com/e-breuninger/terraform-provider-netbox/pull/100) by [@holmesb](https://github.com/holmesb))
## 1.0.0 (Nov 8, 2021)
FEATURES
* provider: Now supports NetBox v3.0.9
BREAKING CHANGES
* resource/virtual_machine: `vcpus` is now a float to match upstream API
## 0.3.2 (Nov 2, 2021)
ENHANCEMENTS
* resource/primary_ip: Support both v4 and v6 primary IP ([#87](https://github.com/e-breuninger/terraform-provider-netbox/pull/87) by [@t-tran](https://github.com/t-tran))
## 0.3.1 (Oct 27, 2021)
FEATURES
* **New Resource:** `netbox_vlan` ([#83](https://github.com/e-breuninger/terraform-provider-netbox/pull/83) by [@Sanverik](https://github.com/Sanverik))
* **New Resource:** `netbox_ipam_role` ([#86](https://github.com/e-breuninger/terraform-provider-netbox/pull/86) by [@Sanverik](https://github.com/Sanverik))
ENHANCEMENTS
* resource/prefix: Add `site_id`, `vlan_id` and `role_id` attributes ([#85](https://github.com/e-breuninger/terraform-provider-netbox/pull/85) and [#85](https://github.com/e-breuninger/terraform-provider-netbox/pull/85)) by [@Sanverik](https://github.com/Sanverik))
## 0.3.0 (Oct 19, 2021)
FEATURES
* provider: Now supports NetBox v2.11.12
BREAKING CHANGES
* resource/virtual_machine: `vcpus` is now a string to match upstream API
## 0.2.5 (Oct 8, 2021)
ENHANCEMENTS
* **New Resource:** `netbox_site` ([#78](https://github.com/e-breuninger/terraform-provider-netbox/pull/78))
BUG FIXES
* resource/cluster: Properly set tags when updating ([#69](https://github.com/e-breuninger/terraform-provider-netbox/issues/69))
## 0.2.4 (Sep 20, 2021)
CHANGES
* Use go 1.17 to fix some builds
## 0.2.3 (Sep 20, 2021)
ENHANCEMENTS
* Add arm64 builds ([#71](https://github.com/e-breuninger/terraform-provider-netbox/pull/71) by [@richardklose](https://github.com/richardklose))
## 0.2.2 (Aug 23, 2021)
ENHANCEMENTS
* resource/interface: Add `mac_address` attribute ([#65](https://github.com/e-breuninger/terraform-provider-netbox/pull/65) by [@holmesb](https://github.com/holmesb))
## 0.2.1 (Jul 26, 2021)
ENHANCEMENTS
* resource/prefix: Add `vrf` and `tenant` attribute ([#61](https://github.com/e-breuninger/terraform-provider-netbox/pull/61) by [@jeansebastienh](https://github.com/jeansebastienh))
BUG FIXES
* resource/prefix: Correctly read `prefix` and `status` ([#60](https://github.com/e-breuninger/terraform-provider-netbox/pull/60) by [@jeansebastienh](https://github.com/jeansebastienh))
## 0.2.0 (May 31, 2021)
FEATURES
* provider: Now supports NetBox v2.10.10
CHANGES
* resource/service: `port` field is now deprecated in favor of `ports` field.
## 0.1.3 (May 17, 2021)
ENHANCEMENTS
* **New Resource:** `netbox_tenant_group` ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* **New Data Source:** `netbox_tenant_group` ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* data-source/tenant: Add `group_id` attribute ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
## 1.5.1 (Feb 24, 2022)
ENHANCEMENTS
* No longer crashes if netbox is unreachable when initialising the provider [#126](https://github.com/e-breuninger/terraform-provider-netbox/pull/126) by [@twink0r](https://github.com/twink0r)
## 1.5.0 (Feb 23, 2022)
FEATURES
* **New Data Source:** `netbox_tenants` [#124](https://github.com/e-breuninger/terraform-provider-netbox/pull/124) by [@twink0r](https://github.com/twink0r)
## 1.4.0 (Feb 21, 2022)
FEATURES
* **New Data Source:** `netbox_cluster_type` [#122](https://github.com/e-breuninger/terraform-provider-netbox/pull/122) by [@madnutter56](https://github.com/madnutter56)
* **New Data Source:** `netbox_site` [#122](https://github.com/e-breuninger/terraform-provider-netbox/pull/122) by [@madnutter56](https://github.com/madnutter56)
## 1.3.0 (Feb 17, 2022)
FEATURES
* **New Resource:** `netbox_region` ([#121](https://github.com/e-breuninger/terraform-provider-netbox/pull/121) by [@gerl1ng](https://github.com/gerl1ng))
* **New Data Source:** `netbox_region` [#121](https://github.com/e-breuninger/terraform-provider-netbox/pull/121) by [@gerl1ng](https://github.com/gerl1ng)
## 1.2.2 (Feb 9, 2022)
ENHANCEMENTS
* resource/netbox_virtual_machine: Now has a state migration for the `vcpus` attribute ([#120](https://github.com/e-breuninger/terraform-provider-netbox/pull/120) by [@pascal-hofmann](https://github.com/pascal-hofmann))
## 1.2.1 (Jan 31, 2022)
FEATURES
* provider: Can now optionally pass custom HTTP headers for every request ([#116](https://github.com/e-breuninger/terraform-provider-netbox/pull/116) by [@mariuskiessling](https://github.com/mariuskiessling))
## 1.2.0 (Jan 20, 2022)
FEATURES
* resource/netbox_available_ip_address: Can now be created in netbox_ip_ranges ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
ENHANCEMENTS
* resource/netbox_available_ip_address: fixed duplicates [#59](https://github.com/e-breuninger/terraform-provider-netbox/issues/59) ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_available_ip_address: Add `description` argument ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_available_ip_address: `status` argument is now optional ([#106](https://github.com/e-breuninger/terraform-provider-netbox/pull/106) by [@holmesb](https://github.com/holmesb))
* resource/netbox_vrf: Add `tenant_id` attribute ([#112](https://github.com/e-breuninger/terraform-provider-netbox/pull/112) by [@cova-fe](https://github.com/cova-fe))
* data-source/netbox_vrf: Add `tenant_id` attribute ([#112](https://github.com/e-breuninger/terraform-provider-netbox/pull/112) by [@cova-fe](https://github.com/cova-fe))
* resource/available_prefix: Add `mark_utilized` attribute ([#111](https://github.com/e-breuninger/terraform-provider-netbox/pull/111) by [@cova-fe](https://github.com/cova-fe))
## 1.1.0 (Jan 3, 2022)
FEATURES
* provider: Now supports NetBox v3.1.3
## 1.0.2 Ho-Ho-Ho (Dec 24, 2021)
ENHANCEMENTS
* resource/tag: Add `description` attribute ([#98](https://github.com/e-breuninger/terraform-provider-netbox/pull/98)) by [@lu1as](https://github.com/lu1as))
## 1.0.1 (Dec 23, 2021)
FEATURES
* **New Resource:** `netbox_ip_range` ([#101](https://github.com/e-breuninger/terraform-provider-netbox/pull/100) by [@holmesb](https://github.com/holmesb))
* **New Data Source:** `netbox_ip_range` ([#101](https://github.com/e-breuninger/terraform-provider-netbox/pull/100) by [@holmesb](https://github.com/holmesb))
## 1.0.0 (Nov 8, 2021)
FEATURES
* provider: Now supports NetBox v3.0.9
BREAKING CHANGES
* resource/virtual_machine: `vcpus` is now a float to match upstream API
## 0.3.2 (Nov 2, 2021)
ENHANCEMENTS
* resource/primary_ip: Support both v4 and v6 primary IP ([#87](https://github.com/e-breuninger/terraform-provider-netbox/pull/87) by [@t-tran](https://github.com/t-tran))
## 0.3.1 (Oct 27, 2021)
FEATURES
* **New Resource:** `netbox_vlan` ([#83](https://github.com/e-breuninger/terraform-provider-netbox/pull/83) by [@Sanverik](https://github.com/Sanverik))
* **New Resource:** `netbox_ipam_role` ([#86](https://github.com/e-breuninger/terraform-provider-netbox/pull/86) by [@Sanverik](https://github.com/Sanverik))
ENHANCEMENTS
* resource/prefix: Add `site_id`, `vlan_id` and `role_id` attributes ([#85](https://github.com/e-breuninger/terraform-provider-netbox/pull/85) and [#85](https://github.com/e-breuninger/terraform-provider-netbox/pull/85)) by [@Sanverik](https://github.com/Sanverik))
## 0.3.0 (Oct 19, 2021)
FEATURES
* provider: Now supports NetBox v2.11.12
BREAKING CHANGES
* resource/virtual_machine: `vcpus` is now a string to match upstream API
## 0.2.5 (Oct 8, 2021)
ENHANCEMENTS
* **New Resource:** `netbox_site` ([#78](https://github.com/e-breuninger/terraform-provider-netbox/pull/78))
BUG FIXES
* resource/cluster: Properly set tags when updating ([#69](https://github.com/e-breuninger/terraform-provider-netbox/issues/69))
## 0.2.4 (Sep 20, 2021)
CHANGES
* Use go 1.17 to fix some builds
## 0.2.3 (Sep 20, 2021)
ENHANCEMENTS
* Add arm64 builds ([#71](https://github.com/e-breuninger/terraform-provider-netbox/pull/71) by [@richardklose](https://github.com/richardklose))
## 0.2.2 (Aug 23, 2021)
ENHANCEMENTS
* resource/interface: Add `mac_address` attribute ([#65](https://github.com/e-breuninger/terraform-provider-netbox/pull/65) by [@holmesb](https://github.com/holmesb))
## 0.2.1 (Jul 26, 2021)
ENHANCEMENTS
* resource/prefix: Add `vrf` and `tenant` attribute ([#61](https://github.com/e-breuninger/terraform-provider-netbox/pull/61) by [@jeansebastienh](https://github.com/jeansebastienh))
BUG FIXES
* resource/prefix: Correctly read `prefix` and `status` ([#60](https://github.com/e-breuninger/terraform-provider-netbox/pull/60) by [@jeansebastienh](https://github.com/jeansebastienh))
## 0.2.0 (May 31, 2021)
FEATURES
* provider: Now supports NetBox v2.10.10
CHANGES
* resource/service: `port` field is now deprecated in favor of `ports` field.
## 0.1.3 (May 17, 2021)
ENHANCEMENTS
* **New Resource:** `netbox_tenant_group` ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* **New Data Source:** `netbox_tenant_group` ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* data-source/tenant: Add `group_id` attribute ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* resource/tenant: Add `group_id` attribute ([#48](https://github.com/e-breuninger/terraform-provider-netbox/pull/48) by [@pezhore](https://github.com/pezhore))
* Documentation ([#46](https://github.com/e-breuninger/terraform-provider-netbox/pull/46) by [@pezhore](https://github.com/pezhore))
## 0.1.2 (May 4, 2021)
ENHANCEMENTS
* **New Resource:** `netbox_prefix` ([#43](https://github.com/e-breuninger/terraform-provider-netbox/pull/43) by [@pezhore](https://github.com/pezhore))
* **New Data Source:** `netbox_prefix` ([#43](https://github.com/e-breuninger/terraform-provider-netbox/pull/43) by [@pezhore](https://github.com/pezhore))
* **New Resource:** `netbox_available_ip_address` ([#43](https://github.com/e-breuninger/terraform-provider-netbox/pull/43) by [@pezhore](https://github.com/pezhore))
## 0.1.1 (February 15, 2021)
ENHANCEMENTS
* data-source/netbox_virtual_machines: Add `limit` attribute ([#33](https://github.com/e-breuninger/terraform-provider-netbox/pull/33) by [@jake2184](https://github.com/jake2184))
## 0.1.0 Ho-Ho-Ho (December 24, 2020)
FEATURES
* **New Resource:** `netbox_vrf` ([#26](https://github.com/e-breuninger/terraform-provider-netbox/pull/26) by [@rthomson](https://github.com/rthomson))
* **New Data Source:** `netbox_vrf` ([#26](https://github.com/e-breuninger/terraform-provider-netbox/pull/26) by [@rthomson](https://github.com/rthomson))
* **New Resource:** `netbox_cluster_group`
* **New Data Source:** `netbox_cluster_group`
ENHANCEMENTS
* resource/netbox_ip_address: Add `tenant_id` attribute
* resource/netbox_cluster: Add `cluster_group_id` attribute
## 0.0.9 (November 20, 2020)
FEATURES
* **New Data Source:** `netbox_interfaces` ([#9](https://github.com/e-breuninger/terraform-provider-netbox/pull/9) by [@jake2184](https://github.com/jake2184))
BUG FIXES
* provider: Honor Sub-Paths in netbox URL ([#15](https://github.com/e-breuninger/terraform-provider-netbox/pull/15) by [@kasimon](https://github.com/kasimon))
## 0.0.8 (November 19, 2020)
FEATURES
* **New Data Source:** `netbox_virtual_machines` ([#8](https://github.com/e-breuninger/terraform-provider-netbox/pull/8) by [@jake2184](https://github.com/jake2184))
================================================
FILE: GNUmakefile
================================================
TEST?=netbox/*.go
TEST_FUNC?=TestAccNetboxMACAddr*
GOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)
DOCKER_COMPOSE=docker compose
export NETBOX_VERSION=v4.4.10
export NETBOX_SERVER_URL=http://localhost:8001
export NETBOX_API_TOKEN=0123456789abcdef0123456789abcdef01234567
export NETBOX_TOKEN=$(NETBOX_API_TOKEN)
default: testacc
# Run acceptance tests
.PHONY: testacc
testacc: docker-up
@echo "⌛ Startup acceptance tests on $(NETBOX_SERVER_URL) with version $(NETBOX_VERSION)"
TF_ACC=1 go test -timeout 20m -v -cover $(TEST)
.PHONY: testacc-specific-test
testacc-specific-test: # docker-up
@echo "⌛ Startup acceptance tests on $(NETBOX_SERVER_URL) with version $(NETBOX_VERSION)"
@echo "⌛ Testing function $(TEST_FUNC)"
TF_ACC=1 go test -timeout 20m -v -cover $(TEST) -run $(TEST_FUNC)
.PHONY: test
test:
go test $(TEST) $(TESTARGS) -timeout=120s -parallel=4 -cover
# Run dockerized Netbox for acceptance testing
.PHONY: docker-up
docker-up:
@echo "⌛ Startup Netbox $(NETBOX_VERSION) and wait for service to become ready"
$(DOCKER_COMPOSE) -f docker/docker-compose.yml up --build wait
$(DOCKER_COMPOSE) -f docker/docker-compose.yml logs
@echo "🚀 Netbox is up and running!"
.PHONY: docker-logs
docker-logs:
$(DOCKER_COMPOSE) -f docker/docker-compose.yml logs
.PHONY: docker-down
docker-down:
$(DOCKER_COMPOSE) -f docker/docker-compose.yml down --volumes
.PHONY: docs
docs:
NETBOX_API_TOKEN="" NETBOX_SERVER_URL="" go generate ./...
#! Development
# The following make goals are only for local usage
.PHONY: fmt
fmt:
go fmt
go fmt netbox/*.go
================================================
FILE: LICENSE
================================================
Mozilla Public License Version 2.0
==================================
1. Definitions
--------------
1.1. "Contributor"
means each individual or legal entity that creates, contributes to
the creation of, or owns Covered Software.
1.2. "Contributor Version"
means the combination of the Contributions of others (if any) used
by a Contributor and that particular Contributor's Contribution.
1.3. "Contribution"
means Covered Software of a particular Contributor.
1.4. "Covered Software"
means Source Code Form to which the initial Contributor has attached
the notice in Exhibit A, the Executable Form of such Source Code
Form, and Modifications of such Source Code Form, in each case
including portions thereof.
1.5. "Incompatible With Secondary Licenses"
means
(a) that the initial Contributor has attached the notice described
in Exhibit B to the Covered Software; or
(b) that the Covered Software was made available under the terms of
version 1.1 or earlier of the License, but not also under the
terms of a Secondary License.
1.6. "Executable Form"
means any form of the work other than Source Code Form.
1.7. "Larger Work"
means a work that combines Covered Software with other material, in
a separate file or files, that is not Covered Software.
1.8. "License"
means this document.
1.9. "Licensable"
means having the right to grant, to the maximum extent possible,
whether at the time of the initial grant or subsequently, any and
all of the rights conveyed by this License.
1.10. "Modifications"
means any of the following:
(a) any file in Source Code Form that results from an addition to,
deletion from, or modification of the contents of Covered
Software; or
(b) any new file in Source Code Form that contains any Covered
Software.
1.11. "Patent Claims" of a Contributor
means any patent claim(s), including without limitation, method,
process, and apparatus claims, in any patent Licensable by such
Contributor that would be infringed, but for the grant of the
License, by the making, using, selling, offering for sale, having
made, import, or transfer of either its Contributions or its
Contributor Version.
1.12. "Secondary License"
means either the GNU General Public License, Version 2.0, the GNU
Lesser General Public License, Version 2.1, the GNU Affero General
Public License, Version 3.0, or any later versions of those
licenses.
1.13. "Source Code Form"
means the form of the work preferred for making modifications.
1.14. "You" (or "Your")
means an individual or a legal entity exercising rights under this
License. For legal entities, "You" includes any entity that
controls, is controlled by, or is under common control with You. For
purposes of this definition, "control" means (a) the power, direct
or indirect, to cause the direction or management of such entity,
whether by contract or otherwise, or (b) ownership of more than
fifty percent (50%) of the outstanding shares or beneficial
ownership of such entity.
2. License Grants and Conditions
--------------------------------
2.1. Grants
Each Contributor hereby grants You a world-wide, royalty-free,
non-exclusive license:
(a) under intellectual property rights (other than patent or trademark)
Licensable by such Contributor to use, reproduce, make available,
modify, display, perform, distribute, and otherwise exploit its
Contributions, either on an unmodified basis, with Modifications, or
as part of a Larger Work; and
(b) under Patent Claims of such Contributor to make, use, sell, offer
for sale, have made, import, and otherwise transfer either its
Contributions or its Contributor Version.
2.2. Effective Date
The licenses granted in Section 2.1 with respect to any Contribution
become effective for each Contribution on the date the Contributor first
distributes such Contribution.
2.3. Limitations on Grant Scope
The licenses granted in this Section 2 are the only rights granted under
this License. No additional rights or licenses will be implied from the
distribution or licensing of Covered Software under this License.
Notwithstanding Section 2.1(b) above, no patent license is granted by a
Contributor:
(a) for any code that a Contributor has removed from Covered Software;
or
(b) for infringements caused by: (i) Your and any other third party's
modifications of Covered Software, or (ii) the combination of its
Contributions with other software (except as part of its Contributor
Version); or
(c) under Patent Claims infringed by Covered Software in the absence of
its Contributions.
This License does not grant any rights in the trademarks, service marks,
or logos of any Contributor (except as may be necessary to comply with
the notice requirements in Section 3.4).
2.4. Subsequent Licenses
No Contributor makes additional grants as a result of Your choice to
distribute the Covered Software under a subsequent version of this
License (see Section 10.2) or under the terms of a Secondary License (if
permitted under the terms of Section 3.3).
2.5. Representation
Each Contributor represents that the Contributor believes its
Contributions are its original creation(s) or it has sufficient rights
to grant the rights to its Contributions conveyed by this License.
2.6. Fair Use
This License is not intended to limit any rights You have under
applicable copyright doctrines of fair use, fair dealing, or other
equivalents.
2.7. Conditions
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
in Section 2.1.
3. Responsibilities
-------------------
3.1. Distribution of Source Form
All distribution of Covered Software in Source Code Form, including any
Modifications that You create or to which You contribute, must be under
the terms of this License. You must inform recipients that the Source
Code Form of the Covered Software is governed by the terms of this
License, and how they can obtain a copy of this License. You may not
attempt to alter or restrict the recipients' rights in the Source Code
Form.
3.2. Distribution of Executable Form
If You distribute Covered Software in Executable Form then:
(a) such Covered Software must also be made available in Source Code
Form, as described in Section 3.1, and You must inform recipients of
the Executable Form how they can obtain a copy of such Source Code
Form by reasonable means in a timely manner, at a charge no more
than the cost of distribution to the recipient; and
(b) You may distribute such Executable Form under the terms of this
License, or sublicense it under different terms, provided that the
license for the Executable Form does not attempt to limit or alter
the recipients' rights in the Source Code Form under this License.
3.3. Distribution of a Larger Work
You may create and distribute a Larger Work under terms of Your choice,
provided that You also comply with the requirements of this License for
the Covered Software. If the Larger Work is a combination of Covered
Software with a work governed by one or more Secondary Licenses, and the
Covered Software is not Incompatible With Secondary Licenses, this
License permits You to additionally distribute such Covered Software
under the terms of such Secondary License(s), so that the recipient of
the Larger Work may, at their option, further distribute the Covered
Software under the terms of either this License or such Secondary
License(s).
3.4. Notices
You may not remove or alter the substance of any license notices
(including copyright notices, patent notices, disclaimers of warranty,
or limitations of liability) contained within the Source Code Form of
the Covered Software, except that You may alter any license notices to
the extent required to remedy known factual inaccuracies.
3.5. Application of Additional Terms
You may choose to offer, and to charge a fee for, warranty, support,
indemnity or liability obligations to one or more recipients of Covered
Software. However, You may do so only on Your own behalf, and not on
behalf of any Contributor. You must make it absolutely clear that any
such warranty, support, indemnity, or liability obligation is offered by
You alone, and You hereby agree to indemnify every Contributor for any
liability incurred by such Contributor as a result of warranty, support,
indemnity or liability terms You offer. You may include additional
disclaimers of warranty and limitations of liability specific to any
jurisdiction.
4. Inability to Comply Due to Statute or Regulation
---------------------------------------------------
If it is impossible for You to comply with any of the terms of this
License with respect to some or all of the Covered Software due to
statute, judicial order, or regulation then You must: (a) comply with
the terms of this License to the maximum extent possible; and (b)
describe the limitations and the code they affect. Such description must
be placed in a text file included with all distributions of the Covered
Software under this License. Except to the extent prohibited by statute
or regulation, such description must be sufficiently detailed for a
recipient of ordinary skill to be able to understand it.
5. Termination
--------------
5.1. The rights granted under this License will terminate automatically
if You fail to comply with any of its terms. However, if You become
compliant, then the rights granted under this License from a particular
Contributor are reinstated (a) provisionally, unless and until such
Contributor explicitly and finally terminates Your grants, and (b) on an
ongoing basis, if such Contributor fails to notify You of the
non-compliance by some reasonable means prior to 60 days after You have
come back into compliance. Moreover, Your grants from a particular
Contributor are reinstated on an ongoing basis if such Contributor
notifies You of the non-compliance by some reasonable means, this is the
first time You have received notice of non-compliance with this License
from such Contributor, and You become compliant prior to 30 days after
Your receipt of the notice.
5.2. If You initiate litigation against any entity by asserting a patent
infringement claim (excluding declaratory judgment actions,
counter-claims, and cross-claims) alleging that a Contributor Version
directly or indirectly infringes any patent, then the rights granted to
You by any and all Contributors for the Covered Software under Section
2.1 of this License shall terminate.
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
end user license agreements (excluding distributors and resellers) which
have been validly granted by You or Your distributors under this License
prior to termination shall survive termination.
************************************************************************
* *
* 6. Disclaimer of Warranty *
* ------------------------- *
* *
* Covered Software is provided under this License on an "as is" *
* basis, without warranty of any kind, either expressed, implied, or *
* statutory, including, without limitation, warranties that the *
* Covered Software is free of defects, merchantable, fit for a *
* particular purpose or non-infringing. The entire risk as to the *
* quality and performance of the Covered Software is with You. *
* Should any Covered Software prove defective in any respect, You *
* (not any Contributor) assume the cost of any necessary servicing, *
* repair, or correction. This disclaimer of warranty constitutes an *
* essential part of this License. No use of any Covered Software is *
* authorized under this License except under this disclaimer. *
* *
************************************************************************
************************************************************************
* *
* 7. Limitation of Liability *
* -------------------------- *
* *
* Under no circumstances and under no legal theory, whether tort *
* (including negligence), contract, or otherwise, shall any *
* Contributor, or anyone who distributes Covered Software as *
* permitted above, be liable to You for any direct, indirect, *
* special, incidental, or consequential damages of any character *
* including, without limitation, damages for lost profits, loss of *
* goodwill, work stoppage, computer failure or malfunction, or any *
* and all other commercial damages or losses, even if such party *
* shall have been informed of the possibility of such damages. This *
* limitation of liability shall not apply to liability for death or *
* personal injury resulting from such party's negligence to the *
* extent applicable law prohibits such limitation. Some *
* jurisdictions do not allow the exclusion or limitation of *
* incidental or consequential damages, so this exclusion and *
* limitation may not apply to You. *
* *
************************************************************************
8. Litigation
-------------
Any litigation relating to this License may be brought only in the
courts of a jurisdiction where the defendant maintains its principal
place of business and such litigation shall be governed by laws of that
jurisdiction, without reference to its conflict-of-law provisions.
Nothing in this Section shall prevent a party's ability to bring
cross-claims or counter-claims.
9. Miscellaneous
----------------
This License represents the complete agreement concerning the subject
matter hereof. If any provision of this License is held to be
unenforceable, such provision shall be reformed only to the extent
necessary to make it enforceable. Any law or regulation which provides
that the language of a contract shall be construed against the drafter
shall not be used to construe this License against a Contributor.
10. Versions of the License
---------------------------
10.1. New Versions
Mozilla Foundation is the license steward. Except as provided in Section
10.3, no one other than the license steward has the right to modify or
publish new versions of this License. Each version will be given a
distinguishing version number.
10.2. Effect of New Versions
You may distribute the Covered Software under the terms of the version
of the License under which You originally received the Covered Software,
or under the terms of any subsequent version published by the license
steward.
10.3. Modified Versions
If you create software not governed by this License, and you want to
create a new license for such software, you may create and use a
modified version of this License if you rename the license and remove
any references to the name of the license steward (except to note that
such modified license differs from this License).
10.4. Distributing Source Code Form that is Incompatible With Secondary
Licenses
If You choose to distribute Source Code Form that is Incompatible With
Secondary Licenses under the terms of this version of the License, the
notice described in Exhibit B of this License must be attached.
Exhibit A - Source Code Form License Notice
-------------------------------------------
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.
If it is not possible or desirable to put the notice in a particular
file, then You may include the notice in a location (such as a LICENSE
file in a relevant directory) where a recipient would be likely to look
for such a notice.
You may add additional accurate notices of copyright ownership.
Exhibit B - "Incompatible With Secondary Licenses" Notice
---------------------------------------------------------
This Source Code Form is "Incompatible With Secondary Licenses", as
defined by the Mozilla Public License, v. 2.0.
================================================
FILE: README.md
================================================
# terraform-provider-netbox
The Terraform Netbox provider is a plugin for Terraform that allows for the full lifecycle management of [Netbox](https://netboxlabs.com/docs/netbox/) resources.
This provider is maintained by E. Breuninger.
See: [Official documentation](https://registry.terraform.io/providers/e-breuninger/netbox/latest/docs) in the Terraform registry.
## Requirements
- [Terraform](https://www.terraform.io/downloads.html) >= 0.12.x
## 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](https://github.com/e-breuninger/terraform-provider-netbox/commit/0b0b2fffa54d4ab2e5f1677e948b01e56ba211c8), 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.3.0 - 4.4.10 | v5.0.0 and up |
| v4.2.2 - 4.2.9 | v4.0.0 - 4.3.1 |
| v4.1.0 - 4.1.11 | v3.10.0 - 3.11.1 |
| 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 |
| 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
1. Enter the repository directory
1. Build the provider using the Go `install` command:
```sh
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](https://www.terraform.io/docs/configuration/providers.html)
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:
```hcl
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](https://registry.terraform.io/providers/e-breuninger/netbox/latest/docs).
## Developing the Provider
If you wish to work on the provider, you need [Go](http://www.golang.org) installed on your machine.
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
```sh
TEST_FUNC=<test_name> make testacc-specific-test
```
For example:
```sh
TEST_FUNC=TestAccNetboxLocationDataSource_basic make testacc-specific-test
```
_Note:_ Acceptance tests create a docker compose stack on port 8001.
```sh
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.
================================================
FILE: docker/Dockerfile-wait
================================================
FROM alpine
COPY wait-for /usr/local/bin
================================================
FILE: docker/docker-compose.yml
================================================
---
services:
postgres:
image: postgres:18-alpine
environment:
- POSTGRES_USER=netbox
- POSTGRES_PASSWORD=netbox
- POSTGRES_DB=netbox
redis:
image: docker.io/valkey/valkey:9.0-alpine
netbox:
image: netboxcommunity/netbox:${NETBOX_VERSION}
depends_on:
- postgres
- redis
ports:
- 8001:8080
environment:
- CORS_ORIGIN_ALLOW_ALL=True
- DB_NAME=netbox
- DB_USER=netbox
- DB_PASSWORD=netbox
- DB_HOST=postgres
- REDIS_HOST=redis
- REDIS_DATABASE=0
- REDIS_SSL=false
- REDIS_CACHE_HOST=redis
- REDIS_CACHE_DATABASE=1
- REDIS_CACHE_SSL=false
- SECRET_KEY=0123456789abcdefghij0123456789abcdefghij0123456789
- SKIP_STARTUP_SCRIPTS=false
- SKIP_SUPERUSER=false
- SUPERUSER_NAME=admin
- SUPERUSER_EMAIL=admin@example.com
- SUPERUSER_PASSWORD=admin
- SUPERUSER_API_TOKEN=${NETBOX_API_TOKEN}
- METRICS_ENABLED=true
- API_TOKEN_PEPPER_1=D1)T@tb@cRf(guHO1q+rs&zrXKKA=96uQU3bT_N8t0NNo5mHy2
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/metrics"]
interval: 10s
timeout: 10s
retries: 10
start_period: 5s
wait:
build:
context: .
dockerfile: Dockerfile-wait
depends_on:
- netbox
command: wait-for netbox:8080 --timeout 240 -- echo "Netbox is up and running"
================================================
FILE: docker/wait-for
================================================
#!/bin/sh
# Source: https://raw.githubusercontent.com/eficode/wait-for/master/wait-for
# The MIT License (MIT)
#
# Copyright (c) 2017 Eficode Oy
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
VERSION="2.2.4"
set -- "$@" -- "$TIMEOUT" "$QUIET" "$PROTOCOL" "$HOST" "$PORT" "$result"
TIMEOUT=15
QUIET=0
# The protocol to make the request with, either "tcp" or "http"
PROTOCOL="tcp"
echoerr() {
if [ "$QUIET" -ne 1 ]; then printf "%s\n" "$*" 1>&2; fi
}
usage() {
exitcode="$1"
cat <<USAGE >&2
Usage:
$0 host:port|url [-t timeout] [-- command args]
-q | --quiet Do not output any status messages
-t TIMEOUT | --timeout=timeout Timeout in seconds, zero for no timeout
Defaults to 15 seconds
-v | --version Show the version of this tool
-- COMMAND ARGS Execute command with args after the test finishes
USAGE
exit "$exitcode"
}
wait_for() {
case "$PROTOCOL" in
tcp)
if ! command -v nc >/dev/null; then
echoerr 'nc command is missing!'
exit 1
fi
;;
http)
if ! command -v wget >/dev/null; then
echoerr 'wget command is missing!'
exit 1
fi
;;
esac
TIMEOUT_END=$(($(date +%s) + TIMEOUT))
while :; do
case "$PROTOCOL" in
tcp)
nc -w 1 -z "$HOST" "$PORT" >/dev/null 2>&1
;;
http)
wget --timeout=1 --tries=1 -q "$HOST" -O /dev/null >/dev/null 2>&1
;;
*)
echoerr "Unknown protocol '$PROTOCOL'"
exit 1
;;
esac
result=$?
if [ $result -eq 0 ]; then
if [ $# -gt 7 ]; then
for result in $(seq $(($# - 7))); do
result=$1
shift
set -- "$@" "$result"
done
TIMEOUT=$2 QUIET=$3 PROTOCOL=$4 HOST=$5 PORT=$6 result=$7
shift 7
exec "$@"
fi
exit 0
fi
if [ "$TIMEOUT" -ne 0 ] && [ "$(date +%s)" -ge "$TIMEOUT_END" ]; then
echo "Operation timed out" >&2
exit 1
fi
sleep 1
done
}
while :; do
case "$1" in
http://* | https://*)
HOST="$1"
PROTOCOL="http"
shift 1
;;
*:*)
HOST=$(printf "%s\n" "$1" | cut -d : -f 1)
PORT=$(printf "%s\n" "$1" | cut -d : -f 2)
shift 1
;;
-v | --version)
echo $VERSION
exit
;;
-q | --quiet)
QUIET=1
shift 1
;;
-q-*)
QUIET=0
echoerr "Unknown option: $1"
usage 1
;;
-q*)
QUIET=1
result=$1
shift 1
set -- -"${result#-q}" "$@"
;;
-t | --timeout)
TIMEOUT="$2"
shift 2
;;
-t*)
TIMEOUT="${1#-t}"
shift 1
;;
--timeout=*)
TIMEOUT="${1#*=}"
shift 1
;;
--)
shift
break
;;
--help)
usage 0
;;
-*)
QUIET=0
echoerr "Unknown option: $1"
usage 1
;;
*)
QUIET=0
echoerr "Unknown argument: $1"
usage 1
;;
esac
done
if ! [ "$TIMEOUT" -ge 0 ] 2>/dev/null; then
echoerr "Error: invalid timeout '$TIMEOUT'"
usage 3
fi
case "$PROTOCOL" in
tcp)
if [ "$HOST" = "" ] || [ "$PORT" = "" ]; then
echoerr "Error: you need to provide a host and port to test."
usage 2
fi
;;
http)
if [ "$HOST" = "" ]; then
echoerr "Error: you need to provide a host to test."
usage 2
fi
;;
esac
wait_for "$@"
================================================
FILE: docs/data-sources/asn.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_asn Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_asn (Data Source)
## Example Usage
```terraform
data "netbox_asn" "asn_1" {
asn = "1111"
tag = "tag-1"
}
data "netbox_asn" "asn_2" {
tag = "tag-1"
tag__n = "tag-2"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `asn` (String) At least one of `asn` or `tag` must be given.
- `tag` (String) Tag to include in the data source filter (must match the tag's slug). At least one of `asn` or `tag` must be given.
- `tag__n` (String) Tag to exclude from the data source filter (must match the tag's slug).
Refer to [Netbox's documentation](https://demo.netbox.dev/static/docs/rest-api/filtering/#lookup-expressions)
for more information on available lookup expressions.
### Read-Only
- `description` (String)
- `id` (Number) The ID of this resource.
- `tags` (Set of String)
================================================
FILE: docs/data-sources/asns.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_asns Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_asns (Data Source)
## Example Usage
```terraform
data "netbox_asns" "asns" {
filter {
name = "asn__gte"
value = "1000"
}
filter {
name = "asn__lte"
value = "2000"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `asns` (List of Object) (see [below for nested schema](#nestedatt--asns))
- `id` (String) The ID of this resource.
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--asns"></a>
### Nested Schema for `asns`
Read-Only:
- `asn` (Number)
- `id` (Number)
- `rir_id` (Number)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/available_prefix.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_available_prefix Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_available_prefix (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `prefix_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
- `prefixes_available` (List of Object) (see [below for nested schema](#nestedatt--prefixes_available))
<a id="nestedatt--prefixes_available"></a>
### Nested Schema for `prefixes_available`
Read-Only:
- `family` (Number)
- `prefix` (String)
- `vrf_id` (Number)
================================================
FILE: docs/data-sources/cluster.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_cluster Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_cluster (Data Source)
## Example Usage
```terraform
data "netbox_cluster" "vmw_cluster_01" {
name = "vmw-cluster-01"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `cluster_group_id` (Number)
- `id` (String) At least one of `name`, `site_id` or `id` must be given.
- `name` (String) At least one of `name`, `site_id` or `id` must be given.
- `site_id` (Number) At least one of `name`, `site_id` or `id` must be given.
### Read-Only
- `cluster_id` (Number)
- `cluster_type_id` (Number)
- `comments` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `location_id` (Number)
- `region_id` (Number)
- `scope_id` (Number)
- `scope_type` (String)
- `site_group_id` (Number)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/cluster_group.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_cluster_group Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_cluster_group (Data Source)
## Example Usage
```terraform
data "netbox_cluster_group" "dc_west" {
name = "dc-west"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `cluster_group_id` (Number)
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/cluster_type.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_cluster_type Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_cluster_type (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `cluster_type_id` (Number)
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/clusters.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_clusters Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_clusters (Data Source)
## Example Usage
```terraform
// Get all clusters of a specific type
data "netbox_cluster_type" "vmware" {
name = "VMware ESXi"
}
data "netbox_clusters" "vmware_clusters" {
filter {
name = "cluster_type_id"
value = data.netbox_cluster_type.vmware.id
}
}
// Get clusters by name regex
data "netbox_clusters" "prod_clusters" {
name_regex = "prod-.*"
}
// Get clusters at a specific site
data "netbox_clusters" "site_clusters" {
filter {
name = "site_id"
value = data.netbox_site.main.id
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `clusters` (List of Object) (see [below for nested schema](#nestedatt--clusters))
- `id` (String) The ID of this resource.
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--clusters"></a>
### Nested Schema for `clusters`
Read-Only:
- `cluster_group_id` (Number)
- `cluster_id` (Number)
- `cluster_type_id` (Number)
- `comments` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `location_id` (Number)
- `name` (String)
- `region_id` (Number)
- `scope_id` (Number)
- `scope_type` (String)
- `site_group_id` (Number)
- `site_id` (Number)
- `tags` (Set of String)
- `tenant_id` (Number)
================================================
FILE: docs/data-sources/config_context.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_config_context Data Source - terraform-provider-netbox"
subcategory: "Extras"
description: |-
---
# netbox_config_context (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `cluster_groups` (List of Number)
- `cluster_types` (List of Number)
- `clusters` (List of Number)
- `data` (String)
- `description` (String)
- `device_types` (List of Number)
- `id` (String) The ID of this resource.
- `locations` (List of Number)
- `platforms` (List of Number)
- `regions` (List of Number)
- `roles` (List of Number)
- `site_groups` (List of Number)
- `sites` (List of Number)
- `tags` (List of String)
- `tenant_groups` (List of Number)
- `tenants` (List of Number)
- `weight` (Number)
================================================
FILE: docs/data-sources/contact.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_contact Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_contact (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `description` (String)
- `name` (String) At least one of `name` or `slug` must be given.
- `slug` (String) At least one of `name` or `slug` must be given.
### Read-Only
- `group_id` (Number)
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/contact_group.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_contact_group Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_contact_group (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `parent_id` (Number)
- `slug` (String)
================================================
FILE: docs/data-sources/contact_role.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_contact_role Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_contact_role (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `name` (String) At least one of `name` or `slug` must be given.
- `slug` (String) At least one of `name` or `slug` must be given.
### Read-Only
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/device_interfaces.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_device_interfaces Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_device_interfaces (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `interfaces` (List of Object) (see [below for nested schema](#nestedatt--interfaces))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--interfaces"></a>
### Nested Schema for `interfaces`
Read-Only:
- `description` (String)
- `device_id` (Number)
- `enabled` (Boolean)
- `id` (Number)
- `mac_address` (String)
- `mac_addresses` (Set of Object) (see [below for nested schema](#nestedobjatt--interfaces--mac_addresses))
- `mode` (Map of String)
- `mtu` (Number)
- `name` (String)
- `tag_ids` (List of Number)
- `tagged_vlans` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--tagged_vlans))
- `type` (String)
- `untagged_vlan` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--untagged_vlan))
<a id="nestedobjatt--interfaces--mac_addresses"></a>
### Nested Schema for `interfaces.mac_addresses`
Read-Only:
- `description` (String)
- `id` (Number)
- `mac_address` (String)
<a id="nestedobjatt--interfaces--tagged_vlans"></a>
### Nested Schema for `interfaces.tagged_vlans`
Read-Only:
- `id` (Number)
- `name` (String)
- `vid` (Number)
<a id="nestedobjatt--interfaces--untagged_vlan"></a>
### Nested Schema for `interfaces.untagged_vlan`
Read-Only:
- `id` (Number)
- `name` (String)
- `vid` (Number)
================================================
FILE: docs/data-sources/device_power_ports.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_device_power_ports Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_device_power_ports (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `power_ports` (List of Object) (see [below for nested schema](#nestedatt--power_ports))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--power_ports"></a>
### Nested Schema for `power_ports`
Read-Only:
- `allocated_draw` (Number)
- `description` (String)
- `device_id` (Number)
- `id` (Number)
- `maximum_draw` (Number)
- `module_id` (Number)
- `name` (String)
- `tag_ids` (List of Number)
- `type` (String)
================================================
FILE: docs/data-sources/device_render_config.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_device_render_config Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
Render the configuration template assigned to a device using the device's config context.
---
# netbox_device_render_config (Data Source)
Render the configuration template assigned to a device using the device's config context.
## Example Usage
```terraform
# Get the rendered configuration for a device
data "netbox_device_render_config" "server_config" {
device_id = 60
}
# Use the rendered configuration
output "rendered_config" {
value = data.netbox_device_render_config.server_config.content
}
output "template_used" {
value = data.netbox_device_render_config.server_config.config_template_name
}
# Example: Write the config to a file using local_file resource
# resource "local_file" "kickstart" {
# content = data.netbox_device_render_config.server_config.content
# filename = "${path.module}/kickstart.cfg"
# }
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `device_id` (Number) The ID of the device to render configuration for.
### Read-Only
- `config_template_id` (Number) The ID of the config template that was used for rendering.
- `config_template_name` (String) The name of the config template that was used for rendering.
- `content` (String) The rendered configuration content.
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/device_role.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_device_role Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_device_role (Data Source)
## Example Usage
```terraform
data "netbox_device_role" "core_sw" {
name = "core-sw"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `color_hex` (String)
- `id` (String) The ID of this resource.
- `slug` (String)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/device_type.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_device_type Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_device_type (Data Source)
## Example Usage
```terraform
# Get device type by model name
data "netbox_device_type" "ex1" {
model = "7210 SAS-Sx 10/100GE"
}
# Get device type by slug
data "netbox_device_type" "ex2" {
slug = "7210-sas-sx-10-100GE"
}
# Get device type by manufacturer and part number information
data "netbox_device_type" "ex3" {
manufacturer = "Nokia"
part_number = "3HE11597AARB01"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `manufacturer` (String)
- `model` (String)
- `part_number` (String)
- `slug` (String)
- `subdevice_role` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `is_full_depth` (Boolean)
- `manufacturer_id` (Number)
- `u_height` (Number)
================================================
FILE: docs/data-sources/devices.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_devices Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_devices (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `devices` (List of Object) (see [below for nested schema](#nestedatt--devices))
- `id` (String) The ID of this resource.
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--devices"></a>
### Nested Schema for `devices`
Read-Only:
- `asset_tag` (String)
- `cluster_id` (Number)
- `comments` (String)
- `config_context` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `device_id` (Number)
- `device_type_id` (Number)
- `local_context_data` (String)
- `location_id` (Number)
- `manufacturer_id` (Number)
- `model` (String)
- `name` (String)
- `oob_ip` (String)
- `platform_id` (Number)
- `primary_ipv4` (String)
- `primary_ipv6` (String)
- `rack_face` (String)
- `rack_id` (Number)
- `rack_position` (Number)
- `role_id` (Number)
- `serial` (String)
- `site_id` (Number)
- `status` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
================================================
FILE: docs/data-sources/interfaces.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_interfaces Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_interfaces (Data Source)
## Example Usage
```terraform
data "netbox_interfaces" "myvm_eth0" {
name_regex = "eth0"
filter {
name = "name"
value = "myvm"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) The limit of objects to return from the API lookup. Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `interfaces` (List of Object) (see [below for nested schema](#nestedatt--interfaces))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--interfaces"></a>
### Nested Schema for `interfaces`
Read-Only:
- `description` (String)
- `enabled` (Boolean)
- `id` (Number)
- `mac_address` (String)
- `mode` (Map of String)
- `mtu` (Number)
- `name` (String)
- `tag_ids` (List of Number)
- `tagged_vlans` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--tagged_vlans))
- `untagged_vlan` (List of Object) (see [below for nested schema](#nestedobjatt--interfaces--untagged_vlan))
- `vm_id` (Number)
<a id="nestedobjatt--interfaces--tagged_vlans"></a>
### Nested Schema for `interfaces.tagged_vlans`
Read-Only:
- `id` (Number)
- `name` (String)
- `vid` (Number)
<a id="nestedobjatt--interfaces--untagged_vlan"></a>
### Nested Schema for `interfaces.untagged_vlan`
Read-Only:
- `id` (Number)
- `name` (String)
- `vid` (Number)
================================================
FILE: docs/data-sources/ip_address.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_ip_address Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_ip_address (Data Source)
## Example Usage
```terraform
data "netbox_ip_address" "ip_address" {
id = 1001
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Read-Only
- `address_family` (String)
- `created` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `dns_name` (String)
- `id` (Number) The ID of this resource.
- `ip_address` (String)
- `last_updated` (String)
- `role` (String)
- `status` (String)
- `tags` (List of Object) (see [below for nested schema](#nestedatt--tags))
- `tenant` (List of Object) (see [below for nested schema](#nestedatt--tenant))
<a id="nestedatt--tags"></a>
### Nested Schema for `tags`
Read-Only:
- `display` (String)
- `id` (Number)
- `name` (String)
- `slug` (String)
<a id="nestedatt--tenant"></a>
### Nested Schema for `tenant`
Read-Only:
- `id` (Number)
- `name` (String)
- `slug` (String)
================================================
FILE: docs/data-sources/ip_addresses.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_ip_addresses Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_ip_addresses (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `custom_fields` (Map of String)
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `ip_addresses` (List of Object) (see [below for nested schema](#nestedatt--ip_addresses))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--ip_addresses"></a>
### Nested Schema for `ip_addresses`
Read-Only:
- `address_family` (String)
- `created` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `dns_name` (String)
- `id` (Number)
- `ip_address` (String)
- `last_updated` (String)
- `role` (String)
- `status` (String)
- `tags` (List of Object) (see [below for nested schema](#nestedobjatt--ip_addresses--tags))
- `tenant` (List of Object) (see [below for nested schema](#nestedobjatt--ip_addresses--tenant))
<a id="nestedobjatt--ip_addresses--tags"></a>
### Nested Schema for `ip_addresses.tags`
Read-Only:
- `display` (String)
- `id` (Number)
- `name` (String)
- `slug` (String)
<a id="nestedobjatt--ip_addresses--tenant"></a>
### Nested Schema for `ip_addresses.tenant`
Read-Only:
- `id` (Number)
- `name` (String)
- `slug` (String)
================================================
FILE: docs/data-sources/ip_range.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_ip_range Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_ip_range (Data Source)
## Example Usage
```terraform
data "netbox_ip_range" "cust_a_prod" {
contains = "10.0.0.1/24"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `contains` (String) At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `description` (String) Description to include in the data source filter. At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `family` (Number) The IP family of the IP range. One of 4 or 6. At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `role_id` (Number) At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `status` (String) At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `tag` (String) Tag to include in the data source filter (must match the tag's slug). At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `tag__n` (String) Tag to exclude from the data source filter (must match the tag's slug).
Refer to [Netbox's documentation](https://netboxlabs.com/docs/netbox/reference/filtering/#lookup-expressions)
for more information on available lookup expressions.
- `tenant_id` (Number) At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
- `vrf_id` (Number) At least one of `contains`, `family`, `vrf_id`, `tenant_id`, `status`, `role_id`, `description` or `tag` must be given.
### Read-Only
- `end_address` (String)
- `id` (Number) The ID of this resource.
- `start_address` (String)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/ip_ranges.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_ip_ranges Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_ip_ranges (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `ip_ranges` (List of Object) (see [below for nested schema](#nestedatt--ip_ranges))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--ip_ranges"></a>
### Nested Schema for `ip_ranges`
Read-Only:
- `address_family` (String)
- `created` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `end_address` (String)
- `id` (Number)
- `last_updated` (String)
- `role` (String)
- `start_address` (String)
- `status` (String)
- `tags` (List of Object) (see [below for nested schema](#nestedobjatt--ip_ranges--tags))
- `tenant` (List of Object) (see [below for nested schema](#nestedobjatt--ip_ranges--tenant))
<a id="nestedobjatt--ip_ranges--tags"></a>
### Nested Schema for `ip_ranges.tags`
Read-Only:
- `display` (String)
- `id` (Number)
- `name` (String)
- `slug` (String)
<a id="nestedobjatt--ip_ranges--tenant"></a>
### Nested Schema for `ip_ranges.tenant`
Read-Only:
- `id` (Number)
- `name` (String)
- `slug` (String)
================================================
FILE: docs/data-sources/ipam_role.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_ipam_role Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_ipam_role (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `slug` (String)
- `weight` (Number)
================================================
FILE: docs/data-sources/location.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_location Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_location (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `name` (String)
- `parent_id` (Number)
- `site_id` (Number)
- `slug` (String)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `status` (String)
- `tenant_id` (Number)
================================================
FILE: docs/data-sources/locations.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_locations Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_locations (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) A list of filter to apply to the API query when requesting locations. (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) The limit of objects to return from the API lookup. Defaults to `0`.
- `tags` (Set of String) A list of tags to filter on.
### Read-Only
- `id` (String) The ID of this resource.
- `locations` (List of Object) (see [below for nested schema](#nestedatt--locations))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String) The name of the field to filter on. Supported fields are: .
- `value` (String) The value to pass to the specified filter.
<a id="nestedatt--locations"></a>
### Nested Schema for `locations`
Read-Only:
- `description` (String)
- `facility` (String)
- `id` (String)
- `name` (String)
- `parent_id` (Number)
- `site_id` (Number)
- `slug` (String)
- `status` (String)
- `tenant_id` (Number)
================================================
FILE: docs/data-sources/platform.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_platform Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_platform (Data Source)
## Example Usage
```terraform
data "netbox_platform" "PANOS" {
name = "PANOS"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `manufacturer_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
- `slug` (String)
================================================
FILE: docs/data-sources/prefix.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_prefix Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_prefix (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `cidr` (String, Deprecated) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given. Conflicts with `prefix`.
- `custom_fields` (Map of String) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `description` (String) Description to include in the data source filter. At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `family` (Number) The IP family of the prefix. One of 4 or 6. At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `prefix` (String) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given. Conflicts with `cidr`.
- `role_id` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `site_id` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `status` (String) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `tag` (String) Tag to include in the data source filter (must match the tag's slug). At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `tag__n` (String) Tag to exclude from the data source filter (must match the tag's slug).
Refer to [Netbox's documentation](https://demo.netbox.dev/static/docs/rest-api/filtering/#lookup-expressions)
for more information on available lookup expressions.
- `tenant_id` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `vlan_id` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `vlan_vid` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
- `vrf_id` (Number) At least one of `description`, `family`, `prefix`, `vlan_vid`, `vrf_id`, `vlan_id`, `tenant_id`, `site_id`, `role_id`, `cidr`, `custom_fields`, `tag` or `status` must be given.
### Read-Only
- `id` (Number) The ID of this resource.
- `location_id` (Number)
- `region_id` (Number)
- `site_group_id` (Number)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/prefixes.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_prefixes Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_prefixes (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) A list of filters to apply to the API query when requesting prefixes. (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) The limit of objects to return from the API lookup. Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `prefixes` (List of Object) (see [below for nested schema](#nestedatt--prefixes))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String) The name of the field to filter on. Supported fields are: `prefix`, `contains`, `vlan_vid`, `vrf_id`, `vlan_id`, `status`, `tenant_id`, `site_id`, `description` & `tag`.
- `value` (String) The value to pass to the specified filter.
<a id="nestedatt--prefixes"></a>
### Nested Schema for `prefixes`
Read-Only:
- `custom_fields` (Map of String)
- `description` (String)
- `id` (Number)
- `location_id` (Number)
- `prefix` (String)
- `region_id` (Number)
- `site_group_id` (Number)
- `site_id` (Number)
- `status` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
- `vlan_id` (Number)
- `vlan_vid` (Number)
- `vrf_id` (Number)
================================================
FILE: docs/data-sources/rack_role.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_rack_role Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_rack_role (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `color_hex` (String)
- `description` (String)
- `id` (String) The ID of this resource.
- `slug` (String)
- `tags` (Set of String)
================================================
FILE: docs/data-sources/racks.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_racks Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_racks (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `racks` (List of Object) (see [below for nested schema](#nestedatt--racks))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--racks"></a>
### Nested Schema for `racks`
Read-Only:
- `asset_tag` (String)
- `comments` (String)
- `custom_fields` (Map of String)
- `desc_units` (Boolean)
- `description` (String)
- `facility_id` (String)
- `id` (Number)
- `location_id` (Number)
- `max_weight` (Number)
- `mounting_depth` (Number)
- `name` (String)
- `outer_depth` (Number)
- `outer_unit` (String)
- `outer_width` (Number)
- `role_id` (Number)
- `serial` (String)
- `site_id` (Number)
- `status` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
- `type_id` (Number)
- `u_height` (Number)
- `weight` (Number)
- `weight_unit` (String)
- `width` (Number)
================================================
FILE: docs/data-sources/region.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_region Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_region (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
### Read-Only
- `description` (String)
- `id` (Number) The ID of this resource.
- `name` (String)
- `parent_region_id` (Number)
- `slug` (String)
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Optional:
- `name` (String)
- `slug` (String)
Read-Only:
- `id` (Number) The ID of this resource.
================================================
FILE: docs/data-sources/rir.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_rir Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/ipam/#regional-internet-registries-rirs:
Regional Internet registries are responsible for the allocation of globally-routable address space. The five RIRs are ARIN, RIPE, APNIC, LACNIC, and AFRINIC. However, some address space has been set aside for internal use, such as defined in RFCs 1918 and 6598. NetBox considers these RFCs as a sort of RIR as well; that is, an authority which "owns" certain address space.
---
# netbox_rir (Data Source)
From the [official documentation](https://docs.netbox.dev/en/stable/features/ipam/#regional-internet-registries-rirs):
> Regional Internet registries are responsible for the allocation of globally-routable address space. The five RIRs are ARIN, RIPE, APNIC, LACNIC, and AFRINIC. However, some address space has been set aside for internal use, such as defined in RFCs 1918 and 6598. NetBox considers these RFCs as a sort of RIR as well; that is, an authority which "owns" certain address space.
## Example Usage
```terraform
data "netbox_rir" "rir_1" {
name = "ARIN"
}
data "netbox_rir" "rir_2" {
slug = "arin"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `name` (String) At least one of `name` or `slug` must be given.
- `slug` (String) At least one of `name` or `slug` must be given.
### Read-Only
- `description` (String)
- `id` (Number) The ID of this resource.
- `is_private` (Boolean)
================================================
FILE: docs/data-sources/route_target.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_route_target Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_route_target (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `tags` (Set of String)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `tenant_id` (Number)
================================================
FILE: docs/data-sources/site.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_site Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_site (Data Source)
## Example Usage
```terraform
data "netbox_site" "get_by_name" {
name = "Example Site 1"
}
data "netbox_site" "get_by_slug" {
slug = "example-site-1"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `facility` (String)
- `name` (String)
- `slug` (String)
### Read-Only
- `asn_ids` (Set of Number)
- `comments` (String)
- `description` (String)
- `group_id` (Number)
- `id` (String) The ID of this resource.
- `physical_address` (String)
- `region_id` (Number)
- `site_id` (Number)
- `status` (String)
- `tenant_id` (Number)
- `time_zone` (String)
================================================
FILE: docs/data-sources/site_group.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_site_group Data Source - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
---
# netbox_site_group (Data Source)
## Example Usage
```terraform
// Assumes the corresponding site groups exist
data "netbox_site_group" "get_by_name" {
name = "example-sitegroup-1"
}
data "netbox_site_group" "get_by_slug" {
slug = "sitegrp"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `name` (String) At least one of `name` or `slug` must be given.
- `slug` (String) At least one of `name` or `slug` must be given.
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/tag.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_tag Data Source - terraform-provider-netbox"
subcategory: "Extras"
description: |-
---
# netbox_tag (Data Source)
## Example Usage
```terraform
data "netbox_tag" "dmz" {
name = "DMZ"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `description` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `slug` (String)
================================================
FILE: docs/data-sources/tags.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_tags Data Source - terraform-provider-netbox"
subcategory: "Extras"
description: |-
---
# netbox_tags (Data Source)
## Example Usage
```terraform
data "netbox_tags" "all_tags" {
}
data "netbox_tags" "ansible_tags" {
filter {
name = "name__isw"
value = "ansible_"
}
}
data "netbox_tags" "not_ansible_tags" {
filter {
name = "name__nisw"
value = "ansible_"
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `tags` (List of Object) (see [below for nested schema](#nestedatt--tags))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--tags"></a>
### Nested Schema for `tags`
Read-Only:
- `color` (String)
- `description` (String)
- `name` (String)
- `slug` (String)
- `tag_id` (Number)
================================================
FILE: docs/data-sources/tenant.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_tenant Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_tenant (Data Source)
## Example Usage
```terraform
data "netbox_tenant" "customer_a" {
name = "Customer A"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `description` (String)
- `name` (String) At least one of `name` or `slug` must be given.
- `slug` (String) At least one of `name` or `slug` must be given.
### Read-Only
- `group_id` (Number)
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/tenant_group.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_tenant_group Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_tenant_group (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `parent_id` (Number)
- `slug` (String)
================================================
FILE: docs/data-sources/tenants.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_tenants Data Source - terraform-provider-netbox"
subcategory: "Tenancy"
description: |-
---
# netbox_tenants (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `tenants` (List of Object) (see [below for nested schema](#nestedatt--tenants))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--tenants"></a>
### Nested Schema for `tenants`
Read-Only:
- `circuit_count` (Number)
- `cluster_count` (Number)
- `comments` (String)
- `created` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `device_count` (Number)
- `id` (Number)
- `ip_address_count` (Number)
- `last_updated` (String)
- `name` (String)
- `prefix_count` (Number)
- `rack_count` (Number)
- `site_count` (Number)
- `slug` (String)
- `tenant_group` (List of Object) (see [below for nested schema](#nestedobjatt--tenants--tenant_group))
- `vlan_count` (Number)
- `vm_count` (Number)
- `vrf_count` (Number)
<a id="nestedobjatt--tenants--tenant_group"></a>
### Nested Schema for `tenants.tenant_group`
Read-Only:
- `id` (Number)
- `name` (String)
- `slug` (String)
- `tenant_count` (Number)
================================================
FILE: docs/data-sources/virtual_disk.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_virtual_disk Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_virtual_disk (Data Source)
## Example Usage
```terraform
# Filter by name
data "netbox_virtual_disk" "disk_by_name" {
filter {
name = "name"
value = "disk1"
}
}
# Filter by tag
data "netbox_virtual_disk" "disk_by_tag" {
filter {
name = "tag"
value = "production"
}
}
# Multiple filters
data "netbox_virtual_disk" "disk_filtered" {
filter {
name = "name"
value = "disk1"
}
filter {
name = "tag"
value = "production"
}
}
# Filter with name regex
data "netbox_virtual_disk" "disk_regex" {
name_regex = "^disk[0-9]+"
limit = 10
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block List) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `virtual_disks` (List of Object) (see [below for nested schema](#nestedatt--virtual_disks))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--virtual_disks"></a>
### Nested Schema for `virtual_disks`
Read-Only:
- `custom_fields` (Map of String)
- `description` (String)
- `id` (Number)
- `name` (String)
- `size_mb` (Number)
- `tags` (List of String)
- `virtual_machine_id` (Number)
================================================
FILE: docs/data-sources/virtual_machines.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_virtual_machines Data Source - terraform-provider-netbox"
subcategory: "Virtualization"
description: |-
---
# netbox_virtual_machines (Data Source)
## Example Usage
```terraform
// Assumes vmw-cluster-01 exists as a cluster in Netbox
data "netbox_cluster" "vmw_cluster_01" {
name = "vmw-cluster-01"
}
data "netbox_virtual_machines" "base_vm" {
name_regex = "myvm-1"
filter {
name = "cluster_id"
value = data.netbox_cluster.vmw_cluster_01.id
}
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
- `name_regex` (String)
### Read-Only
- `id` (String) The ID of this resource.
- `vms` (List of Object) (see [below for nested schema](#nestedatt--vms))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--vms"></a>
### Nested Schema for `vms`
Read-Only:
- `cluster_id` (Number)
- `comments` (String)
- `config_context` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `device_id` (Number)
- `device_name` (String)
- `disk_size_mb` (Number)
- `local_context_data` (String)
- `memory_mb` (Number)
- `name` (String)
- `platform_id` (Number)
- `platform_name` (String)
- `platform_slug` (String)
- `primary_ip` (String)
- `primary_ip4` (String)
- `primary_ip6` (String)
- `role_id` (Number)
- `site_id` (Number)
- `status` (String)
- `tag_ids` (List of Number)
- `tenant_id` (Number)
- `vcpus` (Number)
- `vm_id` (Number)
================================================
FILE: docs/data-sources/vlan.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vlan Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vlan (Data Source)
## Example Usage
```terraform
# Get VLAN by name
data "netbox_vlan" "vlan1" {
name = "vlan-1"
}
# Get VLAN by VID and IPAM role ID
data "netbox_vlan" "vlan2" {
vid = 1234
role = netbox_ipam_role.example.id
}
# Get VLAN by name and tenant ID
data "netbox_vlan" "vlan3" {
name = "vlan-3"
tenant = netbox_tenant.example.id
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `group_id` (Number)
- `name` (String)
- `role` (Number)
- `tenant` (Number)
- `vid` (Number)
### Read-Only
- `description` (String)
- `id` (String) The ID of this resource.
- `site` (Number)
- `status` (String)
================================================
FILE: docs/data-sources/vlan_group.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vlan_group Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vlan_group (Data Source)
## Example Usage
```terraform
# Get VLAN group by name
data "netbox_vlan_group" "example1" {
name = "example1"
}
# Get VLAN group by stub
data "netbox_vlan_group" "example2" {
slug = "example2"
}
# Get VLAN group by name and scope_type/id
data "netbox_vlan_group" "example3" {
name = "example"
scope_type = "dcim.site"
scope_id = netbox_site.example.id
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `id` (String) At least one of `id`, `name`, `slug` or `scope_type` must be given.
- `name` (String) At least one of `id`, `name`, `slug` or `scope_type` must be given.
- `scope_id` (String) Required when `scope_type` is set.
- `scope_type` (String) Valid values are `dcim.location`, `dcim.site`, `dcim.sitegroup`, `dcim.region`, `dcim.rack`, `virtualization.cluster` and `virtualization.clustergroup`. At least one of `id`, `name`, `slug` or `scope_type` must be given.
- `slug` (String) At least one of `id`, `name`, `slug` or `scope_type` must be given.
### Read-Only
- `description` (String)
- `vlan_count` (Number)
================================================
FILE: docs/data-sources/vlan_groups.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vlan_groups Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vlan_groups (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `vlan_groups` (List of Object) (see [below for nested schema](#nestedatt--vlan_groups))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--vlan_groups"></a>
### Nested Schema for `vlan_groups`
Read-Only:
- `description` (String)
- `id` (Number)
- `name` (String)
- `ranges` (List of Object) (see [below for nested schema](#nestedobjatt--vlan_groups--ranges))
- `slug` (String)
- `tag_ids` (List of Number)
- `used` (Number)
<a id="nestedobjatt--vlan_groups--ranges"></a>
### Nested Schema for `vlan_groups.ranges`
Read-Only:
- `end` (Number)
- `start` (Number)
================================================
FILE: docs/data-sources/vlans.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vlans Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vlans (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `vlans` (List of Object) (see [below for nested schema](#nestedatt--vlans))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--vlans"></a>
### Nested Schema for `vlans`
Read-Only:
- `description` (String)
- `group_id` (Number)
- `id` (Number)
- `name` (String)
- `role` (Number)
- `site` (Number)
- `status` (String)
- `tag_ids` (List of Number)
- `tenant` (Number)
- `vid` (Number)
================================================
FILE: docs/data-sources/vrf.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vrf Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vrf (Data Source)
## Example Usage
```terraform
data "netbox_vrf" "cust_a_prod" {
name = "cust-a-prod"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `tenant_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
================================================
FILE: docs/data-sources/vrfs.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_vrfs Data Source - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_vrfs (Data Source)
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `filter` (Block Set) (see [below for nested schema](#nestedblock--filter))
- `limit` (Number) Defaults to `0`.
### Read-Only
- `id` (String) The ID of this resource.
- `vrfs` (List of Object) (see [below for nested schema](#nestedatt--vrfs))
<a id="nestedblock--filter"></a>
### Nested Schema for `filter`
Required:
- `name` (String)
- `value` (String)
<a id="nestedatt--vrfs"></a>
### Nested Schema for `vrfs`
Read-Only:
- `description` (String)
- `id` (Number)
- `name` (String)
- `rd` (String)
- `tenant` (Number)
================================================
FILE: docs/index.md
================================================
---
layout: ""
page_title: "Provider: Netbox"
description: |-
The netbox provider provides resources and data sources to interact with Netbox.
---
# Netbox Provider
The Terraform Netbox provider is a plugin for Terraform that allows for the full lifecycle management of [Netbox](https://netboxlabs.com/docs/netbox/) resources.
Use the navigation to the left to read about the available resources.
## Supported Netbox versions
Netbox often makes breaking API changes even in non-major releases. Check the table below to see which version this provider is compatible with your Netbox version. It is generally recommended to use the provider version matching your Netbox version.
| Netbox version | Provider version |
| --------------- | ---------------- |
| v4.3.0 - 4.4.10 | v5.0.0 and up |
| v4.2.2 - 4.2.9 | v4.0.0 - 4.3.1 |
| v4.1.0 - 4.1.11 | v3.10.0 - 3.11.1 |
| 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 |
| 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 |
Additionally, since version [1.6.6](https://github.com/e-breuninger/terraform-provider-netbox/commit/0b0b2fffa54d4ab2e5f1677e948b01e56ba211c8), 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.
## Configuration
You must configure the provider with proper credentials before you can use it. You can configure the provider via attributes in the provider block or via environment variables. See [Schema](#schema) for all configuration options
## Example Usage
```terraform
terraform {
required_providers {
netbox = {
source = "e-breuninger/netbox"
version = "~> 3.2.1"
}
}
}
# example provider configuration for https://demo.netbox.dev
provider "netbox" {
server_url = "https://demo.netbox.dev"
api_token = "<your api key>"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `api_token` (String) Netbox API authentication token. Supports both v1 tokens (`Authorization: Token <key>`) and v2 tokens (`Authorization: Bearer nbt_<key>.<token>`). V2 tokens are auto-detected by their `nbt_` prefix. Can be set via the `NETBOX_API_TOKEN` environment variable.
- `server_url` (String) Location of Netbox server including scheme (http or https) and optional port. Can be set via the `NETBOX_SERVER_URL` environment variable.
### Optional
- `allow_insecure_https` (Boolean) Flag to set whether to allow https with invalid certificates. Can be set via the `NETBOX_ALLOW_INSECURE_HTTPS` environment variable. Defaults to `false`.
- `ca_cert_file` (String) Path to a PEM-encoded CA certificate for verifying the Netbox server certificate. Can be set via the `NETBOX_CA_CERT_FILE` environment variable.
- `default_tags` (Set of String) Tags to add to every resource managed by this provider.
- `headers` (Map of String) Set these header on all requests to Netbox. Can be set via the `NETBOX_HEADERS` environment variable.
- `request_timeout` (Number) Netbox API HTTP request timeout in seconds. Can be set via the `NETBOX_REQUEST_TIMEOUT` environment variable.
- `skip_version_check` (Boolean) If true, do not try to determine the running Netbox version at provider startup. Disables warnings about possibly unsupported Netbox version. Also useful for local testing on terraform plans. Can be set via the `NETBOX_SKIP_VERSION_CHECK` environment variable. Defaults to `false`.
- `strip_trailing_slashes_from_url` (Boolean) If true, strip trailing slashes from the `server_url` parameter and print a warning when doing so. Note that using trailing slashes in the `server_url` parameter will usually lead to errors. Can be set via the `NETBOX_STRIP_TRAILING_SLASHES_FROM_URL` environment variable. Defaults to `true`.
================================================
FILE: docs/resources/aggregate.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_aggregate Resource - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/ipam/#aggregates:
NetBox allows us to specify the portions of IP space that are interesting to us by defining aggregates. Typically, an aggregate will correspond to either an allocation of public (globally routable) IP space granted by a regional authority, or a private (internally-routable) designation.
---
# netbox_aggregate (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/features/ipam/#aggregates):
> NetBox allows us to specify the portions of IP space that are interesting to us by defining aggregates. Typically, an aggregate will correspond to either an allocation of public (globally routable) IP space granted by a regional authority, or a private (internally-routable) designation.
## Example Usage
```terraform
resource "netbox_rir" "test" {
name = "testrir"
}
resource "netbox_aggregate" "test" {
prefix = "1.1.1.0/25"
description = "my description"
rir_id = netbox_rir.test.id
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `prefix` (String)
### Optional
- `description` (String)
- `rir_id` (Number)
- `tags` (Set of String)
- `tenant_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
- `tags_all` (Set of String)
================================================
FILE: docs/resources/asn.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_asn Resource - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/ipam/#asn:
> ASN is short for Autonomous System Number. This identifier is used in the BGP protocol to identify which "autonomous system" a particular prefix is originating and transiting through.
>
> The AS number model within NetBox allows you to model some of this real-world relationship.
---
# netbox_asn (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/features/ipam/#asn):
> ASN is short for Autonomous System Number. This identifier is used in the BGP protocol to identify which "autonomous system" a particular prefix is originating and transiting through.
>
> The AS number model within NetBox allows you to model some of this real-world relationship.
## Example Usage
```terraform
resource "netbox_rir" "test" {
name = "testrir"
}
resource "netbox_asn" "test" {
asn = 1337
rir_id = netbox_rir.test.id
description = "test"
comments = "test"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `asn` (Number) Value for the AS Number record.
- `rir_id` (Number) ID for the RIR for the AS Number record.
### Optional
- `comments` (String) Comments field for the AS Number record.
- `description` (String) Description field for the AS Number record.
- `tags` (Set of String)
### Read-Only
- `id` (String) The ID of this resource.
- `tags_all` (Set of String)
================================================
FILE: docs/resources/available_ip_address.md
================================================
---
page_title: "netbox_available_ip_address Resource - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
Per the docs https://netbox.readthedocs.io/en/stable/models/ipam/ipaddress/:
An IP address comprises a single host address (either IPv4 or IPv6) and its subnet mask. Its mask should match exactly how the IP address is configured on an interface in the real world.
Like a prefix, an IP address can optionally be assigned to a VRF (otherwise, it will appear in the "global" table). IP addresses are automatically arranged under parent prefixes within their respective VRFs according to the IP hierarchya.
Each IP address can also be assigned an operational status and a functional role. Statuses are hard-coded in NetBox and include the following:
* Active
* Reserved
* Deprecated
* DHCP
* SLAAC (IPv6 Stateless Address Autoconfiguration)
This resource will retrieve the next available IP address from a given prefix or IP range (specified by ID)
---
# netbox_available_ip_address (Resource)
Per [the docs](https://netbox.readthedocs.io/en/stable/models/ipam/ipaddress/):
> An IP address comprises a single host address (either IPv4 or IPv6) and its subnet mask. Its mask should match exactly how the IP address is configured on an interface in the real world.
> Like a prefix, an IP address can optionally be assigned to a VRF (otherwise, it will appear in the "global" table). IP addresses are automatically arranged under parent prefixes within their respective VRFs according to the IP hierarchya.
>
> Each IP address can also be assigned an operational status and a functional role. Statuses are hard-coded in NetBox and include the following:
> * Active
> * Reserved
> * Deprecated
> * DHCP
> * SLAAC (IPv6 Stateless Address Autoconfiguration)
This resource will retrieve the next available IP address from a given prefix or IP range (specified by ID)
## Example Usage
### Creating an IP in a prefix
```terraform
data "netbox_prefix" "test" {
cidr = "10.0.0.0/24"
}
resource "netbox_available_ip_address" "test" {
prefix_id = data.netbox_prefix.test.id
}
```
### Creating an IP in an IP range
```terraform
data "netbox_ip_range" "test" {
start_address = "10.0.0.1/24"
end_address = "10.0.0.50/24"
}
resource "netbox_available_ip_address" "test" {
ip_range_id = data.netbox_ip_range.test.id
}
```
### Marking an IP active and assigning to interface
```terraform
// Assumes Netbox already has a VM whos name matches 'dc-west-myvm-20'
data "netbox_virtual_machine" "myvm" {
name_regex = "dc-west-myvm-20"
}
data "netbox_prefix" "test" {
cidr = "10.0.0.0/24"
}
resource "netbox_interface" "myvm-eth0" {
name = "eth0"
virtual_machine_id = data.netbox_virtual_machine.myvm.id
}
resource "netbox_available_ip_address" "myvm-ip" {
prefix_id = data.netbox_prefix.test.id
status = "active"
interface_id = netbox_interface.myvm-eth0.id
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Optional
- `custom_fields` (Map of String)
- `description` (String)
- `device_interface_id` (Number) Conflicts with `interface_id` and `virtual_machine_interface_id`.
- `dns_name` (String)
- `interface_id` (Number) Required when `object_type` is set.
- `ip_range_id` (Number) Exactly one of `prefix_id` or `ip_range_id` must be given.
- `object_type` (String) Valid values are `virtualization.vminterface` and `dcim.interface`. Required when `interface_id` is set.
- `prefix_id` (Number) Exactly one of `prefix_id` or `ip_range_id` must be given.
- `role` (String) Valid values are `loopback`, `secondary`, `anycast`, `vip`, `vrrp`, `hsrp`, `glbp` and `carp`.
- `status` (String) Valid values are `active`, `reserved`, `deprecated`, `dhcp` and `slaac`. Defaults to `active`.
- `tags` (Set of String)
- `tenant_id` (Number)
- `virtual_machine_interface_id` (Number) Conflicts with `interface_id` and `device_interface_id`.
- `vrf_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
- `ip_address` (String)
- `tags_all` (Set of String)
================================================
FILE: docs/resources/available_prefix.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_available_prefix Resource - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
---
# netbox_available_prefix (Resource)
## Example Usage
```terraform
data "netbox_prefix" "test" {
cidr = "10.0.0.0/24"
}
resource "netbox_available_prefix" "test" {
parent_prefix_id = data.netbox_prefix.test.id
prefix_length = 25
status = "active"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `parent_prefix_id` (Number)
- `prefix_length` (Number)
- `status` (String) Valid values are `active`, `container`, `reserved` and `deprecated`.
### Optional
- `custom_fields` (Map of String)
- `description` (String)
- `is_pool` (Boolean)
- `location_id` (Number) Conflicts with `site_id`, `site_group_id` and `region_id`.
- `mark_utilized` (Boolean)
- `region_id` (Number) Conflicts with `location_id`, `site_id` and `site_group_id`.
- `role_id` (Number)
- `site_group_id` (Number) Conflicts with `location_id`, `site_id` and `region_id`.
- `site_id` (Number) Conflicts with `location_id`, `site_group_id` and `region_id`.
- `tags` (Set of String)
- `tenant_id` (Number)
- `vlan_id` (Number)
- `vrf_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
- `prefix` (String)
- `tags_all` (Set of String)
================================================
FILE: docs/resources/available_vlan.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_available_vlan Resource - terraform-provider-netbox"
subcategory: "IP Address Management (IPAM)"
description: |-
Per the docs https://netbox.readthedocs.io/en/stable/models/ipam/vlan/:
A VLAN represents an isolated Layer 2 domain identified by a numeric ID (1–4094). VLANs may be assigned to specific sites or marked as global.
Optionally, they can be organized within VLAN groups to define scope and enforce uniqueness.
Each VLAN can also be assigned an operational status and a functional role. Statuses are hard-coded in NetBox and include the following:
* Active
* Reserved
* Deprecated
This resource will retrieve the next available VLAN ID from a given VLAN group (specified by ID).
---
# netbox_available_vlan (Resource)
Per [the docs](https://netbox.readthedocs.io/en/stable/models/ipam/vlan/):
> A VLAN represents an isolated Layer 2 domain identified by a numeric ID (1–4094). VLANs may be assigned to specific sites or marked as global.
> Optionally, they can be organized within VLAN groups to define scope and enforce uniqueness.
>
> Each VLAN can also be assigned an operational status and a functional role. Statuses are hard-coded in NetBox and include the following:
> * Active
> * Reserved
> * Deprecated
This resource will retrieve the next available VLAN ID from a given VLAN group (specified by ID).
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `description` (String)
- `group_id` (Number)
- `role_id` (Number)
- `site_id` (Number)
- `status` (String)
- `tags` (Set of String)
- `tenant_id` (Number)
### Read-Only
- `comments` (String)
- `id` (String) The ID of this resource.
- `tags_all` (Set of String)
- `vid` (Number)
================================================
FILE: docs/resources/cable.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_cable Resource - terraform-provider-netbox"
subcategory: "Data Center Inventory Management (DCIM)"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/models/dcim/cable/:
All connections between device components in NetBox are represented using cables. A cable represents a direct physical connection between two sets of endpoints (A and B), such as a console port and a patch panel port, or between two network interfaces.
---
# netbox_cable (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/models/dcim/cable/):
> All connections between device components in NetBox are represented using cables. A cable represents a direct physical connection between two sets of endpoints (A and B), such as a console port and a patch panel port, or between two network interfaces.
## Example Usage
```terraform
// assumes that the referenced console port resources exist
resource "netbox_cable" "test" {
a_termination {
object_type = "dcim.consoleserverport"
object_id = netbox_device_console_server_port.kvm1.id
}
a_termination {
object_type = "dcim.consoleserverport"
object_id = netbox_device_console_server_port.kvm2.id
}
b_termination {
object_type = "dcim.consoleport"
object_id = netbox_device_console_port.server1.id
}
b_termination {
object_type = "dcim.consoleport"
object_id = netbox_device_console_port.server2.id
}
status = "connected"
label = "KVM cable"
type = "cat8"
color_hex = "123456"
length = 10
length_unit = "m"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `a_termination` (Block Set, Min: 1) (see [below for nested schema](#nestedblock--a_termination))
- `b_termination` (Block Set, Min: 1) (see [below for nested schema](#nestedblock--b_termination))
- `status` (String) One of [connected, planned, decommissioning].
### Optional
- `color_hex` (String)
- `comments` (String)
- `custom_fields` (Map of String)
- `description` (String)
- `label` (String)
- `length` (Number)
- `length_unit` (String) One of [km, m, cm, mi, ft, in]. Required when `length` is set.
- `tags` (Set of String)
- `tenant_id` (Number)
- `type` (String) One of [cat3, cat5, cat5e, cat6, cat6a, cat7, cat7a, cat8, dac-active, dac-passive, mrj21-trunk, coaxial, mmf, mmf-om1, mmf-om2, mmf-om3, mmf-om4, mmf-om5, smf, smf-os1, smf-os2, aoc, power, usb].
### Read-Only
- `id` (String) The ID of this resource.
- `tags_all` (Set of String)
<a id="nestedblock--a_termination"></a>
### Nested Schema for `a_termination`
Required:
- `object_id` (Number)
- `object_type` (String)
<a id="nestedblock--b_termination"></a>
### Nested Schema for `b_termination`
Required:
- `object_id` (Number)
- `object_type` (String)
================================================
FILE: docs/resources/circuit.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_circuit Resource - terraform-provider-netbox"
subcategory: "Circuits"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/circuits/#circuits_1:
A communications circuit represents a single physical link connecting exactly two endpoints, commonly referred to as its A and Z terminations. A circuit in NetBox may have zero, one, or two terminations defined. It is common to have only one termination defined when you don't necessarily care about the details of the provider side of the circuit, e.g. for Internet access circuits. Both terminations would likely be modeled for circuits which connect one customer site to another.
Each circuit is associated with a provider and a user-defined type. For example, you might have Internet access circuits delivered to each site by one provider, and private MPLS circuits delivered by another. Each circuit must be assigned a circuit ID, each of which must be unique per provider.
---
# netbox_circuit (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/features/circuits/#circuits_1):
> A communications circuit represents a single physical link connecting exactly two endpoints, commonly referred to as its A and Z terminations. A circuit in NetBox may have zero, one, or two terminations defined. It is common to have only one termination defined when you don't necessarily care about the details of the provider side of the circuit, e.g. for Internet access circuits. Both terminations would likely be modeled for circuits which connect one customer site to another.
>
> Each circuit is associated with a provider and a user-defined type. For example, you might have Internet access circuits delivered to each site by one provider, and private MPLS circuits delivered by another. Each circuit must be assigned a circuit ID, each of which must be unique per provider.
## Example Usage
```terraform
resource "netbox_tenant" "test" {
name = "test"
}
resource "netbox_circuit_provider" "test" {
name = "test"
}
resource "netbox_circuit_type" "test" {
name = "test"
}
resource "netbox_circuit" "test" {
cid = "test"
status = "active"
provider_id = netbox_circuit_provider.test.id
type_id = netbox_circuit_type.test.id
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `cid` (String)
- `provider_id` (Number)
- `status` (String) Valid values are `planned`, `provisioning`, `active`, `offline`, `deprovisioning` and `decommissioning`.
- `type_id` (Number)
### Optional
- `description` (String)
- `tenant_id` (Number)
### Read-Only
- `id` (String) The ID of this resource.
================================================
FILE: docs/resources/circuit_provider.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_circuit_provider Resource - terraform-provider-netbox"
subcategory: "Circuits"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/circuits/#providers:
A circuit provider is any entity which provides some form of connectivity of among sites or organizations within a site. While this obviously includes carriers which offer Internet and private transit service, it might also include Internet exchange (IX) points and even organizations with whom you peer directly. Each circuit within NetBox must be assigned a provider and a circuit ID which is unique to that provider.
Each provider may be assigned an autonomous system number (ASN), an account number, and contact information.
---
# netbox_circuit_provider (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/features/circuits/#providers):
> A circuit provider is any entity which provides some form of connectivity of among sites or organizations within a site. While this obviously includes carriers which offer Internet and private transit service, it might also include Internet exchange (IX) points and even organizations with whom you peer directly. Each circuit within NetBox must be assigned a provider and a circuit ID which is unique to that provider.
>
> Each provider may be assigned an autonomous system number (ASN), an account number, and contact information.
## Example Usage
```terraform
resource "netbox_circuit_provider" "test" {
name = "test"
}
```
<!-- schema generated by tfplugindocs -->
## Schema
### Required
- `name` (String)
### Optional
- `description` (String)
- `slug` (String)
### Read-Only
- `id` (String) The ID of this resource.
================================================
FILE: docs/resources/circuit_termination.md
================================================
---
# generated by https://github.com/fbreckle/terraform-plugin-docs
page_title: "netbox_circuit_termination Resource - terraform-provider-netbox"
subcategory: "Circuits"
description: |-
From the official documentation https://docs.netbox.dev/en/stable/features/circuits/#circuit-terminations:
The association of a circuit with a particular site and/or device is modeled separately as a circuit termination. A circuit may have up to two terminations, labeled A and Z. A single-termination circuit can be used when you don't know (or care) about the far end of a circuit (for example, an Internet access circuit which connects to a transit provider). A dual-termination circuit is useful for tracking circuits which connect two sites.
Each circuit termination is attached to either a site or to a provider network. Site terminations may optionally be connected via a cable to a specific device interface or port within that site. Each termination must be assigned a port speed, and can optionally be assigned an upstream speed if it differs from the downstream speed (a common scenario with e.g. DOCSIS cable modems). Fields are also available to track cross-connect and patch panel details.
---
# netbox_circuit_termination (Resource)
From the [official documentation](https://docs.netbox.dev/en/stable/features/circuits/#circuit-terminations):
> The association of a circuit with a particular site and/or device is modeled separately as a circuit termination. A circuit may have up to two terminations, labeled A and Z. A single-termination circuit can be used when you don't know (or care) about the far end of a circuit (for example, an Internet access circuit which connects to a transit provider). A dual-termination circuit is useful for tracking circuits which connect t
gitextract_85p5o3oc/
├── .github/
│ ├── CODE_OF_CONDUCT.md
│ ├── ISSUE_TEMPLATE.md
│ ├── allowed-subcategories.txt
│ ├── dependabot.yml
│ └── workflows/
│ ├── check-allowed-subcategories.yml
│ ├── ci-testing.yml
│ ├── ensure-docs-examples.yml
│ ├── golangci-lint.yml
│ ├── pre-commit.yml
│ └── release.yml
├── .gitignore
├── .golangci.yml
├── .goreleaser.yml
├── .markdownlint.yaml
├── .pre-commit-config.yaml
├── .prettierignore
├── .terraform-registry
├── .yamllint.yaml
├── CHANGELOG.md
├── GNUmakefile
├── LICENSE
├── README.md
├── docker/
│ ├── Dockerfile-wait
│ ├── docker-compose.yml
│ └── wait-for
├── docs/
│ ├── data-sources/
│ │ ├── asn.md
│ │ ├── asns.md
│ │ ├── available_prefix.md
│ │ ├── cluster.md
│ │ ├── cluster_group.md
│ │ ├── cluster_type.md
│ │ ├── clusters.md
│ │ ├── config_context.md
│ │ ├── contact.md
│ │ ├── contact_group.md
│ │ ├── contact_role.md
│ │ ├── device_interfaces.md
│ │ ├── device_power_ports.md
│ │ ├── device_render_config.md
│ │ ├── device_role.md
│ │ ├── device_type.md
│ │ ├── devices.md
│ │ ├── interfaces.md
│ │ ├── ip_address.md
│ │ ├── ip_addresses.md
│ │ ├── ip_range.md
│ │ ├── ip_ranges.md
│ │ ├── ipam_role.md
│ │ ├── location.md
│ │ ├── locations.md
│ │ ├── platform.md
│ │ ├── prefix.md
│ │ ├── prefixes.md
│ │ ├── rack_role.md
│ │ ├── racks.md
│ │ ├── region.md
│ │ ├── rir.md
│ │ ├── route_target.md
│ │ ├── site.md
│ │ ├── site_group.md
│ │ ├── tag.md
│ │ ├── tags.md
│ │ ├── tenant.md
│ │ ├── tenant_group.md
│ │ ├── tenants.md
│ │ ├── virtual_disk.md
│ │ ├── virtual_machines.md
│ │ ├── vlan.md
│ │ ├── vlan_group.md
│ │ ├── vlan_groups.md
│ │ ├── vlans.md
│ │ ├── vrf.md
│ │ └── vrfs.md
│ ├── index.md
│ └── resources/
│ ├── aggregate.md
│ ├── asn.md
│ ├── available_ip_address.md
│ ├── available_prefix.md
│ ├── available_vlan.md
│ ├── cable.md
│ ├── circuit.md
│ ├── circuit_provider.md
│ ├── circuit_termination.md
│ ├── circuit_type.md
│ ├── cluster.md
│ ├── cluster_group.md
│ ├── cluster_type.md
│ ├── config_context.md
│ ├── config_template.md
│ ├── contact.md
│ ├── contact_assignment.md
│ ├── contact_group.md
│ ├── contact_role.md
│ ├── custom_field.md
│ ├── custom_field_choice_set.md
│ ├── device.md
│ ├── device_bay.md
│ ├── device_bay_template.md
│ ├── device_console_port.md
│ ├── device_console_server_port.md
│ ├── device_front_port.md
│ ├── device_interface.md
│ ├── device_module_bay.md
│ ├── device_power_outlet.md
│ ├── device_power_port.md
│ ├── device_primary_ip.md
│ ├── device_rear_port.md
│ ├── device_role.md
│ ├── device_type.md
│ ├── event_rule.md
│ ├── group.md
│ ├── interface.md
│ ├── interface_template.md
│ ├── inventory_item.md
│ ├── inventory_item_role.md
│ ├── ip_address.md
│ ├── ip_range.md
│ ├── ipam_role.md
│ ├── location.md
│ ├── mac_address.md
│ ├── manufacturer.md
│ ├── module.md
│ ├── module_type.md
│ ├── permission.md
│ ├── platform.md
│ ├── power_feed.md
│ ├── power_panel.md
│ ├── prefix.md
│ ├── primary_ip.md
│ ├── rack.md
│ ├── rack_reservation.md
│ ├── rack_role.md
│ ├── rack_type.md
│ ├── region.md
│ ├── rir.md
│ ├── route_target.md
│ ├── service.md
│ ├── site.md
│ ├── site_group.md
│ ├── tag.md
│ ├── tenant.md
│ ├── tenant_group.md
│ ├── token.md
│ ├── user.md
│ ├── virtual_chassis.md
│ ├── virtual_disk.md
│ ├── virtual_machine.md
│ ├── vlan.md
│ ├── vlan_group.md
│ ├── vpn_tunnel.md
│ ├── vpn_tunnel_group.md
│ ├── vpn_tunnel_termination.md
│ ├── vrf.md
│ ├── webhook.md
│ ├── wireless_lan.md
│ └── wireless_lan_group.md
├── example/
│ ├── README.md
│ └── main.tf
├── examples/
│ ├── data-sources/
│ │ ├── netbox_asn/
│ │ │ └── data-source.tf
│ │ ├── netbox_asns/
│ │ │ └── data-source.tf
│ │ ├── netbox_cluster/
│ │ │ └── data-source.tf
│ │ ├── netbox_cluster_group/
│ │ │ └── data-source.tf
│ │ ├── netbox_clusters/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_render_config/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_role/
│ │ │ └── data-source.tf
│ │ ├── netbox_device_type/
│ │ │ └── data-source.tf
│ │ ├── netbox_interfaces/
│ │ │ └── data-source.tf
│ │ ├── netbox_ip_address/
│ │ │ └── data-source.tf
│ │ ├── netbox_ip_range/
│ │ │ └── data-source.tf
│ │ ├── netbox_platform/
│ │ │ └── data-source.tf
│ │ ├── netbox_rir/
│ │ │ └── data-source.tf
│ │ ├── netbox_site/
│ │ │ └── data-source.tf
│ │ ├── netbox_site_group/
│ │ │ └── data-source.tf
│ │ ├── netbox_tag/
│ │ │ └── data-source.tf
│ │ ├── netbox_tags/
│ │ │ └── data-source.tf
│ │ ├── netbox_tenant/
│ │ │ └── data-source.tf
│ │ ├── netbox_virtual_disk/
│ │ │ └── data-source.tf
│ │ ├── netbox_virtual_machines/
│ │ │ └── data-source.tf
│ │ ├── netbox_vlan/
│ │ │ └── data-source.tf
│ │ ├── netbox_vlan_group/
│ │ │ └── data-source.tf
│ │ └── netbox_vrf/
│ │ └── data-source.tf
│ ├── provider/
│ │ └── provider.tf
│ └── resources/
│ ├── netbox_aggregate/
│ │ └── resource.tf
│ ├── netbox_asn/
│ │ └── resource.tf
│ ├── netbox_available_ip_address/
│ │ ├── assign_to_interface.tf
│ │ ├── prefix.tf
│ │ └── range.tf
│ ├── netbox_available_prefix/
│ │ └── resource.tf
│ ├── netbox_available_vlan/
│ │ ├── multiple.tf
│ │ ├── prefix.tf
│ │ ├── range.tf
│ │ └── site.tf
│ ├── netbox_cable/
│ │ └── resource.tf
│ ├── netbox_circuit/
│ │ └── resource.tf
│ ├── netbox_circuit_provider/
│ │ └── resource.tf
│ ├── netbox_circuit_termination/
│ │ └── resource.tf
│ ├── netbox_circuit_type/
│ │ └── resource.tf
│ ├── netbox_cluster/
│ │ └── resource.tf
│ ├── netbox_cluster_group/
│ │ └── resource.tf
│ ├── netbox_cluster_type/
│ │ └── resource.tf
│ ├── netbox_config_context/
│ │ └── resource.tf
│ ├── netbox_config_template/
│ │ └── resource.tf
│ ├── netbox_contact/
│ │ └── resource.tf
│ ├── netbox_contact_assignment/
│ │ └── resource.tf
│ ├── netbox_contact_group/
│ │ └── resource.tf
│ ├── netbox_contact_role/
│ │ └── resource.tf
│ ├── netbox_custom_field/
│ │ └── resource.tf
│ ├── netbox_custom_field_choice_set/
│ │ └── resource.tf
│ ├── netbox_device/
│ │ └── resource.tf
│ ├── netbox_device_bay/
│ │ └── resource.tf
│ ├── netbox_device_bay_template/
│ │ └── resource.tf
│ ├── netbox_device_console_port/
│ │ └── resource.tf
│ ├── netbox_device_console_server_port/
│ │ └── resource.tf
│ ├── netbox_device_front_port/
│ │ └── resource.tf
│ ├── netbox_device_interface/
│ │ └── resource.tf
│ ├── netbox_device_module_bay/
│ │ └── resource.tf
│ ├── netbox_device_power_outlet/
│ │ └── resource.tf
│ ├── netbox_device_power_port/
│ │ └── resource.tf
│ ├── netbox_device_primary_ip/
│ │ └── resource.tf
│ ├── netbox_device_rear_port/
│ │ └── resource.tf
│ ├── netbox_device_role/
│ │ └── resource.tf
│ ├── netbox_device_type/
│ │ └── resource.tf
│ ├── netbox_event_rule/
│ │ └── resource.tf
│ ├── netbox_group/
│ │ └── resource.tf
│ ├── netbox_interface/
│ │ └── resource.tf
│ ├── netbox_interface_template/
│ │ └── resource.tf
│ ├── netbox_inventory_item/
│ │ └── resource.tf
│ ├── netbox_inventory_item_role/
│ │ └── resource.tf
│ ├── netbox_ip_address/
│ │ ├── device_interface_id.tf
│ │ ├── object_type_device.tf
│ │ ├── object_type_virtual_machine.tf
│ │ ├── standalone.tf
│ │ └── virtual_machine_interface_id.tf
│ ├── netbox_ip_range/
│ │ └── resource.tf
│ ├── netbox_ipam_role/
│ │ └── resource.tf
│ ├── netbox_location/
│ │ └── resource.tf
│ ├── netbox_mac_address/
│ │ ├── device_interface_id.tf
│ │ ├── object_type_device.tf
│ │ ├── object_type_virtual_machine.tf
│ │ ├── standalone.tf
│ │ └── virtual_machine_interface_id.tf
│ ├── netbox_manufacturer/
│ │ └── resource.tf
│ ├── netbox_module/
│ │ └── resource.tf
│ ├── netbox_module_type/
│ │ └── resource.tf
│ ├── netbox_permission/
│ │ └── resource.tf
│ ├── netbox_platform/
│ │ └── resource.tf
│ ├── netbox_power_feed/
│ │ └── resource.tf
│ ├── netbox_power_panel/
│ │ └── resource.tf
│ ├── netbox_prefix/
│ │ └── resource.tf
│ ├── netbox_primary_ip/
│ │ └── resource.tf
│ ├── netbox_rack/
│ │ └── resource.tf
│ ├── netbox_rack_reservation/
│ │ └── resource.tf
│ ├── netbox_rack_role/
│ │ └── resource.tf
│ ├── netbox_rack_type/
│ │ └── resource.tf
│ ├── netbox_region/
│ │ └── resource.tf
│ ├── netbox_rir/
│ │ └── resource.tf
│ ├── netbox_route_target/
│ │ └── resource.tf
│ ├── netbox_service/
│ │ └── resource.tf
│ ├── netbox_site/
│ │ └── resource.tf
│ ├── netbox_site_group/
│ │ └── resource.tf
│ ├── netbox_tag/
│ │ └── resource.tf
│ ├── netbox_tenant/
│ │ └── resource.tf
│ ├── netbox_tenant_group/
│ │ └── resource.tf
│ ├── netbox_token/
│ │ └── resource.tf
│ ├── netbox_user/
│ │ └── resource.tf
│ ├── netbox_virtual_chassis/
│ │ └── resource.tf
│ ├── netbox_virtual_disk/
│ │ └── resource.tf
│ ├── netbox_virtual_machine/
│ │ └── resource.tf
│ ├── netbox_vlan/
│ │ └── resource.tf
│ ├── netbox_vlan_group/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel_group/
│ │ └── resource.tf
│ ├── netbox_vpn_tunnel_termination/
│ │ └── resource.tf
│ ├── netbox_vrf/
│ │ └── resource.tf
│ ├── netbox_webhook/
│ │ └── resource.tf
│ ├── netbox_wireless_lan/
│ │ └── resource.tf
│ └── netbox_wireless_lan_group/
│ └── resource.tf
├── go.mod
├── go.sum
├── main.go
├── netbox/
│ ├── client.go
│ ├── client_test.go
│ ├── custom_fields.go
│ ├── custom_fields_test.go
│ ├── data_source_netbox_asn.go
│ ├── data_source_netbox_asn_test.go
│ ├── data_source_netbox_asns.go
│ ├── data_source_netbox_asns_test.go
│ ├── data_source_netbox_available_prefix.go
│ ├── data_source_netbox_available_prefix_test.go
│ ├── data_source_netbox_cluster.go
│ ├── data_source_netbox_cluster_group.go
│ ├── data_source_netbox_cluster_group_test.go
│ ├── data_source_netbox_cluster_test.go
│ ├── data_source_netbox_cluster_type.go
│ ├── data_source_netbox_cluster_type_test.go
│ ├── data_source_netbox_clusters.go
│ ├── data_source_netbox_clusters_test.go
│ ├── data_source_netbox_config_context.go
│ ├── data_source_netbox_config_context_test.go
│ ├── data_source_netbox_contact.go
│ ├── data_source_netbox_contact_group.go
│ ├── data_source_netbox_contact_group_test.go
│ ├── data_source_netbox_contact_role.go
│ ├── data_source_netbox_contact_role_test.go
│ ├── data_source_netbox_contact_test.go
│ ├── data_source_netbox_device_interfaces.go
│ ├── data_source_netbox_device_interfaces_test.go
│ ├── data_source_netbox_device_power_ports.go
│ ├── data_source_netbox_device_power_ports_test.go
│ ├── data_source_netbox_device_render_config.go
│ ├── data_source_netbox_device_render_config_test.go
│ ├── data_source_netbox_device_role.go
│ ├── data_source_netbox_device_role_test.go
│ ├── data_source_netbox_device_type.go
│ ├── data_source_netbox_device_type_test.go
│ ├── data_source_netbox_devices.go
│ ├── data_source_netbox_devices_pagination_test.go
│ ├── data_source_netbox_devices_test.go
│ ├── data_source_netbox_interfaces.go
│ ├── data_source_netbox_interfaces_test.go
│ ├── data_source_netbox_ip_address.go
│ ├── data_source_netbox_ip_address_test.go
│ ├── data_source_netbox_ip_addresses.go
│ ├── data_source_netbox_ip_addresses_test.go
│ ├── data_source_netbox_ip_range.go
│ ├── data_source_netbox_ip_range_test.go
│ ├── data_source_netbox_ip_ranges.go
│ ├── data_source_netbox_ip_ranges_test.go
│ ├── data_source_netbox_ipam_role.go
│ ├── data_source_netbox_ipam_role_test.go
│ ├── data_source_netbox_location.go
│ ├── data_source_netbox_location_test.go
│ ├── data_source_netbox_locations.go
│ ├── data_source_netbox_locations_test.go
│ ├── data_source_netbox_platform.go
│ ├── data_source_netbox_platform_test.go
│ ├── data_source_netbox_prefix.go
│ ├── data_source_netbox_prefix_test.go
│ ├── data_source_netbox_prefixes.go
│ ├── data_source_netbox_prefixes_test.go
│ ├── data_source_netbox_rack_role.go
│ ├── data_source_netbox_rack_role_test.go
│ ├── data_source_netbox_racks.go
│ ├── data_source_netbox_racks_test.go
│ ├── data_source_netbox_region.go
│ ├── data_source_netbox_region_test.go
│ ├── data_source_netbox_rir.go
│ ├── data_source_netbox_rir_test.go
│ ├── data_source_netbox_route_target.go
│ ├── data_source_netbox_route_target_test.go
│ ├── data_source_netbox_site.go
│ ├── data_source_netbox_site_group.go
│ ├── data_source_netbox_site_group_test.go
│ ├── data_source_netbox_site_test.go
│ ├── data_source_netbox_tag.go
│ ├── data_source_netbox_tags.go
│ ├── data_source_netbox_tags_test.go
│ ├── data_source_netbox_tenant.go
│ ├── data_source_netbox_tenant_group.go
│ ├── data_source_netbox_tenant_group_test.go
│ ├── data_source_netbox_tenant_test.go
│ ├── data_source_netbox_tenants.go
│ ├── data_source_netbox_tenants_test.go
│ ├── data_source_netbox_virtual_disk.go
│ ├── data_source_netbox_virtual_disk_test.go
│ ├── data_source_netbox_virtual_machines.go
│ ├── data_source_netbox_virtual_machines_test.go
│ ├── data_source_netbox_vlan.go
│ ├── data_source_netbox_vlan_group.go
│ ├── data_source_netbox_vlan_group_test.go
│ ├── data_source_netbox_vlan_groups.go
│ ├── data_source_netbox_vlan_groups_test.go
│ ├── data_source_netbox_vlan_test.go
│ ├── data_source_netbox_vlans.go
│ ├── data_source_netbox_vlans_test.go
│ ├── data_source_netbox_vrf.go
│ ├── data_source_netbox_vrf_test.go
│ ├── data_source_netbox_vrfs.go
│ ├── data_source_netbox_vrfs_test.go
│ ├── generic_objects.go
│ ├── netbox_sweeper_test.go
│ ├── pagination.go
│ ├── pagination_test.go
│ ├── provider.go
│ ├── provider_test.go
│ ├── resource_netbox_aggregate.go
│ ├── resource_netbox_aggregate_test.go
│ ├── resource_netbox_asn.go
│ ├── resource_netbox_asn_test.go
│ ├── resource_netbox_available_ip_address.go
│ ├── resource_netbox_available_ip_address_test.go
│ ├── resource_netbox_available_prefix.go
│ ├── resource_netbox_available_prefix_test.go
│ ├── resource_netbox_available_vlan.go
│ ├── resource_netbox_available_vlan_test.go
│ ├── resource_netbox_cable.go
│ ├── resource_netbox_cable_test.go
│ ├── resource_netbox_circuit.go
│ ├── resource_netbox_circuit_provider.go
│ ├── resource_netbox_circuit_provider_test.go
│ ├── resource_netbox_circuit_termination.go
│ ├── resource_netbox_circuit_termination_test.go
│ ├── resource_netbox_circuit_test.go
│ ├── resource_netbox_circuit_type.go
│ ├── resource_netbox_circuit_type_test.go
│ ├── resource_netbox_cluster.go
│ ├── resource_netbox_cluster_group.go
│ ├── resource_netbox_cluster_group_test.go
│ ├── resource_netbox_cluster_test.go
│ ├── resource_netbox_cluster_type.go
│ ├── resource_netbox_cluster_type_test.go
│ ├── resource_netbox_config_context.go
│ ├── resource_netbox_config_context_test.go
│ ├── resource_netbox_config_template.go
│ ├── resource_netbox_config_template_test.go
│ ├── resource_netbox_contact.go
│ ├── resource_netbox_contact_assignment.go
│ ├── resource_netbox_contact_assignment_test.go
│ ├── resource_netbox_contact_group.go
│ ├── resource_netbox_contact_group_test.go
│ ├── resource_netbox_contact_role.go
│ ├── resource_netbox_contact_role_test.go
│ ├── resource_netbox_contact_test.go
│ ├── resource_netbox_custom_field.go
│ ├── resource_netbox_custom_field_choice_set.go
│ ├── resource_netbox_custom_field_choice_set_test.go
│ ├── resource_netbox_custom_field_test.go
│ ├── resource_netbox_device.go
│ ├── resource_netbox_device_bay.go
│ ├── resource_netbox_device_bay_template.go
│ ├── resource_netbox_device_bay_template_test.go
│ ├── resource_netbox_device_bay_test.go
│ ├── resource_netbox_device_console_port.go
│ ├── resource_netbox_device_console_port_test.go
│ ├── resource_netbox_device_console_server_port.go
│ ├── resource_netbox_device_console_server_port_test.go
│ ├── resource_netbox_device_front_port.go
│ ├── resource_netbox_device_front_port_test.go
│ ├── resource_netbox_device_interface.go
│ ├── resource_netbox_device_interface_test.go
│ ├── resource_netbox_device_module_bay.go
│ ├── resource_netbox_device_module_bay_test.go
│ ├── resource_netbox_device_power_feed.go
│ ├── resource_netbox_device_power_feed_test.go
│ ├── resource_netbox_device_power_outlet.go
│ ├── resource_netbox_device_power_outlet_test.go
│ ├── resource_netbox_device_power_port.go
│ ├── resource_netbox_device_power_port_test.go
│ ├── resource_netbox_device_primary_ip.go
│ ├── resource_netbox_device_primary_ip_test.go
│ ├── resource_netbox_device_rear_port.go
│ ├── resource_netbox_device_rear_port_test.go
│ ├── resource_netbox_device_role.go
│ ├── resource_netbox_device_role_test.go
│ ├── resource_netbox_device_test.go
│ ├── resource_netbox_device_type.go
│ ├── resource_netbox_device_type_test.go
│ ├── resource_netbox_event_rule.go
│ ├── resource_netbox_event_rule_test.go
│ ├── resource_netbox_group.go
│ ├── resource_netbox_group_test.go
│ ├── resource_netbox_interface.go
│ ├── resource_netbox_interface_template.go
│ ├── resource_netbox_interface_template_test.go
│ ├── resource_netbox_interface_test.go
│ ├── resource_netbox_inventory_item.go
│ ├── resource_netbox_inventory_item_role.go
│ ├── resource_netbox_inventory_item_role_test.go
│ ├── resource_netbox_inventory_item_test.go
│ ├── resource_netbox_ip_address.go
│ ├── resource_netbox_ip_address_test.go
│ ├── resource_netbox_ip_range.go
│ ├── resource_netbox_ip_range_test.go
│ ├── resource_netbox_ipam_role.go
│ ├── resource_netbox_ipam_role_test.go
│ ├── resource_netbox_location.go
│ ├── resource_netbox_location_test.go
│ ├── resource_netbox_mac_address.go
│ ├── resource_netbox_mac_address_test.go
│ ├── resource_netbox_manufacturer.go
│ ├── resource_netbox_manufacturer_test.go
│ ├── resource_netbox_module.go
│ ├── resource_netbox_module_test.go
│ ├── resource_netbox_module_type.go
│ ├── resource_netbox_module_type_test.go
│ ├── resource_netbox_permission.go
│ ├── resource_netbox_permission_test.go
│ ├── resource_netbox_platform.go
│ ├── resource_netbox_platform_test.go
│ ├── resource_netbox_power_panel.go
│ ├── resource_netbox_power_panel_test.go
│ ├── resource_netbox_prefix.go
│ ├── resource_netbox_prefix_test.go
│ ├── resource_netbox_primary_ip.go
│ ├── resource_netbox_primary_ip_test.go
│ ├── resource_netbox_rack.go
│ ├── resource_netbox_rack_reservation.go
│ ├── resource_netbox_rack_reservation_test.go
│ ├── resource_netbox_rack_role.go
│ ├── resource_netbox_rack_role_test.go
│ ├── resource_netbox_rack_test.go
│ ├── resource_netbox_rack_type.go
│ ├── resource_netbox_rack_type_test.go
│ ├── resource_netbox_region.go
│ ├── resource_netbox_region_test.go
│ ├── resource_netbox_rir.go
│ ├── resource_netbox_rir_test.go
│ ├── resource_netbox_route_target.go
│ ├── resource_netbox_route_target_test.go
│ ├── resource_netbox_service.go
│ ├── resource_netbox_service_test.go
│ ├── resource_netbox_site.go
│ ├── resource_netbox_site_group.go
│ ├── resource_netbox_site_group_test.go
│ ├── resource_netbox_site_test.go
│ ├── resource_netbox_tag.go
│ ├── resource_netbox_tag_test.go
│ ├── resource_netbox_tenant.go
│ ├── resource_netbox_tenant_group.go
│ ├── resource_netbox_tenant_group_test.go
│ ├── resource_netbox_tenant_test.go
│ ├── resource_netbox_token.go
│ ├── resource_netbox_token_test.go
│ ├── resource_netbox_user.go
│ ├── resource_netbox_user_test.go
│ ├── resource_netbox_virtual_chassis.go
│ ├── resource_netbox_virtual_chassis_test.go
│ ├── resource_netbox_virtual_disk.go
│ ├── resource_netbox_virtual_disk_migrate_v0.go
│ ├── resource_netbox_virtual_disk_test.go
│ ├── resource_netbox_virtual_machine.go
│ ├── resource_netbox_virtual_machine_migrate_v0.go
│ ├── resource_netbox_virtual_machine_migrate_v0_test.go
│ ├── resource_netbox_virtual_machine_migrate_v1.go
│ ├── resource_netbox_virtual_machine_migrate_v1_test.go
│ ├── resource_netbox_virtual_machine_test.go
│ ├── resource_netbox_vlan.go
│ ├── resource_netbox_vlan_group.go
│ ├── resource_netbox_vlan_group_test.go
│ ├── resource_netbox_vlan_test.go
│ ├── resource_netbox_vpn_tunnel.go
│ ├── resource_netbox_vpn_tunnel_group.go
│ ├── resource_netbox_vpn_tunnel_group_test.go
│ ├── resource_netbox_vpn_tunnel_termination.go
│ ├── resource_netbox_vpn_tunnel_termination_test.go
│ ├── resource_netbox_vpn_tunnel_test.go
│ ├── resource_netbox_vrf.go
│ ├── resource_netbox_vrf_test.go
│ ├── resource_netbox_webhook.go
│ ├── resource_netbox_webhook_test.go
│ ├── resource_netbox_wireless_helpers.go
│ ├── resource_netbox_wireless_lan.go
│ ├── resource_netbox_wireless_lan_group.go
│ ├── resource_netbox_wireless_lan_group_test.go
│ ├── resource_netbox_wireless_lan_test.go
│ ├── slug_test.go
│ ├── slugs.go
│ ├── tags.go
│ ├── tags_test.go
│ ├── util.go
│ ├── util_test.go
│ └── validation.go
├── scripts/
│ ├── allowed_subcategories.sh
│ └── ensure_docs_examples.sh
├── templates/
│ ├── index.md.tmpl
│ └── resources/
│ ├── available_ip_address.md.tmpl
│ ├── ip_address.md.tmpl
│ └── mac_address.md.tmpl
└── tools/
└── tools.go
SYMBOL INDEX (1129 symbols across 284 files)
FILE: main.go
function main (line 17) | func main() {
FILE: netbox/client.go
type Config (line 16) | type Config struct
method Client (line 34) | func (cfg *Config) Client() (*netboxclient.NetBoxAPI, error) {
type customHeaderTransport (line 28) | type customHeaderTransport struct
method RoundTrip (line 97) | func (t customHeaderTransport) RoundTrip(r *http.Request) (*http.Respo...
FILE: netbox/client_test.go
function TestValidClientWithAllData (line 12) | func TestValidClientWithAllData(t *testing.T) {
function TestURLMissingSchemaShouldWork (line 23) | func TestURLMissingSchemaShouldWork(t *testing.T) {
function TestURLMaleformedUrlShouldFail (line 34) | func TestURLMaleformedUrlShouldFail(t *testing.T) {
function TestURLMissingPortShouldWork (line 44) | func TestURLMissingPortShouldWork(t *testing.T) {
function TestURLMissingAccessKey (line 55) | func TestURLMissingAccessKey(t *testing.T) {
function TestAdditionalHeadersSet (line 65) | func TestAdditionalHeadersSet(t *testing.T) {
function TestV1TokenUsesTokenScheme (line 90) | func TestV1TokenUsesTokenScheme(t *testing.T) {
function TestV2TokenUsesBearerScheme (line 109) | func TestV2TokenUsesBearerScheme(t *testing.T) {
FILE: netbox/custom_fields.go
constant customFieldsKey (line 13) | customFieldsKey = "custom_fields"
function getCustomFields (line 25) | func getCustomFields(cf interface{}) map[string]interface{} {
function flattenCustomFields (line 46) | func flattenCustomFields(cf interface{}) map[string]interface{} {
type CustomFieldParams (line 79) | type CustomFieldParams struct
method WriteToRequest (line 84) | func (o *CustomFieldParams) WriteToRequest(r runtime.ClientRequest, re...
function WithCustomFieldParamsOption (line 100) | func WithCustomFieldParamsOption(cfm map[string]interface{}) func(*runti...
FILE: netbox/custom_fields_test.go
function TestFlattenCustomFields (line 8) | func TestFlattenCustomFields(t *testing.T) {
function TestFlattenCustomFields_ComplexRealWorldExample (line 169) | func TestFlattenCustomFields_ComplexRealWorldExample(t *testing.T) {
function TestGetCustomFields (line 225) | func TestGetCustomFields(t *testing.T) {
FILE: netbox/data_source_netbox_asn.go
function dataSourceNetboxAsn (line 11) | func dataSourceNetboxAsn() *schema.Resource {
function dataSourceNetboxAsnRead (line 47) | func dataSourceNetboxAsnRead(d *schema.ResourceData, m interface{}) error {
FILE: netbox/data_source_netbox_asn_test.go
function testAccNetboxAsnSetUp (line 11) | func testAccNetboxAsnSetUp(testName string) string {
constant testAccNetboxAsnNoResult (line 28) | testAccNetboxAsnNoResult = `
function testAccNetboxAsnByAsn (line 33) | func testAccNetboxAsnByAsn() string {
function testAccNetboxAsnByTag (line 40) | func testAccNetboxAsnByTag(testName string) string {
function TestAccNetboxAsnDataSource_basic (line 47) | func TestAccNetboxAsnDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_asns.go
function dataSourceNetboxAsns (line 14) | func dataSourceNetboxAsns() *schema.Resource {
function dataSourceNetboxAsnsRead (line 66) | func dataSourceNetboxAsnsRead(d *schema.ResourceData, m interface{}) err...
FILE: netbox/data_source_netbox_asns_test.go
function testAccNetboxAsnsSetUp (line 10) | func testAccNetboxAsnsSetUp(testName string) string {
function testAccNetboxAsnsByAsn (line 33) | func testAccNetboxAsnsByAsn() string {
function testAccNetboxAsnsByAsnN (line 43) | func testAccNetboxAsnsByAsnN() string {
function testAccNetboxAsnsByRange (line 53) | func testAccNetboxAsnsByRange(testName string) string {
function TestAccNetboxAsnsDataSource_basic (line 68) | func TestAccNetboxAsnsDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_available_prefix.go
function dataSourceNetboxAvailablePrefix (line 9) | func dataSourceNetboxAvailablePrefix() *schema.Resource {
function dataSourceNetboxAvailablePrefixRead (line 42) | func dataSourceNetboxAvailablePrefixRead(d *schema.ResourceData, m inter...
FILE: netbox/data_source_netbox_available_prefix_test.go
function TestAccNetboxAvailablePrefixesDataSource_basic (line 10) | func TestAccNetboxAvailablePrefixesDataSource_basic(t *testing.T) {
function TestAccNetboxAvailablePrefixesDataSource_without_vrf (line 59) | func TestAccNetboxAvailablePrefixesDataSource_without_vrf(t *testing.T) {
function TestAccNetboxAvailablePrefixesDataSource_none_available (line 101) | func TestAccNetboxAvailablePrefixesDataSource_none_available(t *testing....
FILE: netbox/data_source_netbox_cluster.go
function dataSourceNetboxCluster (line 12) | func dataSourceNetboxCluster() *schema.Resource {
function dataSourceNetboxClusterRead (line 84) | func dataSourceNetboxClusterRead(d *schema.ResourceData, m interface{}) ...
FILE: netbox/data_source_netbox_cluster_group.go
function dataSourceNetboxClusterGroup (line 11) | func dataSourceNetboxClusterGroup() *schema.Resource {
function dataSourceNetboxClusterGroupRead (line 28) | func dataSourceNetboxClusterGroupRead(d *schema.ResourceData, m interfac...
FILE: netbox/data_source_netbox_cluster_group_test.go
function TestAccNetboxClusterGroupDataSource_basic (line 10) | func TestAccNetboxClusterGroupDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_cluster_test.go
function TestAccNetboxClusterDataSource_basic (line 10) | func TestAccNetboxClusterDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_cluster_type.go
function dataSourceNetboxClusterType (line 11) | func dataSourceNetboxClusterType() *schema.Resource {
function dataSourceNetboxClusterTypeRead (line 28) | func dataSourceNetboxClusterTypeRead(d *schema.ResourceData, m interface...
FILE: netbox/data_source_netbox_cluster_type_test.go
function TestAccNetboxClusterTypeDataSource_basic (line 10) | func TestAccNetboxClusterTypeDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_clusters.go
function dataSourceNetboxClusters (line 14) | func dataSourceNetboxClusters() *schema.Resource {
function dataSourceNetboxClustersRead (line 115) | func dataSourceNetboxClustersRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_clusters_test.go
function TestAccNetboxClustersDataSource_basic (line 10) | func TestAccNetboxClustersDataSource_basic(t *testing.T) {
function TestAccNetboxClustersDataSource_tags (line 79) | func TestAccNetboxClustersDataSource_tags(t *testing.T) {
function testAccNetboxClustersDataSourceDependencies (line 101) | func testAccNetboxClustersDataSourceDependencies(testName string) string {
function testAccNetboxClustersDataSourceDependenciesWithTags (line 147) | func testAccNetboxClustersDataSourceDependenciesWithTags(testName string...
function testAccNetboxClustersDataSourceFilterName (line 188) | func testAccNetboxClustersDataSourceFilterName(testName string) string {
constant testAccNetboxClustersDataSourceFilterClusterTypeID (line 198) | testAccNetboxClustersDataSourceFilterClusterTypeID = `
constant testAccNetboxClustersDataSourceFilterClusterGroupID (line 206) | testAccNetboxClustersDataSourceFilterClusterGroupID = `
constant testAccNetboxClustersDataSourceFilterSiteID (line 214) | testAccNetboxClustersDataSourceFilterSiteID = `
constant testAccNetboxClustersDataSourceNameRegex (line 222) | testAccNetboxClustersDataSourceNameRegex = `
constant testAccNetboxClustersDataSourceLimit (line 227) | testAccNetboxClustersDataSourceLimit = `
function testAccNetboxClustersDataSourceTagA (line 236) | func testAccNetboxClustersDataSourceTagA(testName string) string {
function testAccNetboxClustersDataSourceTagB (line 246) | func testAccNetboxClustersDataSourceTagB(testName string) string {
function testAccNetboxClustersDataSourceTagAB (line 256) | func testAccNetboxClustersDataSourceTagAB(testName string) string {
FILE: netbox/data_source_netbox_config_context.go
function dataSourceNetboxConfigContext (line 12) | func dataSourceNetboxConfigContext() *schema.Resource {
function dataSourceNetboxConfigContextRead (line 141) | func dataSourceNetboxConfigContextRead(d *schema.ResourceData, m interfa...
FILE: netbox/data_source_netbox_config_context_test.go
function TestAccNetboxConfigContextDataSource_basic (line 10) | func TestAccNetboxConfigContextDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_contact.go
function dataSourceNetboxContact (line 11) | func dataSourceNetboxContact() *schema.Resource {
function dataSourceNetboxContactRead (line 40) | func dataSourceNetboxContactRead(d *schema.ResourceData, m interface{}) ...
FILE: netbox/data_source_netbox_contact_group.go
function dataSourceNetboxContactGroup (line 11) | func dataSourceNetboxContactGroup() *schema.Resource {
function dataSourceNetboxContactGroupRead (line 36) | func dataSourceNetboxContactGroupRead(d *schema.ResourceData, m interfac...
FILE: netbox/data_source_netbox_contact_group_test.go
function TestAccNetboxContactGroupDataSource_basic (line 10) | func TestAccNetboxContactGroupDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_contact_role.go
function dataSourceNetboxContactRole (line 11) | func dataSourceNetboxContactRole() *schema.Resource {
function dataSourceNetboxContactRoleRead (line 32) | func dataSourceNetboxContactRoleRead(d *schema.ResourceData, m interface...
FILE: netbox/data_source_netbox_contact_role_test.go
function TestAccNetboxContactRoleDataSource_basic (line 10) | func TestAccNetboxContactRoleDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_contact_test.go
function TestAccNetboxContactDataSource_basic (line 10) | func TestAccNetboxContactDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_device_interfaces.go
function dataSourceNetboxDeviceInterfaces (line 15) | func dataSourceNetboxDeviceInterfaces() *schema.Resource {
function dataSourceNetboxDeviceInterfaceRead (line 168) | func dataSourceNetboxDeviceInterfaceRead(d *schema.ResourceData, m inter...
FILE: netbox/data_source_netbox_device_interfaces_test.go
function TestAccNetboxDeviceInterfacesDataSource_basic (line 10) | func TestAccNetboxDeviceInterfacesDataSource_basic(t *testing.T) {
function testAccNetboxDeviceInterfacesDataSourceDependencies (line 68) | func testAccNetboxDeviceInterfacesDataSourceDependencies(testName string...
FILE: netbox/data_source_netbox_device_power_ports.go
function dataSourceNetboxDevicePowerPorts (line 15) | func dataSourceNetboxDevicePowerPorts() *schema.Resource {
function dataSourceNetboxDevicePowerPortRead (line 102) | func dataSourceNetboxDevicePowerPortRead(d *schema.ResourceData, m inter...
FILE: netbox/data_source_netbox_device_power_ports_test.go
function TestAccNetboxDevicePowerportsDataSource_basic (line 10) | func TestAccNetboxDevicePowerportsDataSource_basic(t *testing.T) {
function testAccNetboxDevicePowerportsDataSourceDependencies (line 71) | func testAccNetboxDevicePowerportsDataSourceDependencies(testName string...
FILE: netbox/data_source_netbox_device_render_config.go
function dataSourceNetboxDeviceRenderConfig (line 10) | func dataSourceNetboxDeviceRenderConfig() *schema.Resource {
function dataSourceNetboxDeviceRenderConfigRead (line 39) | func dataSourceNetboxDeviceRenderConfigRead(d *schema.ResourceData, m in...
FILE: netbox/data_source_netbox_device_render_config_test.go
function TestAccNetboxDeviceRenderConfigDataSource_basic (line 10) | func TestAccNetboxDeviceRenderConfigDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_device_role.go
function dataSourceNetboxDeviceRole (line 11) | func dataSourceNetboxDeviceRole() *schema.Resource {
function dataSourceNetboxDeviceRoleRead (line 33) | func dataSourceNetboxDeviceRoleRead(d *schema.ResourceData, m interface{...
FILE: netbox/data_source_netbox_device_role_test.go
function TestAccNetboxDeviceRoleDataSource_basic (line 10) | func TestAccNetboxDeviceRoleDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_device_type.go
function dataSourceNetboxDeviceType (line 11) | func dataSourceNetboxDeviceType() *schema.Resource {
function dataSourceNetboxDeviceTypeRead (line 52) | func dataSourceNetboxDeviceTypeRead(d *schema.ResourceData, m interface{...
FILE: netbox/data_source_netbox_device_type_test.go
function TestAccNetboxDeviceTypeDataSource_basic (line 11) | func TestAccNetboxDeviceTypeDataSource_basic(t *testing.T) {
function testAccNetboxDeviceTypeSetUp (line 54) | func testAccNetboxDeviceTypeSetUp(testName string) string {
constant testAccNetboxDeviceTypeDataNoResult (line 67) | testAccNetboxDeviceTypeDataNoResult = `
function testAccNetboxDeviceTypeDataByModel (line 72) | func testAccNetboxDeviceTypeDataByModel(testName string) string {
function testAccNetboxDeviceTypeDataCombo (line 79) | func testAccNetboxDeviceTypeDataCombo(testName string) string {
function testAccNetboxDeviceTypeDataBySlug (line 87) | func testAccNetboxDeviceTypeDataBySlug(testName string) string {
FILE: netbox/data_source_netbox_devices.go
function dataSourceNetboxDevices (line 20) | func dataSourceNetboxDevices() *schema.Resource {
function dataSourceNetboxDevicesRead (line 165) | func dataSourceNetboxDevicesRead(d *schema.ResourceData, m interface{}) ...
FILE: netbox/data_source_netbox_devices_pagination_test.go
function TestDataSourceNetboxDevicesPagination (line 20) | func TestDataSourceNetboxDevicesPagination(t *testing.T) {
function minimalDeviceJSON (line 88) | func minimalDeviceJSON(id int, name string) map[string]interface{} {
FILE: netbox/data_source_netbox_devices_test.go
function TestAccNetboxDevicesDataSource_basic (line 15) | func TestAccNetboxDevicesDataSource_basic(t *testing.T) {
function testAccNetboxDeviceDataSourceDependencies (line 102) | func testAccNetboxDeviceDataSourceDependencies(testName string) string {
function testAccNetboxDeviceDataSourceFilterName (line 249) | func testAccNetboxDeviceDataSourceFilterName(testName string) string {
constant testAccNetboxDeviceDataSourceFilterTenant (line 259) | testAccNetboxDeviceDataSourceFilterTenant = `
constant testAccNetBoxDeviceDataSourceFilterTagsAndStatus (line 267) | testAccNetBoxDeviceDataSourceFilterTagsAndStatus = `
constant testAccNetBoxDeviceDataSourceMultipleTagsFilter (line 279) | testAccNetBoxDeviceDataSourceMultipleTagsFilter = `
constant testAccNetboxDeviceDataSourceFilterRole (line 287) | testAccNetboxDeviceDataSourceFilterRole = `
function testAccNetboxDeviceDataSourceNameRegex (line 295) | func testAccNetboxDeviceDataSourceNameRegex(testName string) string {
constant testAccNetboxDeviceDataSourceLimit (line 302) | testAccNetboxDeviceDataSourceLimit = `
function TestAccNetboxDevicesDataSource_CustomFields (line 311) | func TestAccNetboxDevicesDataSource_CustomFields(t *testing.T) {
FILE: netbox/data_source_netbox_interfaces.go
function dataSourceNetboxInterfaces (line 15) | func dataSourceNetboxInterfaces() *schema.Resource {
function dataSourceNetboxInterfaceRead (line 144) | func dataSourceNetboxInterfaceRead(d *schema.ResourceData, m interface{}...
function flattenVlanAttributes (line 276) | func flattenVlanAttributes(vlans []*models.NestedVLAN) []map[string]inte...
FILE: netbox/data_source_netbox_interfaces_test.go
function TestAccNetboxInterfacesDataSource_basic (line 10) | func TestAccNetboxInterfacesDataSource_basic(t *testing.T) {
function testAccNetboxInterfacesDataSourceDependencies (line 56) | func testAccNetboxInterfacesDataSourceDependencies(testName string) stri...
constant testAccNetboxInterfacesDataSourceFilterVM (line 93) | testAccNetboxInterfacesDataSourceFilterVM = `
constant testAccNetboxInterfacesDataSourceFilterVMWithLimit (line 101) | testAccNetboxInterfacesDataSourceFilterVMWithLimit = `
function testAccNetboxInterfacesDataSourceFilterName (line 111) | func testAccNetboxInterfacesDataSourceFilterName(testName string) string {
constant testAccNetboxInterfacesDataSourceNameRegex (line 121) | testAccNetboxInterfacesDataSourceNameRegex = `
FILE: netbox/data_source_netbox_ip_address.go
function dataSourceNetboxIPAddress (line 11) | func dataSourceNetboxIPAddress() *schema.Resource {
function dataSourceNetboxIPAddressRead (line 106) | func dataSourceNetboxIPAddressRead(d *schema.ResourceData, m interface{}...
FILE: netbox/data_source_netbox_ip_address_test.go
function TestAccNetboxIpAddressDataSource_basic (line 10) | func TestAccNetboxIpAddressDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_ip_addresses.go
function dataSourceNetboxIPAddresses (line 14) | func dataSourceNetboxIPAddresses() *schema.Resource {
function dataSourceNetboxIPAddressesRead (line 140) | func dataSourceNetboxIPAddressesRead(d *schema.ResourceData, m interface...
function flattenTenant (line 268) | func flattenTenant(tenant *models.NestedTenant) []map[string]interface{} {
FILE: netbox/data_source_netbox_ip_addresses_test.go
function TestAccNetboxIpAddressesDataSource_basic (line 10) | func TestAccNetboxIpAddressesDataSource_basic(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter (line 42) | func TestAccNetboxIpAddressesDataSource_filter(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter2 (line 81) | func TestAccNetboxIpAddressesDataSource_filter2(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter_parent_prefix (line 122) | func TestAccNetboxIpAddressesDataSource_filter_parent_prefix(t *testing....
function TestAccNetboxIpAddressesDataSource_multiple (line 166) | func TestAccNetboxIpAddressesDataSource_multiple(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_flattenTenant (line 207) | func TestAccNetboxIpAddressesDataSource_flattenTenant(t *testing.T) {
function testAccNetboxIPAddressesDataSourceDependenciesMany (line 252) | func testAccNetboxIPAddressesDataSourceDependenciesMany(testName string)...
function TestAccNetboxIpAddressessDataSource_many (line 274) | func TestAccNetboxIpAddressessDataSource_many(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter_tags (line 307) | func TestAccNetboxIpAddressesDataSource_filter_tags(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter_description (line 357) | func TestAccNetboxIpAddressesDataSource_filter_description(t *testing.T) {
function TestAccNetboxIpAddressesDataSource_filter_customFields (line 398) | func TestAccNetboxIpAddressesDataSource_filter_customFields(t *testing.T) {
FILE: netbox/data_source_netbox_ip_range.go
function dataSourceNetboxIPRange (line 12) | func dataSourceNetboxIPRange() *schema.Resource {
function dataSourceNetboxIPRangeRead (line 99) | func dataSourceNetboxIPRangeRead(d *schema.ResourceData, m interface{}) ...
FILE: netbox/data_source_netbox_ip_range_test.go
function TestAccNetboxIpRangeDataSource_basic (line 10) | func TestAccNetboxIpRangeDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_ip_ranges.go
function dataSourceNetboxIPRanges (line 14) | func dataSourceNetboxIPRanges() *schema.Resource {
function dataSourceNetboxIPRangesRead (line 138) | func dataSourceNetboxIPRangesRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_ip_ranges_test.go
function TestAccNetboxIpRangesDataSource_basic (line 10) | func TestAccNetboxIpRangesDataSource_basic(t *testing.T) {
function TestAccNetboxIpRangesDataSource_filter (line 35) | func TestAccNetboxIpRangesDataSource_filter(t *testing.T) {
FILE: netbox/data_source_netbox_ipam_role.go
function dataSourceNetboxIPAMRole (line 11) | func dataSourceNetboxIPAMRole() *schema.Resource {
function dataSourceNetboxIPAMRoleRead (line 36) | func dataSourceNetboxIPAMRoleRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_ipam_role_test.go
function TestAccNetboxIPAMRoleDataSource_basic (line 10) | func TestAccNetboxIPAMRoleDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_location.go
function dataSourceNetboxLocation (line 12) | func dataSourceNetboxLocation() *schema.Resource {
function dataSourceNetboxLocationRead (line 57) | func dataSourceNetboxLocationRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_location_test.go
function TestAccNetboxLocationDataSource_basic (line 10) | func TestAccNetboxLocationDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_locations.go
function dataSourceNetboxLocations (line 14) | func dataSourceNetboxLocations() *schema.Resource {
function dataSourceNetboxLocationsRead (line 101) | func dataSourceNetboxLocationsRead(d *schema.ResourceData, m interface{}...
FILE: netbox/data_source_netbox_locations_test.go
function TestAccNetboxLocationsDataSource_basic (line 10) | func TestAccNetboxLocationsDataSource_basic(t *testing.T) {
function TestAccNetboxLocationsDataSource_multiple (line 114) | func TestAccNetboxLocationsDataSource_multiple(t *testing.T) {
function TestAccNetboxLocationsDataSource_sublocations (line 173) | func TestAccNetboxLocationsDataSource_sublocations(t *testing.T) {
FILE: netbox/data_source_netbox_platform.go
function dataSourceNetboxPlatform (line 11) | func dataSourceNetboxPlatform() *schema.Resource {
function dataSourceNetboxPlatformRead (line 32) | func dataSourceNetboxPlatformRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_platform_test.go
function TestAccNetboxPlatformDataSource_basic (line 10) | func TestAccNetboxPlatformDataSource_basic(t *testing.T) {
function TestAccNetboxPlatformDataSource_manufacturer (line 33) | func TestAccNetboxPlatformDataSource_manufacturer(t *testing.T) {
FILE: netbox/data_source_netbox_prefix.go
function dataSourceNetboxPrefix (line 12) | func dataSourceNetboxPrefix() *schema.Resource {
function dataSourceNetboxPrefixRead (line 136) | func dataSourceNetboxPrefixRead(d *schema.ResourceData, m interface{}) e...
FILE: netbox/data_source_netbox_prefix_test.go
function TestAccNetboxPrefixDataSource_basic (line 11) | func TestAccNetboxPrefixDataSource_basic(t *testing.T) {
function TestAccNetboxPrefixDataSource_customFields (line 140) | func TestAccNetboxPrefixDataSource_customFields(t *testing.T) {
FILE: netbox/data_source_netbox_prefixes.go
function dataSourceNetboxPrefixes (line 14) | func dataSourceNetboxPrefixes() *schema.Resource {
function dataSourceNetboxPrefixesRead (line 113) | func dataSourceNetboxPrefixesRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_prefixes_test.go
function TestAccNetboxPrefixesDataSource_basic (line 10) | func TestAccNetboxPrefixesDataSource_basic(t *testing.T) {
function TestAccNetboxPrefixesDataSource_customFields (line 200) | func TestAccNetboxPrefixesDataSource_customFields(t *testing.T) {
FILE: netbox/data_source_netbox_rack_role.go
function dataSourceNetboxRackRole (line 11) | func dataSourceNetboxRackRole() *schema.Resource {
function dataSourceNetboxRackRoleRead (line 37) | func dataSourceNetboxRackRoleRead(d *schema.ResourceData, m interface{})...
FILE: netbox/data_source_netbox_rack_role_test.go
function TestAccNetboxRackRoleDataSource_basic (line 10) | func TestAccNetboxRackRoleDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_racks.go
function dataSourceNetboxRacks (line 14) | func dataSourceNetboxRacks() *schema.Resource {
function dataSourceNetboxRacksRead (line 150) | func dataSourceNetboxRacksRead(d *schema.ResourceData, m interface{}) er...
FILE: netbox/data_source_netbox_racks_test.go
function TestAccNetboxRacksDataSource_basic (line 10) | func TestAccNetboxRacksDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_region.go
function dataSourceNetboxRegion (line 11) | func dataSourceNetboxRegion() *schema.Resource {
function dataSourceNetboxRegionRead (line 60) | func dataSourceNetboxRegionRead(d *schema.ResourceData, m interface{}) e...
FILE: netbox/data_source_netbox_region_test.go
function TestAccNetboxRegionDataSource_basic (line 10) | func TestAccNetboxRegionDataSource_basic(t *testing.T) {
function TestAccNetboxRegionDataSource_parent (line 37) | func TestAccNetboxRegionDataSource_parent(t *testing.T) {
FILE: netbox/data_source_netbox_rir.go
function dataSourceNetboxRir (line 11) | func dataSourceNetboxRir() *schema.Resource {
function dataSourceNetboxRirRead (line 44) | func dataSourceNetboxRirRead(d *schema.ResourceData, m interface{}) error {
FILE: netbox/data_source_netbox_rir_test.go
function testAccNetboxRirSetUp (line 11) | func testAccNetboxRirSetUp(testName string) string {
constant testAccNetboxRirNoResult (line 18) | testAccNetboxRirNoResult = `
function testAccNetboxRirByName (line 23) | func testAccNetboxRirByName(testName string) string {
function testAccNetboxRirBySlug (line 30) | func testAccNetboxRirBySlug(testName string) string {
function TestAccNetboxRirDataSource_basic (line 37) | func TestAccNetboxRirDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_route_target.go
function dataSourceNetboxRouteTarget (line 12) | func dataSourceNetboxRouteTarget() *schema.Resource {
function dataSourceNetboxRouteTargetRead (line 35) | func dataSourceNetboxRouteTargetRead(d *schema.ResourceData, m interface...
FILE: netbox/data_source_netbox_route_target_test.go
function getNetboxDataSourceRouteTargetConfig (line 10) | func getNetboxDataSourceRouteTargetConfig(testName string) string {
function TestAccNetboxRouteTarget_basic (line 27) | func TestAccNetboxRouteTarget_basic(t *testing.T) {
FILE: netbox/data_source_netbox_site.go
function dataSourceNetboxSite (line 11) | func dataSourceNetboxSite() *schema.Resource {
function dataSourceNetboxSiteRead (line 83) | func dataSourceNetboxSiteRead(d *schema.ResourceData, m interface{}) err...
FILE: netbox/data_source_netbox_site_group.go
function dataSourceNetboxSiteGroup (line 11) | func dataSourceNetboxSiteGroup() *schema.Resource {
function dataSourceNetboxSiteGroupRead (line 36) | func dataSourceNetboxSiteGroupRead(d *schema.ResourceData, m interface{}...
FILE: netbox/data_source_netbox_site_group_test.go
function TestAccNetboxSiteGroupDataSource_basic (line 10) | func TestAccNetboxSiteGroupDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_site_test.go
function testAccNetboxSiteSetUp (line 11) | func testAccNetboxSiteSetUp(testName string) string {
constant testAccNetboxSiteNoResult (line 42) | testAccNetboxSiteNoResult = `
function testAccNetboxSiteByName (line 47) | func testAccNetboxSiteByName(testName string) string {
function testAccNetboxSiteBySlug (line 54) | func testAccNetboxSiteBySlug(testName string) string {
function testAccNetboxSiteByID (line 61) | func testAccNetboxSiteByID() string {
function testAccNetboxSiteByFacility (line 68) | func testAccNetboxSiteByFacility() string {
function TestAccNetboxSiteDataSource_basic (line 75) | func TestAccNetboxSiteDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_tag.go
function dataSourceNetboxTag (line 11) | func dataSourceNetboxTag() *schema.Resource {
function dataSourceNetboxTagRead (line 32) | func dataSourceNetboxTagRead(d *schema.ResourceData, m interface{}) error {
FILE: netbox/data_source_netbox_tags.go
function dataSourceNetboxTags (line 14) | func dataSourceNetboxTags() *schema.Resource {
function dataSourceNetboxTagsRead (line 73) | func dataSourceNetboxTagsRead(d *schema.ResourceData, m interface{}) err...
FILE: netbox/data_source_netbox_tags_test.go
function testAccNetboxTagsSetUp (line 9) | func testAccNetboxTagsSetUp() string {
function testAccNetboxTagsByName (line 27) | func testAccNetboxTagsByName() string {
function testAccNetboxTagsBySlug (line 37) | func testAccNetboxTagsBySlug() string {
function TestAccNetboxTagsDataSource_basic (line 53) | func TestAccNetboxTagsDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_tenant.go
function dataSourceNetboxTenant (line 11) | func dataSourceNetboxTenant() *schema.Resource {
function dataSourceNetboxTenantRead (line 40) | func dataSourceNetboxTenantRead(d *schema.ResourceData, m interface{}) e...
FILE: netbox/data_source_netbox_tenant_group.go
function dataSourceNetboxTenantGroup (line 11) | func dataSourceNetboxTenantGroup() *schema.Resource {
function dataSourceNetboxTenantGroupRead (line 36) | func dataSourceNetboxTenantGroupRead(d *schema.ResourceData, m interface...
FILE: netbox/data_source_netbox_tenant_group_test.go
function TestAccNetboxTenantDataGroupSource_basic (line 10) | func TestAccNetboxTenantDataGroupSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_tenant_test.go
function TestAccNetboxTenantDataSource_basic (line 10) | func TestAccNetboxTenantDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_tenants.go
function dataSourceNetboxTenants (line 14) | func dataSourceNetboxTenants() *schema.Resource {
function dataSourceNetboxTenantsRead (line 150) | func dataSourceNetboxTenantsRead(d *schema.ResourceData, m interface{}) ...
function flattenTenantGroup (line 247) | func flattenTenantGroup(group *models.NestedTenantGroup) []map[string]in...
FILE: netbox/data_source_netbox_tenants_test.go
function TestAccNetboxTenantsDataSource_basic (line 10) | func TestAccNetboxTenantsDataSource_basic(t *testing.T) {
function TestAccNetboxTenantsDataSource_filter (line 39) | func TestAccNetboxTenantsDataSource_filter(t *testing.T) {
function TestAccNetboxTenantsDataSource_tenantgroups (line 70) | func TestAccNetboxTenantsDataSource_tenantgroups(t *testing.T) {
FILE: netbox/data_source_netbox_virtual_disk.go
function dataSourceNetboxVirtualDisk (line 14) | func dataSourceNetboxVirtualDisk() *schema.Resource {
function dataSourceNetboxVirtualDiskRead (line 87) | func dataSourceNetboxVirtualDiskRead(d *schema.ResourceData, m interface...
FILE: netbox/data_source_netbox_virtual_disk_test.go
function TestAccNetboxVirtualDiskDataSource_basic (line 10) | func TestAccNetboxVirtualDiskDataSource_basic(t *testing.T) {
function TestAccNetboxVirtualDiskDataSource_filter_and_list (line 61) | func TestAccNetboxVirtualDiskDataSource_filter_and_list(t *testing.T) {
FILE: netbox/data_source_netbox_virtual_machines.go
function dataSourceNetboxVirtualMachine (line 16) | func dataSourceNetboxVirtualMachine() *schema.Resource {
function dataSourceNetboxVirtualMachineRead (line 159) | func dataSourceNetboxVirtualMachineRead(d *schema.ResourceData, m interf...
FILE: netbox/data_source_netbox_virtual_machines_test.go
function TestAccNetboxVirtualMachinesDataSource_basic (line 10) | func TestAccNetboxVirtualMachinesDataSource_basic(t *testing.T) {
function TestAccNetboxVirtualMachinesDataSource_tags (line 76) | func TestAccNetboxVirtualMachinesDataSource_tags(t *testing.T) {
function TestAccNetboxVirtualMachinesDataSource_status (line 98) | func TestAccNetboxVirtualMachinesDataSource_status(t *testing.T) {
function testAccNetboxVirtualMachineDataSourceDependencies (line 121) | func testAccNetboxVirtualMachineDataSourceDependencies(testName string) ...
function testAccNetboxVirtualMachineDataSourceDependenciesWithTags (line 157) | func testAccNetboxVirtualMachineDataSourceDependenciesWithTags(testName ...
constant testAccNetboxVirtualMachineDataSourceFilterCluster (line 204) | testAccNetboxVirtualMachineDataSourceFilterCluster = `
constant testAccNetboxVirtualMachineDataSourceFilterTenantID (line 212) | testAccNetboxVirtualMachineDataSourceFilterTenantID = `
function testAccNetboxVirtualMachineDataSourceFilterName (line 220) | func testAccNetboxVirtualMachineDataSourceFilterName(testName string) st...
constant testAccNetboxVirtualMachineDataSourceNameRegex (line 230) | testAccNetboxVirtualMachineDataSourceNameRegex = `
constant testAccNetboxVirtualMachineDataSourceLimit (line 235) | testAccNetboxVirtualMachineDataSourceLimit = `
function testAccNetboxVirtualMachineDataSourceTagA (line 244) | func testAccNetboxVirtualMachineDataSourceTagA(testName string) string {
function testAccNetboxVirtualMachineDataSourceTagB (line 254) | func testAccNetboxVirtualMachineDataSourceTagB(testName string) string {
function testAccNetboxVirtualMachineDataSourceTagAB (line 264) | func testAccNetboxVirtualMachineDataSourceTagAB(testName string) string {
constant testAccNetboxVirtualMachineDataSourceStatusActive (line 278) | testAccNetboxVirtualMachineDataSourceStatusActive = `
constant testAccNetboxVirtualMachineDataSourceStatusDecommissioning (line 286) | testAccNetboxVirtualMachineDataSourceStatusDecommissioning = `
function testAccNetboxVirtualMachineDataSourceDependenciesWithStatus (line 294) | func testAccNetboxVirtualMachineDataSourceDependenciesWithStatus(testNam...
FILE: netbox/data_source_netbox_vlan.go
function dataSourceNetboxVlan (line 12) | func dataSourceNetboxVlan() *schema.Resource {
function dataSourceNetboxVlanRead (line 57) | func dataSourceNetboxVlanRead(d *schema.ResourceData, m interface{}) err...
FILE: netbox/data_source_netbox_vlan_group.go
function dataSourceNetboxVlanGroup (line 12) | func dataSourceNetboxVlanGroup() *schema.Resource {
function dataSourceNetboxVlanGroupRead (line 59) | func dataSourceNetboxVlanGroupRead(d *schema.ResourceData, m interface{}...
FILE: netbox/data_source_netbox_vlan_group_test.go
function TestAccNetboxVlanGroupDataSource_basic (line 11) | func TestAccNetboxVlanGroupDataSource_basic(t *testing.T) {
function testAccNetboxVlanGroupSetUp (line 79) | func testAccNetboxVlanGroupSetUp(testSlug, testName string) string {
function testAccNetboxVlanGroupSetUpMore (line 97) | func testAccNetboxVlanGroupSetUpMore(testSlug, anotherSlug, testName str...
constant testAccNetboxVlanGroupDataNoResult (line 113) | testAccNetboxVlanGroupDataNoResult = `
function testAccNetboxVlanGroupDataByID (line 118) | func testAccNetboxVlanGroupDataByID(resourceRef, field string) string {
function testAccNetboxVlanGroupDataByName (line 125) | func testAccNetboxVlanGroupDataByName(testName string) string {
function testAccNetboxVlanGroupDataBySlug (line 132) | func testAccNetboxVlanGroupDataBySlug(testSlug string) string {
function testAccNetboxVlanGroupDataByNameAndScope (line 139) | func testAccNetboxVlanGroupDataByNameAndScope(testName string) string {
function testAccNetboxVlanGroupDataBySlugAndScope (line 148) | func testAccNetboxVlanGroupDataBySlugAndScope(testSlug string) string {
FILE: netbox/data_source_netbox_vlan_groups.go
function dataSourceNetboxVlanGroups (line 15) | func dataSourceNetboxVlanGroups() *schema.Resource {
function dataSourceNetboxVlanGroupsRead (line 97) | func dataSourceNetboxVlanGroupsRead(d *schema.ResourceData, m interface{...
FILE: netbox/data_source_netbox_vlan_groups_test.go
function testAccNetboxVlanGroupsSetUp (line 9) | func testAccNetboxVlanGroupsSetUp() string {
function testAccNetboxVlanGroupsByName (line 30) | func testAccNetboxVlanGroupsByName() string {
function testAccNetboxVlanGroupsBySlug (line 40) | func testAccNetboxVlanGroupsBySlug() string {
function testAccNetboxVlanGroupsWithNameIsw (line 50) | func testAccNetboxVlanGroupsWithNameIsw() string {
function testAccNetboxVlanGroupsByID (line 60) | func testAccNetboxVlanGroupsByID() string {
function testAccNetboxVlanGroupsWithLimit (line 70) | func testAccNetboxVlanGroupsWithLimit() string {
function TestAccNetboxVlanGroupsDataSource_basic (line 81) | func TestAccNetboxVlanGroupsDataSource_basic(t *testing.T) {
function TestAccNetboxVlanGroupsDataSource_search (line 112) | func TestAccNetboxVlanGroupsDataSource_search(t *testing.T) {
function TestAccNetboxVlanGroupsDataSource_byID (line 136) | func TestAccNetboxVlanGroupsDataSource_byID(t *testing.T) {
function TestAccNetboxVlanGroupsDataSource_limit (line 155) | func TestAccNetboxVlanGroupsDataSource_limit(t *testing.T) {
FILE: netbox/data_source_netbox_vlan_test.go
function TestAccNetboxVlanDataSource_basic (line 11) | func TestAccNetboxVlanDataSource_basic(t *testing.T) {
function testAccNetboxVlanSetUp (line 69) | func testAccNetboxVlanSetUp(testVid int, testName string) string {
function testAccNetboxVlanSetUpMore (line 96) | func testAccNetboxVlanSetUpMore(testVid int, anotherVid int, testName st...
constant testAccNetboxVlanDataNoResult (line 110) | testAccNetboxVlanDataNoResult = `
function testAccNetboxVlanDataByName (line 115) | func testAccNetboxVlanDataByName(testName string) string {
function testAccNetboxVlanDataByVid (line 122) | func testAccNetboxVlanDataByVid(testVid int) string {
function testAccNetboxVlanDataByNameAndRole (line 129) | func testAccNetboxVlanDataByNameAndRole(testName string) string {
function testAccNetboxVlanDataByVidAndTenant (line 137) | func testAccNetboxVlanDataByVidAndTenant(testVid int) string {
FILE: netbox/data_source_netbox_vlans.go
function dataSourceNetboxVlans (line 14) | func dataSourceNetboxVlans() *schema.Resource {
function dataSourceNetboxVlansRead (line 96) | func dataSourceNetboxVlansRead(d *schema.ResourceData, m interface{}) er...
FILE: netbox/data_source_netbox_vlans_test.go
function testAccNetboxVlansSetUp (line 9) | func testAccNetboxVlansSetUp() string {
function testAccNetboxVlansByVid (line 27) | func testAccNetboxVlansByVid() string {
function testAccNetboxVlansByVidN (line 37) | func testAccNetboxVlansByVidN() string {
function testAccNetboxVlansByVidRange (line 47) | func testAccNetboxVlansByVidRange() string {
function TestAccNetboxVlansDataSource_basic (line 62) | func TestAccNetboxVlansDataSource_basic(t *testing.T) {
FILE: netbox/data_source_netbox_vrf.go
function dataSourceNetboxVrf (line 11) | func dataSourceNetboxVrf() *schema.Resource {
function dataSourceNetboxVrfRead (line 28) | func dataSourceNetboxVrfRead(d *schema.ResourceData, m interface{}) error {
FILE: netbox/data_source_netbox_vrf_test.go
function TestAccNetboxVrfDataSource_basic (line 11) | func TestAccNetboxVrfDataSource_basic(t *testing.T) {
function testAccNetboxVrfSetUp (line 44) | func testAccNetboxVrfSetUp(testName string) string {
function testAccNetboxVrfData (line 51) | func testAccNetboxVrfData(testName string) string {
function testAccNetboxVrfAdvancedSetUp (line 59) | func testAccNetboxVrfAdvancedSetUp(testName string) string {
function testAccNetboxVrfDataWithoutTenantID (line 81) | func testAccNetboxVrfDataWithoutTenantID(testName string) string {
function testAccNetboxVrfDataWithTenantID (line 89) | func testAccNetboxVrfDataWithTenantID(testName string) string {
FILE: netbox/data_source_netbox_vrfs.go
function dataSourceNetboxVrfs (line 14) | func dataSourceNetboxVrfs() *schema.Resource {
function dataSourceNetboxVrfsRead (line 73) | func dataSourceNetboxVrfsRead(d *schema.ResourceData, m interface{}) err...
FILE: netbox/data_source_netbox_vrfs_test.go
function testAccNetboxVrfsSetUp (line 9) | func testAccNetboxVrfsSetUp() string {
function testAccNetboxVrfsByName (line 29) | func testAccNetboxVrfsByName() string {
function testAccNetboxVrfsByTag (line 39) | func testAccNetboxVrfsByTag() string {
function TestAccNetboxVrfsDataSource_basic (line 49) | func TestAccNetboxVrfsDataSource_basic(t *testing.T) {
FILE: netbox/generic_objects.go
function getGenericObjectsFromSchemaSet (line 35) | func getGenericObjectsFromSchemaSet(schemaSet *schema.Set) []*models.Gen...
function getSchemaSetFromGenericObjects (line 46) | func getSchemaSetFromGenericObjects(objects []*models.GenericObject) []m...
FILE: netbox/netbox_sweeper_test.go
function TestMain (line 16) | func TestMain(m *testing.M) {
function sharedClientForRegion (line 21) | func sharedClientForRegion(region string) (interface{}, error) {
FILE: netbox/pagination.go
constant DefaultPageSize (line 7) | DefaultPageSize = 100
constant FetchAll (line 9) | FetchAll int64 = 0
type PaginatedListHelper (line 13) | type PaginatedListHelper struct
method CurrentOffset (line 28) | func (h *PaginatedListHelper) CurrentOffset() int64 {
method Advance (line 35) | func (h *PaginatedListHelper) Advance(returned int64) {
method ShouldContinuePaging (line 40) | func (h *PaginatedListHelper) ShouldContinuePaging(currentCount int64,...
method TrimToLimit (line 48) | func (h *PaginatedListHelper) TrimToLimit(count int) int {
method GetPageSize (line 56) | func (h *PaginatedListHelper) GetPageSize() int64 {
function NewPaginationHelper (line 20) | func NewPaginationHelper(userLimit int64) *PaginatedListHelper {
FILE: netbox/pagination_test.go
function TestPaginationHelper_ShouldContinuePaging (line 10) | func TestPaginationHelper_ShouldContinuePaging(t *testing.T) {
function TestPaginationHelper_TrimToLimit (line 80) | func TestPaginationHelper_TrimToLimit(t *testing.T) {
function TestPaginationHelper_GetPageSize (line 130) | func TestPaginationHelper_GetPageSize(t *testing.T) {
function TestPaginationHelper_ServerCapOffset (line 156) | func TestPaginationHelper_ServerCapOffset(t *testing.T) {
function uriPtr (line 232) | func uriPtr(s string) *strfmt.URI {
FILE: netbox/provider.go
type providerState (line 18) | type providerState struct
function init (line 28) | func init() {
function Provider (line 84) | func Provider() *schema.Provider {
function providerConfigure (line 296) | func providerConfigure(ctx context.Context, data *schema.ResourceData) (...
function tagsCustomDiff (line 396) | func tagsCustomDiff(ctx context.Context, diff *schema.ResourceDiff, m in...
FILE: netbox/provider_test.go
function init (line 21) | func init() {
function testAccGetTestName (line 28) | func testAccGetTestName(testSlug string) string {
function testAccGetTestToken (line 33) | func testAccGetTestToken() string {
function testAccPreCheck (line 38) | func testAccPreCheck(t *testing.T) {
function testProviderConfig (line 47) | func testProviderConfig(platform string) string {
function providerInvalidConfigure (line 54) | func providerInvalidConfigure() schema.ConfigureContextFunc {
function TestAccNetboxProviderConfigure_failure (line 71) | func TestAccNetboxProviderConfigure_failure(t *testing.T) {
function TestAccNetboxProviderDefaultTags (line 91) | func TestAccNetboxProviderDefaultTags(t *testing.T) {
FILE: netbox/resource_netbox_aggregate.go
function resourceNetboxAggregate (line 12) | func resourceNetboxAggregate() *schema.Resource {
function resourceNetboxAggregateCreate (line 48) | func resourceNetboxAggregateCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxAggregateRead (line 82) | func resourceNetboxAggregateRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxAggregateUpdate (line 122) | func resourceNetboxAggregateUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxAggregateDelete (line 154) | func resourceNetboxAggregateDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_aggregate_test.go
function TestAccNetboxAggregate_basic (line 13) | func TestAccNetboxAggregate_basic(t *testing.T) {
function init (line 48) | func init() {
FILE: netbox/resource_netbox_asn.go
function resourceNetboxAsn (line 11) | func resourceNetboxAsn() *schema.Resource {
function resourceNetboxAsnCreate (line 52) | func resourceNetboxAsnCreate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxAsnRead (line 83) | func resourceNetboxAsnRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxAsnUpdate (line 112) | func resourceNetboxAsnUpdate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxAsnDelete (line 142) | func resourceNetboxAsnDelete(d *schema.ResourceData, m interface{}) error {
FILE: netbox/resource_netbox_asn_test.go
function TestAccNetboxAsn_basic (line 12) | func TestAccNetboxAsn_basic(t *testing.T) {
function init (line 89) | func init() {
FILE: netbox/resource_netbox_available_ip_address.go
function resourceNetboxAvailableIPAddress (line 14) | func resourceNetboxAvailableIPAddress() *schema.Resource {
function resourceNetboxAvailableIPAddressCreate (line 116) | func resourceNetboxAvailableIPAddressCreate(d *schema.ResourceData, m in...
function resourceNetboxAvailableIPAddressRead (line 156) | func resourceNetboxAvailableIPAddressRead(d *schema.ResourceData, m inte...
function resourceNetboxAvailableIPAddressUpdate (line 222) | func resourceNetboxAvailableIPAddressUpdate(d *schema.ResourceData, m in...
function resourceNetboxAvailableIPAddressDelete (line 282) | func resourceNetboxAvailableIPAddressDelete(d *schema.ResourceData, m in...
FILE: netbox/resource_netbox_available_ip_address_test.go
function TestAccNetboxAvailableIPAddress_basic (line 14) | func TestAccNetboxAvailableIPAddress_basic(t *testing.T) {
function TestAccNetboxAvailableIPAddress_basic_range (line 43) | func TestAccNetboxAvailableIPAddress_basic_range(t *testing.T) {
function TestAccNetboxAvailableIPAddress_multipleIpsParallel (line 71) | func TestAccNetboxAvailableIPAddress_multipleIpsParallel(t *testing.T) {
function TestAccNetboxAvailableIPAddress_multipleIpsParallel_range (line 108) | func TestAccNetboxAvailableIPAddress_multipleIpsParallel_range(t *testin...
function TestAccNetboxAvailableIPAddress_multipleIpsSerial (line 147) | func TestAccNetboxAvailableIPAddress_multipleIpsSerial(t *testing.T) {
function TestAccNetboxAvailableIPAddress_multipleIpsSerial_range (line 187) | func TestAccNetboxAvailableIPAddress_multipleIpsSerial_range(t *testing....
function TestAccNetboxAvailableIPAddress_deviceByObjectType (line 227) | func TestAccNetboxAvailableIPAddress_deviceByObjectType(t *testing.T) {
function TestAccNetboxAvailableIPAddress_deviceByFieldName (line 258) | func TestAccNetboxAvailableIPAddress_deviceByFieldName(t *testing.T) {
function TestAccNetboxAvailableIPAddress_cf (line 287) | func TestAccNetboxAvailableIPAddress_cf(t *testing.T) {
function init (line 334) | func init() {
FILE: netbox/resource_netbox_available_prefix.go
function resourceNetboxAvailablePrefix (line 15) | func resourceNetboxAvailablePrefix() *schema.Resource {
function resourceNetboxAvailablePrefixParseImport (line 114) | func resourceNetboxAvailablePrefixParseImport(importStr string) (int, st...
function resourceNetboxAvailablePrefixCreate (line 133) | func resourceNetboxAvailablePrefixCreate(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_available_prefix_test.go
function testAccNetboxAvailablePrefixFullDependencies (line 15) | func testAccNetboxAvailablePrefixFullDependencies(testName string, paren...
function TestAccNetboxAvailablePrefix_basic (line 33) | func TestAccNetboxAvailablePrefix_basic(t *testing.T) {
function TestAccNetboxAvailablePrefix_cf (line 105) | func TestAccNetboxAvailablePrefix_cf(t *testing.T) {
function TestAccNetboxAvailablePrefix_multiplePrefixesSerial (line 163) | func TestAccNetboxAvailablePrefix_multiplePrefixesSerial(t *testing.T) {
function testAccNetboxAvailablePrefixScopeDependencies (line 229) | func testAccNetboxAvailablePrefixScopeDependencies(testName string) stri...
function TestAccNetboxAvailablePrefix_scopes (line 250) | func TestAccNetboxAvailablePrefix_scopes(t *testing.T) {
function init (line 311) | func init() {
FILE: netbox/resource_netbox_available_vlan.go
function resourceNetboxAvailableVLAN (line 11) | func resourceNetboxAvailableVLAN() *schema.Resource {
function resourceNetboxAvailableVLANCreate (line 72) | func resourceNetboxAvailableVLANCreate(d *schema.ResourceData, m interfa...
function resourceNetboxAvailableVLANRead (line 104) | func resourceNetboxAvailableVLANRead(d *schema.ResourceData, m interface...
function resourceNetboxAvailableVLANUpdate (line 166) | func resourceNetboxAvailableVLANUpdate(d *schema.ResourceData, m interfa...
function resourceNetboxAvailableVLANDelete (line 198) | func resourceNetboxAvailableVLANDelete(d *schema.ResourceData, m interfa...
FILE: netbox/resource_netbox_available_vlan_test.go
function TestAccNetboxAvailableVLAN_basic (line 16) | func TestAccNetboxAvailableVLAN_basic(t *testing.T) {
function TestAccNetboxAvailableVLAN_basic_range (line 58) | func TestAccNetboxAvailableVLAN_basic_range(t *testing.T) {
function TestAccNetboxAvailableVLAN_multipleSerial (line 116) | func TestAccNetboxAvailableVLAN_multipleSerial(t *testing.T) {
function TestAccNetboxAvailableVLAN_multipleSerial_range (line 162) | func TestAccNetboxAvailableVLAN_multipleSerial_range(t *testing.T) {
function TestAccNetboxAvailableVLAN_multipleParallel (line 237) | func TestAccNetboxAvailableVLAN_multipleParallel(t *testing.T) {
function TestAccNetboxAvailableVLAN_vidExhaustion (line 282) | func TestAccNetboxAvailableVLAN_vidExhaustion(t *testing.T) {
function TestAccNetboxAvailableVLAN_withTenant (line 317) | func TestAccNetboxAvailableVLAN_withTenant(t *testing.T) {
FILE: netbox/resource_netbox_cable.go
function resourceNetboxCable (line 12) | func resourceNetboxCable() *schema.Resource {
function resourceNetboxCableCreate (line 91) | func resourceNetboxCableCreate(d *schema.ResourceData, m interface{}) er...
function resourceNetboxCableRead (line 135) | func resourceNetboxCableRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxCableUpdate (line 194) | func resourceNetboxCableUpdate(d *schema.ResourceData, m interface{}) er...
function resourceNetboxCableDelete (line 238) | func resourceNetboxCableDelete(d *schema.ResourceData, m interface{}) er...
FILE: netbox/resource_netbox_cable_test.go
function testAccNetboxCableFullDependencies (line 15) | func testAccNetboxCableFullDependencies(testName string) string {
function TestAccNetboxCable_basic (line 91) | func TestAccNetboxCable_basic(t *testing.T) {
function testAccCheckCableDestroy (line 204) | func testAccCheckCableDestroy(s *terraform.State) error {
function init (line 237) | func init() {
FILE: netbox/resource_netbox_circuit.go
function resourceNetboxCircuit (line 14) | func resourceNetboxCircuit() *schema.Resource {
function resourceNetboxCircuitCreate (line 61) | func resourceNetboxCircuitCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxCircuitRead (line 101) | func resourceNetboxCircuitRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxCircuitUpdate (line 145) | func resourceNetboxCircuitUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxCircuitDelete (line 184) | func resourceNetboxCircuitDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_circuit_provider.go
function resourceNetboxCircuitProvider (line 12) | func resourceNetboxCircuitProvider() *schema.Resource {
function resourceNetboxCircuitProviderCreate (line 47) | func resourceNetboxCircuitProviderCreate(d *schema.ResourceData, m inter...
function resourceNetboxCircuitProviderRead (line 79) | func resourceNetboxCircuitProviderRead(d *schema.ResourceData, m interfa...
function resourceNetboxCircuitProviderUpdate (line 105) | func resourceNetboxCircuitProviderUpdate(d *schema.ResourceData, m inter...
function resourceNetboxCircuitProviderDelete (line 136) | func resourceNetboxCircuitProviderDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_circuit_provider_test.go
function TestAccNetboxCircuitProvider_basic (line 13) | func TestAccNetboxCircuitProvider_basic(t *testing.T) {
function init (line 56) | func init() {
FILE: netbox/resource_netbox_circuit_termination.go
function resourceNetboxCircuitTermination (line 14) | func resourceNetboxCircuitTermination() *schema.Resource {
function resourceNetboxCircuitTerminationCreate (line 84) | func resourceNetboxCircuitTerminationCreate(d *schema.ResourceData, m in...
function resourceNetboxCircuitTerminationRead (line 158) | func resourceNetboxCircuitTerminationRead(d *schema.ResourceData, m inte...
function resourceNetboxCircuitTerminationUpdate (line 232) | func resourceNetboxCircuitTerminationUpdate(d *schema.ResourceData, m in...
function resourceNetboxCircuitTerminationDelete (line 305) | func resourceNetboxCircuitTerminationDelete(d *schema.ResourceData, m in...
FILE: netbox/resource_netbox_circuit_termination_test.go
function TestAccNetboxCircuitTermination_basic (line 13) | func TestAccNetboxCircuitTermination_basic(t *testing.T) {
function init (line 67) | func init() {
FILE: netbox/resource_netbox_circuit_test.go
function testAccNetboxCircuitDependencies (line 13) | func testAccNetboxCircuitDependencies(testName string, testSlug string) ...
function TestAccNetboxCircuit_basic (line 29) | func TestAccNetboxCircuit_basic(t *testing.T) {
function init (line 80) | func init() {
FILE: netbox/resource_netbox_circuit_type.go
function resourceNetboxCircuitType (line 12) | func resourceNetboxCircuitType() *schema.Resource {
function resourceNetboxCircuitTypeCreate (line 45) | func resourceNetboxCircuitTypeCreate(d *schema.ResourceData, m interface...
function resourceNetboxCircuitTypeRead (line 76) | func resourceNetboxCircuitTypeRead(d *schema.ResourceData, m interface{}...
function resourceNetboxCircuitTypeUpdate (line 102) | func resourceNetboxCircuitTypeUpdate(d *schema.ResourceData, m interface...
function resourceNetboxCircuitTypeDelete (line 132) | func resourceNetboxCircuitTypeDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_circuit_type_test.go
function TestAccNetboxCircuitType_basic (line 13) | func TestAccNetboxCircuitType_basic(t *testing.T) {
function init (line 43) | func init() {
FILE: netbox/resource_netbox_cluster.go
function resourceNetboxCluster (line 11) | func resourceNetboxCluster() *schema.Resource {
function resourceNetboxClusterCreate (line 74) | func resourceNetboxClusterCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxClusterRead (line 137) | func resourceNetboxClusterRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxClusterUpdate (line 198) | func resourceNetboxClusterUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxClusterDelete (line 259) | func resourceNetboxClusterDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_cluster_group.go
function resourceNetboxClusterGroup (line 12) | func resourceNetboxClusterGroup() *schema.Resource {
function resourceNetboxClusterGroupCreate (line 45) | func resourceNetboxClusterGroupCreate(d *schema.ResourceData, m interfac...
function resourceNetboxClusterGroupRead (line 81) | func resourceNetboxClusterGroupRead(d *schema.ResourceData, m interface{...
function resourceNetboxClusterGroupUpdate (line 105) | func resourceNetboxClusterGroupUpdate(d *schema.ResourceData, m interfac...
function resourceNetboxClusterGroupDelete (line 145) | func resourceNetboxClusterGroupDelete(d *schema.ResourceData, m interfac...
FILE: netbox/resource_netbox_cluster_group_test.go
function TestAccNetboxClusterGroup_basic (line 13) | func TestAccNetboxClusterGroup_basic(t *testing.T) {
function TestAccNetboxClusterGroup_defaultSlug (line 42) | func TestAccNetboxClusterGroup_defaultSlug(t *testing.T) {
function init (line 65) | func init() {
FILE: netbox/resource_netbox_cluster_test.go
function TestAccNetboxCluster_basic (line 13) | func TestAccNetboxCluster_basic(t *testing.T) {
function init (line 112) | func init() {
FILE: netbox/resource_netbox_cluster_type.go
function resourceNetboxClusterType (line 12) | func resourceNetboxClusterType() *schema.Resource {
function resourceNetboxClusterTypeCreate (line 41) | func resourceNetboxClusterTypeCreate(d *schema.ResourceData, m interface...
function resourceNetboxClusterTypeRead (line 74) | func resourceNetboxClusterTypeRead(d *schema.ResourceData, m interface{}...
function resourceNetboxClusterTypeUpdate (line 97) | func resourceNetboxClusterTypeUpdate(d *schema.ResourceData, m interface...
function resourceNetboxClusterTypeDelete (line 128) | func resourceNetboxClusterTypeDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_cluster_type_test.go
function TestAccNetboxClusterType_basic (line 13) | func TestAccNetboxClusterType_basic(t *testing.T) {
function TestAccNetboxClusterType_defaultSlug (line 41) | func TestAccNetboxClusterType_defaultSlug(t *testing.T) {
function init (line 61) | func init() {
FILE: netbox/resource_netbox_config_context.go
function resourceNetboxConfigContext (line 13) | func resourceNetboxConfigContext() *schema.Resource {
function resourceNetboxConfigContextCreate (line 154) | func resourceNetboxConfigContextCreate(d *schema.ResourceData, m interfa...
function resourceNetboxConfigContextRead (line 196) | func resourceNetboxConfigContextRead(d *schema.ResourceData, m interface...
function resourceNetboxConfigContextUpdate (line 322) | func resourceNetboxConfigContextUpdate(d *schema.ResourceData, m interfa...
function resourceNetboxConfigContextDelete (line 366) | func resourceNetboxConfigContextDelete(d *schema.ResourceData, m interfa...
FILE: netbox/resource_netbox_config_context_test.go
function TestAccNetboxConfigContext_basic (line 13) | func TestAccNetboxConfigContext_basic(t *testing.T) {
function TestAccNetboxConfigContext_defaultWeight (line 41) | func TestAccNetboxConfigContext_defaultWeight(t *testing.T) {
function TestAccNetboxConfigContext_assignments (line 63) | func TestAccNetboxConfigContext_assignments(t *testing.T) {
function init (line 176) | func init() {
FILE: netbox/resource_netbox_config_template.go
function resourceNetboxConfigTemplate (line 15) | func resourceNetboxConfigTemplate() *schema.Resource {
function resourceNetboxConfigTemplateCreate (line 55) | func resourceNetboxConfigTemplateCreate(ctx context.Context, d *schema.R...
function resourceNetboxConfigTemplateRead (line 98) | func resourceNetboxConfigTemplateRead(ctx context.Context, d *schema.Res...
function resourceNetboxConfigTemplateUpdate (line 139) | func resourceNetboxConfigTemplateUpdate(ctx context.Context, d *schema.R...
function resourceNetboxConfigTemplateDelete (line 181) | func resourceNetboxConfigTemplateDelete(ctx context.Context, d *schema.R...
FILE: netbox/resource_netbox_config_template_test.go
function TestAccNetboxConfigTemplate_basic (line 13) | func TestAccNetboxConfigTemplate_basic(t *testing.T) {
function TestAccNetboxConfigTemplate_tags (line 58) | func TestAccNetboxConfigTemplate_tags(t *testing.T) {
function init (line 104) | func init() {
FILE: netbox/resource_netbox_contact.go
function resourceNetboxContact (line 12) | func resourceNetboxContact() *schema.Resource {
function resourceNetboxContactCreate (line 58) | func resourceNetboxContactCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxContactRead (line 94) | func resourceNetboxContactRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxContactUpdate (line 124) | func resourceNetboxContactUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxContactDelete (line 159) | func resourceNetboxContactDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_contact_assignment.go
function resourceNetboxContactAssignment (line 14) | func resourceNetboxContactAssignment() *schema.Resource {
function resourceNetboxContactAssignmentCreate (line 55) | func resourceNetboxContactAssignmentCreate(d *schema.ResourceData, m int...
function resourceNetboxContactAssignmentRead (line 84) | func resourceNetboxContactAssignmentRead(d *schema.ResourceData, m inter...
function resourceNetboxContactAssignmentUpdate (line 120) | func resourceNetboxContactAssignmentUpdate(d *schema.ResourceData, m int...
function resourceNetboxContactAssignmentDelete (line 154) | func resourceNetboxContactAssignmentDelete(d *schema.ResourceData, m int...
FILE: netbox/resource_netbox_contact_assignment_test.go
function TestAccNetboxContactAssignment_basic (line 12) | func TestAccNetboxContactAssignment_basic(t *testing.T) {
function init (line 73) | func init() {
FILE: netbox/resource_netbox_contact_group.go
function resourceNetboxContactGroup (line 12) | func resourceNetboxContactGroup() *schema.Resource {
function resourceNetboxContactGroupCreate (line 49) | func resourceNetboxContactGroupCreate(d *schema.ResourceData, m interfac...
function resourceNetboxContactGroupRead (line 87) | func resourceNetboxContactGroupRead(d *schema.ResourceData, m interface{...
function resourceNetboxContactGroupUpdate (line 115) | func resourceNetboxContactGroupUpdate(d *schema.ResourceData, m interfac...
function resourceNetboxContactGroupDelete (line 152) | func resourceNetboxContactGroupDelete(d *schema.ResourceData, m interfac...
FILE: netbox/resource_netbox_contact_group_test.go
function TestAccNetboxContactGroup_basic (line 13) | func TestAccNetboxContactGroup_basic(t *testing.T) {
function TestAccNetboxContactGroup_defaultSlug (line 38) | func TestAccNetboxContactGroup_defaultSlug(t *testing.T) {
function init (line 58) | func init() {
FILE: netbox/resource_netbox_contact_role.go
function resourceNetboxContactRole (line 12) | func resourceNetboxContactRole() *schema.Resource {
function resourceNetboxContactRoleCreate (line 41) | func resourceNetboxContactRoleCreate(d *schema.ResourceData, m interface...
function resourceNetboxContactRoleRead (line 71) | func resourceNetboxContactRoleRead(d *schema.ResourceData, m interface{}...
function resourceNetboxContactRoleUpdate (line 97) | func resourceNetboxContactRoleUpdate(d *schema.ResourceData, m interface...
function resourceNetboxContactRoleDelete (line 125) | func resourceNetboxContactRoleDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_contact_role_test.go
function TestAccNetboxContactRole_basic (line 13) | func TestAccNetboxContactRole_basic(t *testing.T) {
function init (line 41) | func init() {
FILE: netbox/resource_netbox_contact_test.go
function testAccNetboxContactTagDependencies (line 13) | func testAccNetboxContactTagDependencies(testName string) string {
function TestAccNetboxContact_basic (line 25) | func TestAccNetboxContact_basic(t *testing.T) {
function TestAccNetboxContact_tags (line 67) | func TestAccNetboxContact_tags(t *testing.T) {
function init (line 111) | func init() {
FILE: netbox/resource_netbox_custom_field.go
function resourceCustomField (line 12) | func resourceCustomField() *schema.Resource {
function resourceNetboxCustomFieldUpdate (line 102) | func resourceNetboxCustomFieldUpdate(d *schema.ResourceData, m interface...
function resourceNetboxCustomFieldCreate (line 154) | func resourceNetboxCustomFieldCreate(d *schema.ResourceData, m interface...
function resourceNetboxCustomFieldRead (line 206) | func resourceNetboxCustomFieldRead(d *schema.ResourceData, m interface{}...
function resourceNetboxCustomFieldDelete (line 252) | func resourceNetboxCustomFieldDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_custom_field_choice_set.go
function resourceNetboxCustomFieldChoiceSet (line 15) | func resourceNetboxCustomFieldChoiceSet() *schema.Resource {
function resourceNetboxCustomFieldChoiceSetCreate (line 86) | func resourceNetboxCustomFieldChoiceSetCreate(d *schema.ResourceData, m ...
function resourceNetboxCustomFieldChoiceSetRead (line 123) | func resourceNetboxCustomFieldChoiceSetRead(d *schema.ResourceData, m in...
function resourceNetboxCustomFieldChoiceSetUpdate (line 155) | func resourceNetboxCustomFieldChoiceSetUpdate(d *schema.ResourceData, m ...
function resourceNetboxCustomFieldChoiceSetDelete (line 192) | func resourceNetboxCustomFieldChoiceSetDelete(d *schema.ResourceData, m ...
FILE: netbox/resource_netbox_custom_field_choice_set_test.go
function TestAccNetboxCustomFieldChoiceSet_basic (line 12) | func TestAccNetboxCustomFieldChoiceSet_basic(t *testing.T) {
function TestAccNetboxCustomFieldChoiceSet_listlength (line 42) | func TestAccNetboxCustomFieldChoiceSet_listlength(t *testing.T) {
FILE: netbox/resource_netbox_custom_field_test.go
function TestAccNetboxCustomField_basic (line 11) | func TestAccNetboxCustomField_basic(t *testing.T) {
function TestAccNetboxCustomField_json (line 41) | func TestAccNetboxCustomField_json(t *testing.T) {
function TestAccNetboxCustomField_integer (line 69) | func TestAccNetboxCustomField_integer(t *testing.T) {
function TestAccNetboxCustomField_select (line 101) | func TestAccNetboxCustomField_select(t *testing.T) {
FILE: netbox/resource_netbox_device.go
function resourceNetboxDevice (line 18) | func resourceNetboxDevice() *schema.Resource {
function resourceNetboxDeviceCreate (line 144) | func resourceNetboxDeviceCreate(ctx context.Context, d *schema.ResourceD...
function resourceNetboxDeviceRead (line 272) | func resourceNetboxDeviceRead(ctx context.Context, d *schema.ResourceDat...
function resourceNetboxDeviceUpdate (line 410) | func resourceNetboxDeviceUpdate(ctx context.Context, d *schema.ResourceD...
function resourceNetboxDeviceDelete (line 565) | func resourceNetboxDeviceDelete(ctx context.Context, d *schema.ResourceD...
FILE: netbox/resource_netbox_device_bay.go
function resourceNetboxDeviceBay (line 11) | func resourceNetboxDeviceBay() *schema.Resource {
function resourceNetboxDeviceBayCreate (line 52) | func resourceNetboxDeviceBayCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxDeviceBayRead (line 86) | func resourceNetboxDeviceBayRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxDeviceBayUpdate (line 128) | func resourceNetboxDeviceBayUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxDeviceBayDelete (line 162) | func resourceNetboxDeviceBayDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_device_bay_template.go
function resourceNetboxDeviceBayTemplate (line 14) | func resourceNetboxDeviceBayTemplate() *schema.Resource {
function resourceNetboxDeviceBayTemplateCreate (line 49) | func resourceNetboxDeviceBayTemplateCreate(ctx context.Context, d *schem...
function resourceNetboxDeviceBayTemplateRead (line 79) | func resourceNetboxDeviceBayTemplateRead(ctx context.Context, d *schema....
function resourceNetboxDeviceBayTemplateUpdate (line 110) | func resourceNetboxDeviceBayTemplateUpdate(ctx context.Context, d *schem...
function resourceNetboxDeviceBayTemplateDelete (line 141) | func resourceNetboxDeviceBayTemplateDelete(ctx context.Context, d *schem...
FILE: netbox/resource_netbox_device_bay_template_test.go
function TestAccNetboxDeviceBayTemplate_basic (line 13) | func TestAccNetboxDeviceBayTemplate_basic(t *testing.T) {
function TestAccNetboxDeviceBayTemplate_opts (line 53) | func TestAccNetboxDeviceBayTemplate_opts(t *testing.T) {
function init (line 119) | func init() {
FILE: netbox/resource_netbox_device_bay_test.go
function testAccNetboxDeviceBayFullDependencies (line 15) | func testAccNetboxDeviceBayFullDependencies(testName string) string {
function TestAccNetboxDeviceBay_basic (line 70) | func TestAccNetboxDeviceBay_basic(t *testing.T) {
function testAccCheckDeviceBayDestroy (line 123) | func testAccCheckDeviceBayDestroy(s *terraform.State) error {
function init (line 156) | func init() {
FILE: netbox/resource_netbox_device_console_port.go
function resourceNetboxDeviceConsolePort (line 11) | func resourceNetboxDeviceConsolePort() *schema.Resource {
function resourceNetboxDeviceConsolePortCreate (line 67) | func resourceNetboxDeviceConsolePortCreate(d *schema.ResourceData, m int...
function resourceNetboxDeviceConsolePortRead (line 104) | func resourceNetboxDeviceConsolePortRead(d *schema.ResourceData, m inter...
function resourceNetboxDeviceConsolePortUpdate (line 162) | func resourceNetboxDeviceConsolePortUpdate(d *schema.ResourceData, m int...
function resourceNetboxDeviceConsolePortDelete (line 199) | func resourceNetboxDeviceConsolePortDelete(d *schema.ResourceData, m int...
FILE: netbox/resource_netbox_device_console_port_test.go
function testAccNetboxDeviceConsolePortFullDependencies (line 15) | func testAccNetboxDeviceConsolePortFullDependencies(testName string) str...
function TestAccNetboxDeviceConsolePort_basic (line 71) | func TestAccNetboxDeviceConsolePort_basic(t *testing.T) {
function testAccCheckDeviceConsolePortDestroy (line 135) | func testAccCheckDeviceConsolePortDestroy(s *terraform.State) error {
function init (line 168) | func init() {
FILE: netbox/resource_netbox_device_console_server_port.go
function resourceNetboxDeviceConsoleServerPort (line 11) | func resourceNetboxDeviceConsoleServerPort() *schema.Resource {
function resourceNetboxDeviceConsoleServerPortCreate (line 67) | func resourceNetboxDeviceConsoleServerPortCreate(d *schema.ResourceData,...
function resourceNetboxDeviceConsoleServerPortRead (line 104) | func resourceNetboxDeviceConsoleServerPortRead(d *schema.ResourceData, m...
function resourceNetboxDeviceConsoleServerPortUpdate (line 162) | func resourceNetboxDeviceConsoleServerPortUpdate(d *schema.ResourceData,...
function resourceNetboxDeviceConsoleServerPortDelete (line 199) | func resourceNetboxDeviceConsoleServerPortDelete(d *schema.ResourceData,...
FILE: netbox/resource_netbox_device_console_server_port_test.go
function testAccNetboxDeviceConsoleServerPortFullDependencies (line 15) | func testAccNetboxDeviceConsoleServerPortFullDependencies(testName strin...
function TestAccNetboxDeviceConsoleServerPort_basic (line 71) | func TestAccNetboxDeviceConsoleServerPort_basic(t *testing.T) {
function testAccCheckDeviceConsoleServerPortDestroy (line 135) | func testAccCheckDeviceConsoleServerPortDestroy(s *terraform.State) error {
function init (line 168) | func init() {
FILE: netbox/resource_netbox_device_front_port.go
function resourceNetboxDeviceFrontPort (line 11) | func resourceNetboxDeviceFrontPort() *schema.Resource {
function resourceNetboxDeviceFrontPortCreate (line 74) | func resourceNetboxDeviceFrontPortCreate(d *schema.ResourceData, m inter...
function resourceNetboxDeviceFrontPortRead (line 113) | func resourceNetboxDeviceFrontPortRead(d *schema.ResourceData, m interfa...
function resourceNetboxDeviceFrontPortUpdate (line 175) | func resourceNetboxDeviceFrontPortUpdate(d *schema.ResourceData, m inter...
function resourceNetboxDeviceFrontPortDelete (line 214) | func resourceNetboxDeviceFrontPortDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_device_front_port_test.go
function testAccNetboxDeviceFrontPortFullDependencies (line 15) | func testAccNetboxDeviceFrontPortFullDependencies(testName string) string {
function TestAccNetboxDeviceFrontPort_basic (line 79) | func TestAccNetboxDeviceFrontPort_basic(t *testing.T) {
function testAccCheckDeviceFrontPortDestroy (line 152) | func testAccCheckDeviceFrontPortDestroy(s *terraform.State) error {
function init (line 185) | func init() {
FILE: netbox/resource_netbox_device_interface.go
function resourceNetboxDeviceInterface (line 16) | func resourceNetboxDeviceInterface() *schema.Resource {
function resourceNetboxDeviceInterfaceCreate (line 125) | func resourceNetboxDeviceInterfaceCreate(ctx context.Context, d *schema....
function resourceNetboxDeviceInterfaceRead (line 186) | func resourceNetboxDeviceInterfaceRead(ctx context.Context, d *schema.Re...
function resourceNetboxDeviceInterfaceUpdate (line 252) | func resourceNetboxDeviceInterfaceUpdate(ctx context.Context, d *schema....
function resourceNetboxDeviceInterfaceDelete (line 318) | func resourceNetboxDeviceInterfaceDelete(ctx context.Context, d *schema....
function getIDsFromNestedVLANDevice (line 337) | func getIDsFromNestedVLANDevice(nestedvlans []*models.NestedVLAN) []int64 {
FILE: netbox/resource_netbox_device_interface_test.go
function testAccNetboxDeviceInterfaceFullDependencies (line 15) | func testAccNetboxDeviceInterfaceFullDependencies(testName string) string {
function testAccNetboxDeviceInterfaceBasic (line 61) | func testAccNetboxDeviceInterfaceBasic(testName string) string {
function testAccNetboxDeviceInterfaceOpts (line 71) | func testAccNetboxDeviceInterfaceOpts(testName string) string {
function testAccNetboxDeviceInterfaceParentAndLAG (line 85) | func testAccNetboxDeviceInterfaceParentAndLAG(testName string) string {
function testAccNetboxDeviceInterfaceVlans (line 118) | func testAccNetboxDeviceInterfaceVlans(testName string) string {
function TestAccNetboxDeviceInterface_basic (line 145) | func TestAccNetboxDeviceInterface_basic(t *testing.T) {
function TestAccNetboxDeviceInterface_parentAndLAG (line 173) | func TestAccNetboxDeviceInterface_parentAndLAG(t *testing.T) {
function TestAccNetboxDeviceInterface_opts (line 225) | func TestAccNetboxDeviceInterface_opts(t *testing.T) {
function TestAccNetboxDeviceInterface_vlans (line 256) | func TestAccNetboxDeviceInterface_vlans(t *testing.T) {
function testAccCheckDeviceInterfaceDestroy (line 295) | func testAccCheckDeviceInterfaceDestroy(s *terraform.State) error {
function init (line 328) | func init() {
FILE: netbox/resource_netbox_device_module_bay.go
function resourceNetboxDeviceModuleBay (line 12) | func resourceNetboxDeviceModuleBay() *schema.Resource {
function resourceNetboxDeviceModuleBayCreate (line 54) | func resourceNetboxDeviceModuleBayCreate(d *schema.ResourceData, m inter...
function resourceNetboxDeviceModuleBayRead (line 88) | func resourceNetboxDeviceModuleBayRead(d *schema.ResourceData, m interfa...
function resourceNetboxDeviceModuleBayUpdate (line 128) | func resourceNetboxDeviceModuleBayUpdate(d *schema.ResourceData, m inter...
function resourceNetboxDeviceModuleBayDelete (line 162) | func resourceNetboxDeviceModuleBayDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_device_module_bay_test.go
function testAccNetboxDeviceModuleBayFullDependencies (line 15) | func testAccNetboxDeviceModuleBayFullDependencies(testName string) string {
function TestAccNetboxDeviceModuleBay_basic (line 54) | func TestAccNetboxDeviceModuleBay_basic(t *testing.T) {
function testAccCheckDeviceModuleBayDestroy (line 108) | func testAccCheckDeviceModuleBayDestroy(s *terraform.State) error {
function init (line 141) | func init() {
FILE: netbox/resource_netbox_device_power_feed.go
function resourceNetboxPowerFeed (line 12) | func resourceNetboxPowerFeed() *schema.Resource {
function resourceNetboxPowerFeedCreate (line 95) | func resourceNetboxPowerFeedCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxPowerFeedRead (line 137) | func resourceNetboxPowerFeedRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxPowerFeedUpdate (line 212) | func resourceNetboxPowerFeedUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxPowerFeedDelete (line 254) | func resourceNetboxPowerFeedDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_device_power_feed_test.go
function testAccNetboxDevicePowerFeedFullDependencies (line 15) | func testAccNetboxDevicePowerFeedFullDependencies(testName string) string {
function TestAccNetboxDevicePowerFeed_basic (line 53) | func TestAccNetboxDevicePowerFeed_basic(t *testing.T) {
function testAccCheckDevicePowerFeedDestroy (line 139) | func testAccCheckDevicePowerFeedDestroy(s *terraform.State) error {
function init (line 172) | func init() {
FILE: netbox/resource_netbox_device_power_outlet.go
function resourceNetboxDevicePowerOutlet (line 12) | func resourceNetboxDevicePowerOutlet() *schema.Resource {
function resourceNetboxDevicePowerOutletCreate (line 75) | func resourceNetboxDevicePowerOutletCreate(d *schema.ResourceData, m int...
function resourceNetboxDevicePowerOutletRead (line 113) | func resourceNetboxDevicePowerOutletRead(d *schema.ResourceData, m inter...
function resourceNetboxDevicePowerOutletUpdate (line 179) | func resourceNetboxDevicePowerOutletUpdate(d *schema.ResourceData, m int...
function resourceNetboxDevicePowerOutletDelete (line 217) | func resourceNetboxDevicePowerOutletDelete(d *schema.ResourceData, m int...
FILE: netbox/resource_netbox_device_power_outlet_test.go
function testAccNetboxDevicePowerOutletFullDependencies (line 15) | func testAccNetboxDevicePowerOutletFullDependencies(testName string) str...
function TestAccNetboxDevicePowerOutlet_basic (line 76) | func TestAccNetboxDevicePowerOutlet_basic(t *testing.T) {
function testAccCheckDevicePowerOutletDestroy (line 143) | func testAccCheckDevicePowerOutletDestroy(s *terraform.State) error {
function init (line 176) | func init() {
FILE: netbox/resource_netbox_device_power_port.go
function resourceNetboxDevicePowerPort (line 11) | func resourceNetboxDevicePowerPort() *schema.Resource {
function resourceNetboxDevicePowerPortCreate (line 70) | func resourceNetboxDevicePowerPortCreate(d *schema.ResourceData, m inter...
function resourceNetboxDevicePowerPortRead (line 108) | func resourceNetboxDevicePowerPortRead(d *schema.ResourceData, m interfa...
function resourceNetboxDevicePowerPortUpdate (line 165) | func resourceNetboxDevicePowerPortUpdate(d *schema.ResourceData, m inter...
function resourceNetboxDevicePowerPortDelete (line 203) | func resourceNetboxDevicePowerPortDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_device_power_port_test.go
function testAccNetboxDevicePowerPortFullDependencies (line 15) | func testAccNetboxDevicePowerPortFullDependencies(testName string) string {
function TestAccNetboxDevicePowerPort_basic (line 71) | func TestAccNetboxDevicePowerPort_basic(t *testing.T) {
function testAccCheckDevicePowerPortDestroy (line 135) | func testAccCheckDevicePowerPortDestroy(s *terraform.State) error {
function init (line 168) | func init() {
FILE: netbox/resource_netbox_device_primary_ip.go
function resourceNetboxDevicePrimaryIP (line 12) | func resourceNetboxDevicePrimaryIP() *schema.Resource {
function resourceNetboxDevicePrimaryIPCreate (line 43) | func resourceNetboxDevicePrimaryIPCreate(d *schema.ResourceData, m inter...
function resourceNetboxDevicePrimaryIPRead (line 49) | func resourceNetboxDevicePrimaryIPRead(d *schema.ResourceData, m interfa...
function resourceNetboxDevicePrimaryIPUpdate (line 83) | func resourceNetboxDevicePrimaryIPUpdate(d *schema.ResourceData, m inter...
function resourceNetboxDevicePrimaryIPDelete (line 158) | func resourceNetboxDevicePrimaryIPDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_device_primary_ip_test.go
function testAccNetboxDevicePrimaryIPFullDependencies (line 10) | func testAccNetboxDevicePrimaryIPFullDependencies(testName string) string {
function TestAccNetboxDevicePrimaryIP4_basic (line 94) | func TestAccNetboxDevicePrimaryIP4_basic(t *testing.T) {
function TestAccNetboxDevicePrimaryIP6_basic (line 135) | func TestAccNetboxDevicePrimaryIP6_basic(t *testing.T) {
function TestAccNetboxDevicePrimaryIP4_removePrimary (line 176) | func TestAccNetboxDevicePrimaryIP4_removePrimary(t *testing.T) {
function TestAccNetboxDevicePrimaryIP4_simpleUpdateDevice (line 304) | func TestAccNetboxDevicePrimaryIP4_simpleUpdateDevice(t *testing.T) {
function TestAccNetboxDevicePrimaryIP4_refsUpdateDevice (line 524) | func TestAccNetboxDevicePrimaryIP4_refsUpdateDevice(t *testing.T) {
FILE: netbox/resource_netbox_device_rear_port.go
function resourceNetboxDeviceRearPort (line 11) | func resourceNetboxDeviceRearPort() *schema.Resource {
function resourceNetboxDeviceRearPortCreate (line 70) | func resourceNetboxDeviceRearPortCreate(d *schema.ResourceData, m interf...
function resourceNetboxDeviceRearPortRead (line 108) | func resourceNetboxDeviceRearPortRead(d *schema.ResourceData, m interfac...
function resourceNetboxDeviceRearPortUpdate (line 164) | func resourceNetboxDeviceRearPortUpdate(d *schema.ResourceData, m interf...
function resourceNetboxDeviceRearPortDelete (line 202) | func resourceNetboxDeviceRearPortDelete(d *schema.ResourceData, m interf...
FILE: netbox/resource_netbox_device_rear_port_test.go
function testAccNetboxDeviceRearPortFullDependencies (line 15) | func testAccNetboxDeviceRearPortFullDependencies(testName string) string {
function TestAccNetboxDeviceRearPort_basic (line 71) | func TestAccNetboxDeviceRearPort_basic(t *testing.T) {
function testAccCheckDeviceRearPortDestroy (line 140) | func testAccCheckDeviceRearPortDestroy(s *terraform.State) error {
function init (line 173) | func init() {
FILE: netbox/resource_netbox_device_role.go
function resourceNetboxDeviceRole (line 12) | func resourceNetboxDeviceRole() *schema.Resource {
function resourceNetboxDeviceRoleCreate (line 55) | func resourceNetboxDeviceRoleCreate(d *schema.ResourceData, m interface{...
function resourceNetboxDeviceRoleRead (line 97) | func resourceNetboxDeviceRoleRead(d *schema.ResourceData, m interface{})...
function resourceNetboxDeviceRoleUpdate (line 124) | func resourceNetboxDeviceRoleUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxDeviceRoleDelete (line 164) | func resourceNetboxDeviceRoleDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_device_role_test.go
function TestAccNetboxDeviceRole_basic (line 13) | func TestAccNetboxDeviceRole_basic(t *testing.T) {
function TestAccNetboxDeviceRole_defaultSlug (line 45) | func TestAccNetboxDeviceRole_defaultSlug(t *testing.T) {
function init (line 67) | func init() {
FILE: netbox/resource_netbox_device_test.go
function testAccNetboxDeviceFullDependencies (line 15) | func testAccNetboxDeviceFullDependencies(testName string) string {
function TestAccNetboxDevice_basic (line 92) | func TestAccNetboxDevice_basic(t *testing.T) {
function TestAccNetboxDevice_virtual_chassis (line 259) | func TestAccNetboxDevice_virtual_chassis(t *testing.T) {
function testAccCheckDeviceDestroy (line 359) | func testAccCheckDeviceDestroy(s *terraform.State) error {
function init (line 392) | func init() {
FILE: netbox/resource_netbox_device_type.go
function resourceNetboxDeviceType (line 12) | func resourceNetboxDeviceType() *schema.Resource {
function resourceNetboxDeviceTypeCreate (line 63) | func resourceNetboxDeviceTypeCreate(d *schema.ResourceData, m interface{...
function resourceNetboxDeviceTypeRead (line 118) | func resourceNetboxDeviceTypeRead(d *schema.ResourceData, m interface{})...
function resourceNetboxDeviceTypeUpdate (line 154) | func resourceNetboxDeviceTypeUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxDeviceTypeDelete (line 207) | func resourceNetboxDeviceTypeDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_device_type_test.go
function TestAccNetboxDeviceType_basic (line 13) | func TestAccNetboxDeviceType_basic(t *testing.T) {
function init (line 80) | func init() {
FILE: netbox/resource_netbox_event_rule.go
function resourceNetboxEventRule (line 20) | func resourceNetboxEventRule() *schema.Resource {
function resourceNetboxEventRuleCreate (line 87) | func resourceNetboxEventRuleCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxEventRuleRead (line 143) | func resourceNetboxEventRuleRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxEventRuleUpdate (line 183) | func resourceNetboxEventRuleUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxEventRuleDelete (line 238) | func resourceNetboxEventRuleDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_event_rule_test.go
function TestAccNetboxEventRule_basic (line 15) | func TestAccNetboxEventRule_basic(t *testing.T) {
function testAccCheckNetBoxEventRuleDestroy (line 77) | func testAccCheckNetBoxEventRuleDestroy(s *terraform.State) error {
function init (line 97) | func init() {
FILE: netbox/resource_netbox_group.go
function resourceNetboxGroup (line 11) | func resourceNetboxGroup() *schema.Resource {
function resourceNetboxGroupCreate (line 36) | func resourceNetboxGroupCreate(d *schema.ResourceData, m interface{}) er...
function resourceNetboxGroupRead (line 56) | func resourceNetboxGroupRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxGroupUpdate (line 82) | func resourceNetboxGroupUpdate(d *schema.ResourceData, m interface{}) er...
function resourceNetboxGroupDelete (line 101) | func resourceNetboxGroupDelete(d *schema.ResourceData, m interface{}) er...
FILE: netbox/resource_netbox_group_test.go
function TestAccNetboxGroup_basic (line 13) | func TestAccNetboxGroup_basic(t *testing.T) {
function init (line 40) | func init() {
FILE: netbox/resource_netbox_interface.go
function resourceNetboxInterface (line 20) | func resourceNetboxInterface() *schema.Resource {
function resourceNetboxInterfaceCreate (line 97) | func resourceNetboxInterfaceCreate(ctx context.Context, d *schema.Resour...
function resourceNetboxInterfaceRead (line 146) | func resourceNetboxInterfaceRead(ctx context.Context, d *schema.Resource...
function resourceNetboxInterfaceUpdate (line 193) | func resourceNetboxInterfaceUpdate(ctx context.Context, d *schema.Resour...
function resourceNetboxInterfaceDelete (line 281) | func resourceNetboxInterfaceDelete(ctx context.Context, d *schema.Resour...
function getIDsFromNestedVLAN (line 300) | func getIDsFromNestedVLAN(nestedvlans []*models.NestedVLAN) []int64 {
type interceptWriter (line 308) | type interceptWriter struct
method SetBodyParam (line 313) | func (iw interceptWriter) SetBodyParam(p any) error {
type interceptParams (line 334) | type interceptParams struct
method WriteToRequest (line 340) | func (ip interceptParams) WriteToRequest(req runtime.ClientRequest, re...
function hackSerializeAsNull (line 352) | func hackSerializeAsNull(fields ...string) virtualization.ClientOption {
FILE: netbox/resource_netbox_interface_template.go
function resourceNetboxInterfaceTemplate (line 14) | func resourceNetboxInterfaceTemplate() *schema.Resource {
function resourceNetboxInterfaceTemplateCreate (line 65) | func resourceNetboxInterfaceTemplateCreate(ctx context.Context, d *schem...
function resourceNetboxInterfaceTemplateRead (line 102) | func resourceNetboxInterfaceTemplateRead(ctx context.Context, d *schema....
function resourceNetboxInterfaceTemplateUpdate (line 141) | func resourceNetboxInterfaceTemplateUpdate(ctx context.Context, d *schem...
function resourceNetboxInterfaceTemplateDelete (line 181) | func resourceNetboxInterfaceTemplateDelete(ctx context.Context, d *schem...
FILE: netbox/resource_netbox_interface_template_test.go
function TestAccNetboxInterfaceTemplate_basic (line 13) | func TestAccNetboxInterfaceTemplate_basic(t *testing.T) {
function TestAccNetboxInterfaceTemplate_opts (line 54) | func TestAccNetboxInterfaceTemplate_opts(t *testing.T) {
function init (line 124) | func init() {
FILE: netbox/resource_netbox_interface_test.go
function testAccNetboxInterfaceFullDependencies (line 15) | func testAccNetboxInterfaceFullDependencies(testName string) string {
function testAccNetboxInterfaceBasic (line 49) | func testAccNetboxInterfaceBasic(testName string) string {
function testAccNetboxInterfaceOpts (line 58) | func testAccNetboxInterfaceOpts(testName string, enabled string) string {
function testAccNetboxInterfaceVlans (line 69) | func testAccNetboxInterfaceVlans(testName string) string {
function testAccNetboxInterfaceBridge (line 94) | func testAccNetboxInterfaceBridge(testName string) string {
function TestAccNetboxInterface_basic (line 109) | func TestAccNetboxInterface_basic(t *testing.T) {
function TestAccNetboxInterface_opts (line 136) | func TestAccNetboxInterface_opts(t *testing.T) {
function TestAccNetboxInterface_vlans (line 174) | func TestAccNetboxInterface_vlans(t *testing.T) {
function TestAccNetboxInterface_bridge (line 214) | func TestAccNetboxInterface_bridge(t *testing.T) {
function testAccCheckInterfaceDestroy (line 244) | func testAccCheckInterfaceDestroy(s *terraform.State) error {
function init (line 277) | func init() {
FILE: netbox/resource_netbox_inventory_item.go
function resourceNetboxInventoryItem (line 12) | func resourceNetboxInventoryItem() *schema.Resource {
function resourceNetboxInventoryItemCreate (line 96) | func resourceNetboxInventoryItemCreate(d *schema.ResourceData, m interfa...
function resourceNetboxInventoryItemRead (line 143) | func resourceNetboxInventoryItemRead(d *schema.ResourceData, m interface...
function resourceNetboxInventoryItemUpdate (line 204) | func resourceNetboxInventoryItemUpdate(d *schema.ResourceData, m interfa...
function resourceNetboxInventoryItemDelete (line 252) | func resourceNetboxInventoryItemDelete(d *schema.ResourceData, m interfa...
FILE: netbox/resource_netbox_inventory_item_role.go
function resourceNetboxInventoryItemRole (line 12) | func resourceNetboxInventoryItemRole() *schema.Resource {
function resourceNetboxInventoryItemRoleCreate (line 50) | func resourceNetboxInventoryItemRoleCreate(d *schema.ResourceData, m int...
function resourceNetboxInventoryItemRoleRead (line 82) | func resourceNetboxInventoryItemRoleRead(d *schema.ResourceData, m inter...
function resourceNetboxInventoryItemRoleUpdate (line 115) | func resourceNetboxInventoryItemRoleUpdate(d *schema.ResourceData, m int...
function resourceNetboxInventoryItemRoleDelete (line 148) | func resourceNetboxInventoryItemRoleDelete(d *schema.ResourceData, m int...
FILE: netbox/resource_netbox_inventory_item_role_test.go
function testAccNetboxInventoryItemRoleFullDependencies (line 15) | func testAccNetboxInventoryItemRoleFullDependencies(testName string) str...
function TestAccNetboxInventoryItemRole_basic (line 23) | func TestAccNetboxInventoryItemRole_basic(t *testing.T) {
function testAccCheckInventoryItemRoleDestroy (line 74) | func testAccCheckInventoryItemRoleDestroy(s *terraform.State) error {
function init (line 107) | func init() {
FILE: netbox/resource_netbox_inventory_item_test.go
function testAccNetboxInventoryItemFullDependencies (line 15) | func testAccNetboxInventoryItemFullDependencies(testName string) string {
function TestAccNetboxInventoryItem_basic (line 85) | func TestAccNetboxInventoryItem_basic(t *testing.T) {
function testAccCheckInventoryItemDestroy (line 177) | func testAccCheckInventoryItemDestroy(s *terraform.State) error {
function init (line 210) | func init() {
FILE: netbox/resource_netbox_ip_address.go
function resourceNetboxIPAddress (line 17) | func resourceNetboxIPAddress() *schema.Resource {
function resourceNetboxIPAddressCreate (line 123) | func resourceNetboxIPAddressCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxIPAddressRead (line 182) | func resourceNetboxIPAddressRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxIPAddressUpdate (line 289) | func resourceNetboxIPAddressUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxIPAddressDelete (line 346) | func resourceNetboxIPAddressDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_ip_address_test.go
function testAccNetboxIPAddressFullDependencies (line 14) | func testAccNetboxIPAddressFullDependencies(testName string) string {
function testAccNetboxIPAddressFullDeviceDependencies (line 49) | func testAccNetboxIPAddressFullDeviceDependencies(testName string) string {
function TestAccNetboxIPAddress_basic (line 84) | func TestAccNetboxIPAddress_basic(t *testing.T) {
function TestAccNetboxIPAddress_cf (line 210) | func TestAccNetboxIPAddress_cf(t *testing.T) {
function TestAccNetboxIPAddress_deviceByObjectType (line 245) | func TestAccNetboxIPAddress_deviceByObjectType(t *testing.T) {
function TestAccNetboxIPAddress_vmByObjectType (line 277) | func TestAccNetboxIPAddress_vmByObjectType(t *testing.T) {
function TestAccNetboxIPAddress_vmSwitchStyle (line 309) | func TestAccNetboxIPAddress_vmSwitchStyle(t *testing.T) {
function TestAccNetboxIPAddress_deviceByFieldName (line 344) | func TestAccNetboxIPAddress_deviceByFieldName(t *testing.T) {
function TestAccNetboxIPAddress_vmByFieldName (line 376) | func TestAccNetboxIPAddress_vmByFieldName(t *testing.T) {
function TestAccNetboxIPAddress_standalone (line 409) | func TestAccNetboxIPAddress_standalone(t *testing.T) {
function TestAccNetboxIPAddress_nat (line 434) | func TestAccNetboxIPAddress_nat(t *testing.T) {
function TestAccNetboxIPAddress_invalidConfig (line 487) | func TestAccNetboxIPAddress_invalidConfig(t *testing.T) {
function init (line 525) | func init() {
function TestAccNetboxIPAddress_dnsNameCase (line 555) | func TestAccNetboxIPAddress_dnsNameCase(t *testing.T) {
FILE: netbox/resource_netbox_ip_range.go
function resourceNetboxIPRange (line 14) | func resourceNetboxIPRange() *schema.Resource {
function resourceNetboxIPRangeCreate (line 71) | func resourceNetboxIPRangeCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxIPRangeRead (line 101) | func resourceNetboxIPRangeRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxIPRangeUpdate (line 160) | func resourceNetboxIPRangeUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxIPRangeDelete (line 204) | func resourceNetboxIPRangeDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_ip_range_test.go
function testAccNetboxIPRangeFullDependencies (line 13) | func testAccNetboxIPRangeFullDependencies(testStartAddress string, testS...
function TestAccNetboxIpRange_basic (line 38) | func TestAccNetboxIpRange_basic(t *testing.T) {
function TestAccNetboxIpRange_with_dependencies (line 97) | func TestAccNetboxIpRange_with_dependencies(t *testing.T) {
function TestAccNetboxIpRange_cf (line 142) | func TestAccNetboxIpRange_cf(t *testing.T) {
function init (line 183) | func init() {
FILE: netbox/resource_netbox_ipam_role.go
function resourceNetboxIpamRole (line 12) | func resourceNetboxIpamRole() *schema.Resource {
function resourceNetboxIpamRoleCreate (line 49) | func resourceNetboxIpamRoleCreate(d *schema.ResourceData, m interface{})...
function resourceNetboxIpamRoleRead (line 82) | func resourceNetboxIpamRoleRead(d *schema.ResourceData, m interface{}) e...
function resourceNetboxIpamRoleUpdate (line 119) | func resourceNetboxIpamRoleUpdate(d *schema.ResourceData, m interface{})...
function resourceNetboxIpamRoleDelete (line 151) | func resourceNetboxIpamRoleDelete(d *schema.ResourceData, m interface{})...
FILE: netbox/resource_netbox_ipam_role_test.go
function TestAccNetboxRole_basic (line 13) | func TestAccNetboxRole_basic(t *testing.T) {
function TestAccNetboxRole_extended (line 41) | func TestAccNetboxRole_extended(t *testing.T) {
function init (line 76) | func init() {
FILE: netbox/resource_netbox_location.go
function resourceNetboxLocation (line 12) | func resourceNetboxLocation() *schema.Resource {
function resourceNetboxLocationCreate (line 66) | func resourceNetboxLocationCreate(d *schema.ResourceData, m interface{})...
function resourceNetboxLocationRead (line 123) | func resourceNetboxLocationRead(d *schema.ResourceData, m interface{}) e...
function resourceNetboxLocationUpdate (line 176) | func resourceNetboxLocationUpdate(d *schema.ResourceData, m interface{})...
function resourceNetboxLocationDelete (line 235) | func resourceNetboxLocationDelete(d *schema.ResourceData, m interface{})...
FILE: netbox/resource_netbox_location_test.go
function TestAccNetboxLocation_basic (line 13) | func TestAccNetboxLocation_basic(t *testing.T) {
function TestAccNetboxLocation_updateParent (line 95) | func TestAccNetboxLocation_updateParent(t *testing.T) {
function testAccNetboxLocationUpdateParent1 (line 128) | func testAccNetboxLocationUpdateParent1(testName string, randomSlug stri...
function testAccNetboxLocationUpdateParent2 (line 150) | func testAccNetboxLocationUpdateParent2(testName string, randomSlug stri...
function init (line 172) | func init() {
FILE: netbox/resource_netbox_mac_address.go
function resourceNetboxMACAddress (line 15) | func resourceNetboxMACAddress() *schema.Resource {
function resourceNetboxMACAddressCreate (line 74) | func resourceNetboxMACAddressCreate(d *schema.ResourceData, m interface{...
function resourceNetboxMACAddressRead (line 128) | func resourceNetboxMACAddressRead(d *schema.ResourceData, m interface{})...
function resourceNetboxMACAddressUpdate (line 182) | func resourceNetboxMACAddressUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxMACAddressDelete (line 236) | func resourceNetboxMACAddressDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_mac_address_test.go
function testAccNetboxMACAddressFullVmDependencies (line 13) | func testAccNetboxMACAddressFullVmDependencies(testName string) string {
function testAccNetboxMACAddressFullDeviceDependencies (line 47) | func testAccNetboxMACAddressFullDeviceDependencies(testName string) stri...
function TestAccNetboxMACAddress_standalone (line 82) | func TestAccNetboxMACAddress_standalone(t *testing.T) {
function TestAccNetboxMACAddress_customFields (line 121) | func TestAccNetboxMACAddress_customFields(t *testing.T) {
function TestAccNetboxMACAddress_deviceByFieldName (line 165) | func TestAccNetboxMACAddress_deviceByFieldName(t *testing.T) {
function TestAccNetboxMACAddress_vmByFieldName (line 213) | func TestAccNetboxMACAddress_vmByFieldName(t *testing.T) {
function TestAccNetboxMACAddress_deviceByObjectType (line 243) | func TestAccNetboxMACAddress_deviceByObjectType(t *testing.T) {
function TestAccNetboxMACAddress_vmByObjectType (line 275) | func TestAccNetboxMACAddress_vmByObjectType(t *testing.T) {
function init (line 307) | func init() {
FILE: netbox/resource_netbox_manufacturer.go
function resourceNetboxManufacturer (line 12) | func resourceNetboxManufacturer() *schema.Resource {
function resourceNetboxManufacturerCreate (line 41) | func resourceNetboxManufacturerCreate(d *schema.ResourceData, m interfac...
function resourceNetboxManufacturerRead (line 71) | func resourceNetboxManufacturerRead(d *schema.ResourceData, m interface{...
function resourceNetboxManufacturerUpdate (line 96) | func resourceNetboxManufacturerUpdate(d *schema.ResourceData, m interfac...
function resourceNetboxManufacturerDelete (line 125) | func resourceNetboxManufacturerDelete(d *schema.ResourceData, m interfac...
FILE: netbox/resource_netbox_manufacturer_test.go
function TestAccNetboxManufacturer_basic (line 13) | func TestAccNetboxManufacturer_basic(t *testing.T) {
function init (line 41) | func init() {
FILE: netbox/resource_netbox_module.go
function resourceNetboxModule (line 12) | func resourceNetboxModule() *schema.Resource {
function resourceNetboxModuleCreate (line 69) | func resourceNetboxModuleCreate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxModuleRead (line 109) | func resourceNetboxModuleRead(d *schema.ResourceData, m interface{}) err...
function resourceNetboxModuleUpdate (line 167) | func resourceNetboxModuleUpdate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxModuleDelete (line 207) | func resourceNetboxModuleDelete(d *schema.ResourceData, m interface{}) e...
FILE: netbox/resource_netbox_module_test.go
function testAccNetboxModuleFullDependencies (line 15) | func testAccNetboxModuleFullDependencies(testName string) string {
function TestAccNetboxModule_basic (line 63) | func TestAccNetboxModule_basic(t *testing.T) {
function testAccCheckModuleDestroy (line 129) | func testAccCheckModuleDestroy(s *terraform.State) error {
function init (line 162) | func init() {
FILE: netbox/resource_netbox_module_type.go
function resourceNetboxModuleType (line 12) | func resourceNetboxModuleType() *schema.Resource {
function resourceNetboxModuleTypeCreate (line 64) | func resourceNetboxModuleTypeCreate(d *schema.ResourceData, m interface{...
function resourceNetboxModuleTypeRead (line 100) | func resourceNetboxModuleTypeRead(d *schema.ResourceData, m interface{})...
function resourceNetboxModuleTypeUpdate (line 148) | func resourceNetboxModuleTypeUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxModuleTypeDelete (line 184) | func resourceNetboxModuleTypeDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_module_type_test.go
function testAccNetboxModuleTypeFullDependencies (line 15) | func testAccNetboxModuleTypeFullDependencies(testName string) string {
function TestAccNetboxModuleType_basic (line 27) | func TestAccNetboxModuleType_basic(t *testing.T) {
function testAccCheckModuleTypeDestroy (line 88) | func testAccCheckModuleTypeDestroy(s *terraform.State) error {
function init (line 121) | func init() {
FILE: netbox/resource_netbox_permission.go
function resourceNetboxPermission (line 13) | func resourceNetboxPermission() *schema.Resource {
function resourceNetboxPermissionCreate (line 87) | func resourceNetboxPermissionCreate(d *schema.ResourceData, m interface{...
function resourceNetboxPermissionRead (line 128) | func resourceNetboxPermissionRead(d *schema.ResourceData, m interface{})...
function resourceNetboxPermissionUpdate (line 179) | func resourceNetboxPermissionUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxPermissionDelete (line 218) | func resourceNetboxPermissionDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_permission_test.go
function TestAccNetboxPermission_basic (line 13) | func TestAccNetboxPermission_basic(t *testing.T) {
function TestAccNetboxPermission_noConstraint (line 56) | func TestAccNetboxPermission_noConstraint(t *testing.T) {
function init (line 86) | func init() {
FILE: netbox/resource_netbox_platform.go
function resourceNetboxPlatform (line 12) | func resourceNetboxPlatform() *schema.Resource {
function resourceNetboxPlatformCreate (line 45) | func resourceNetboxPlatformCreate(d *schema.ResourceData, m interface{})...
function resourceNetboxPlatformRead (line 83) | func resourceNetboxPlatformRead(d *schema.ResourceData, m interface{}) e...
function resourceNetboxPlatformUpdate (line 112) | func resourceNetboxPlatformUpdate(d *schema.ResourceData, m interface{})...
function resourceNetboxPlatformDelete (line 148) | func resourceNetboxPlatformDelete(d *schema.ResourceData, m interface{})...
FILE: netbox/resource_netbox_platform_test.go
function TestAccNetboxPlatform_basic (line 13) | func TestAccNetboxPlatform_basic(t *testing.T) {
function TestAccNetboxPlatform_manufacturer (line 41) | func TestAccNetboxPlatform_manufacturer(t *testing.T) {
function TestAccNetboxPlatform_defaultSlug (line 76) | func TestAccNetboxPlatform_defaultSlug(t *testing.T) {
function init (line 97) | func init() {
FILE: netbox/resource_netbox_power_panel.go
function resourceNetboxPowerPanel (line 11) | func resourceNetboxPowerPanel() *schema.Resource {
function resourceNetboxPowerPanelCreate (line 52) | func resourceNetboxPowerPanelCreate(d *schema.ResourceData, m interface{...
function resourceNetboxPowerPanelRead (line 86) | func resourceNetboxPowerPanelRead(d *schema.ResourceData, m interface{})...
function resourceNetboxPowerPanelUpdate (line 132) | func resourceNetboxPowerPanelUpdate(d *schema.ResourceData, m interface{...
function resourceNetboxPowerPanelDelete (line 166) | func resourceNetboxPowerPanelDelete(d *schema.ResourceData, m interface{...
FILE: netbox/resource_netbox_power_panel_test.go
function testAccNetboxPowerPanelFullDependencies (line 15) | func testAccNetboxPowerPanelFullDependencies(testName string) string {
function TestAccNetboxPowerPanel_basic (line 32) | func TestAccNetboxPowerPanel_basic(t *testing.T) {
function testAccCheckPowerPanelDestroy (line 87) | func testAccCheckPowerPanelDestroy(s *terraform.State) error {
function init (line 120) | func init() {
FILE: netbox/resource_netbox_prefix.go
function resourceNetboxPrefix (line 14) | func resourceNetboxPrefix() *schema.Resource {
function resourceNetboxPrefixCreate (line 95) | func resourceNetboxPrefixCreate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxPrefixRead (line 173) | func resourceNetboxPrefixRead(d *schema.ResourceData, m interface{}) err...
function resourceNetboxPrefixUpdate (line 255) | func resourceNetboxPrefixUpdate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxPrefixDelete (line 333) | func resourceNetboxPrefixDelete(d *schema.ResourceData, m interface{}) e...
FILE: netbox/resource_netbox_prefix_test.go
function testAccNetboxPrefixFullDependencies (line 14) | func testAccNetboxPrefixFullDependencies(testName string, testSlug strin...
function TestAccNetboxPrefix_basic (line 48) | func TestAccNetboxPrefix_basic(t *testing.T) {
function TestAccNetboxPrefix_cf (line 236) | func TestAccNetboxPrefix_cf(t *testing.T) {
function TestAccNetboxPrefix_scopes (line 278) | func TestAccNetboxPrefix_scopes(t *testing.T) {
function init (line 378) | func init() {
FILE: netbox/resource_netbox_primary_ip.go
function resourceNetboxPrimaryIP (line 12) | func resourceNetboxPrimaryIP() *schema.Resource {
function resourceNetboxPrimaryIPCreate (line 43) | func resourceNetboxPrimaryIPCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxPrimaryIPRead (line 49) | func resourceNetboxPrimaryIPRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxPrimaryIPUpdate (line 83) | func resourceNetboxPrimaryIPUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxPrimaryIPDelete (line 178) | func resourceNetboxPrimaryIPDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_primary_ip_test.go
function testAccNetboxPrimaryIPFullDependencies (line 10) | func testAccNetboxPrimaryIPFullDependencies(testName string) string {
function TestAccNetboxPrimaryIP4_basic (line 86) | func TestAccNetboxPrimaryIP4_basic(t *testing.T) {
function TestAccNetboxPrimaryIP6_basic (line 129) | func TestAccNetboxPrimaryIP6_basic(t *testing.T) {
FILE: netbox/resource_netbox_rack.go
function resourceNetboxRack (line 18) | func resourceNetboxRack() *schema.Resource {
function resourceNetboxRackCreate (line 155) | func resourceNetboxRackCreate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxRackRead (line 221) | func resourceNetboxRackRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxRackUpdate (line 325) | func resourceNetboxRackUpdate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxRackDelete (line 393) | func resourceNetboxRackDelete(d *schema.ResourceData, m interface{}) err...
FILE: netbox/resource_netbox_rack_reservation.go
function resourceNetboxRackReservation (line 11) | func resourceNetboxRackReservation() *schema.Resource {
function resourceNetboxRackReservationCreate (line 59) | func resourceNetboxRackReservationCreate(d *schema.ResourceData, m inter...
function resourceNetboxRackReservationRead (line 86) | func resourceNetboxRackReservationRead(d *schema.ResourceData, m interfa...
function resourceNetboxRackReservationUpdate (line 132) | func resourceNetboxRackReservationUpdate(d *schema.ResourceData, m inter...
function resourceNetboxRackReservationDelete (line 159) | func resourceNetboxRackReservationDelete(d *schema.ResourceData, m inter...
FILE: netbox/resource_netbox_rack_reservation_test.go
function testAccNetboxRackReservationFullDependencies (line 13) | func testAccNetboxRackReservationFullDependencies(testName string) string {
function TestAccNetboxRackReservation_basic (line 33) | func TestAccNetboxRackReservation_basic(t *testing.T) {
function init (line 66) | func init() {
FILE: netbox/resource_netbox_rack_role.go
function resourceNetboxRackRole (line 12) | func resourceNetboxRackRole() *schema.Resource {
function resourceNetboxRackRoleCreate (line 50) | func resourceNetboxRackRoleCreate(d *schema.ResourceData, m interface{})...
function resourceNetboxRackRoleRead (line 89) | func resourceNetboxRackRoleRead(d *schema.ResourceData, m interface{}) e...
function resourceNetboxRackRoleUpdate (line 117) | func resourceNetboxRackRoleUpdate(d *schema.ResourceData, m interface{})...
function resourceNetboxRackRoleDelete (line 154) | func resourceNetboxRackRoleDelete(d *schema.ResourceData, m interface{})...
FILE: netbox/resource_netbox_rack_role_test.go
function TestAccNetboxRackRole_basic (line 13) | func TestAccNetboxRackRole_basic(t *testing.T) {
function TestAccNetboxRackRole_defaultSlug (line 43) | func TestAccNetboxRackRole_defaultSlug(t *testing.T) {
function init (line 65) | func init() {
FILE: netbox/resource_netbox_rack_test.go
function testAccNetboxRackFullDependencies (line 15) | func testAccNetboxRackFullDependencies(testName string) string {
function TestAccNetboxRack_basic (line 41) | func TestAccNetboxRack_basic(t *testing.T) {
function testAccCheckRackDestroy (line 210) | func testAccCheckRackDestroy(s *terraform.State) error {
function init (line 243) | func init() {
FILE: netbox/resource_netbox_rack_type.go
function resourceNetboxRackType (line 17) | func resourceNetboxRackType() *schema.Resource {
function resourceNetboxRackTypeCreate (line 189) | func resourceNetboxRackTypeCreate(d *schema.ResourceData, m interface{})...
function resourceNetboxRackTypeRead (line 243) | func resourceNetboxRackTypeRead(d *schema.ResourceData, m interface{}) e...
function resourceNetboxRackTypeUpdate (line 303) | func resourceNetboxRackTypeUpdate(d *schema.ResourceData, m interface{})...
function resourceNetboxRackTypeDelete (line 349) | func resourceNetboxRackTypeDelete(d *schema.ResourceData, m interface{})...
FILE: netbox/resource_netbox_rack_type_test.go
function testAccNetboxRackTypeFullDependencies (line 15) | func testAccNetboxRackTypeFullDependencies(testName string) string {
function TestAccNetboxRackType_basic (line 26) | func TestAccNetboxRackType_basic(t *testing.T) {
function testAccCheckRackTypeDestroy (line 81) | func testAccCheckRackTypeDestroy(s *terraform.State) error {
function init (line 114) | func init() {
FILE: netbox/resource_netbox_region.go
function resourceNetboxRegion (line 12) | func resourceNetboxRegion() *schema.Resource {
function resourceNetboxRegionCreate (line 56) | func resourceNetboxRegionCreate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxRegionRead (line 94) | func resourceNetboxRegionRead(d *schema.ResourceData, m interface{}) err...
function resourceNetboxRegionUpdate (line 124) | func resourceNetboxRegionUpdate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxRegionDelete (line 162) | func resourceNetboxRegionDelete(d *schema.ResourceData, m interface{}) e...
FILE: netbox/resource_netbox_region_test.go
function TestAccNetboxRegion_basic (line 13) | func TestAccNetboxRegion_basic(t *testing.T) {
function TestAccNetboxRegion_defaultSlug (line 44) | func TestAccNetboxRegion_defaultSlug(t *testing.T) {
function init (line 65) | func init() {
FILE: netbox/resource_netbox_rir.go
function resourceNetboxRir (line 12) | func resourceNetboxRir() *schema.Resource {
function resourceNetboxRirCreate (line 50) | func resourceNetboxRirCreate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxRirRead (line 80) | func resourceNetboxRirRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxRirUpdate (line 108) | func resourceNetboxRirUpdate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxRirDelete (line 137) | func resourceNetboxRirDelete(d *schema.ResourceData, m interface{}) error {
FILE: netbox/resource_netbox_rir_test.go
function TestAccNetboxRir_basic (line 13) | func TestAccNetboxRir_basic(t *testing.T) {
function TestAccNetboxRir_privacy (line 43) | func TestAccNetboxRir_privacy(t *testing.T) {
function init (line 94) | func init() {
FILE: netbox/resource_netbox_route_target.go
function resourceNetboxRouteTarget (line 12) | func resourceNetboxRouteTarget() *schema.Resource {
function resourceNetboxRouteTargetCreate (line 45) | func resourceNetboxRouteTargetCreate(d *schema.ResourceData, m interface...
function resourceNetboxRouteTargetRead (line 64) | func resourceNetboxRouteTargetRead(d *schema.ResourceData, m interface{}...
function resourceNetboxRouteTargetUpdate (line 101) | func resourceNetboxRouteTargetUpdate(d *schema.ResourceData, m interface...
function resourceNetboxRouteTargetDelete (line 123) | func resourceNetboxRouteTargetDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_route_target_test.go
function getNetboxRouteTargetResource (line 14) | func getNetboxRouteTargetResource(rtName, tenantName string) string {
function Test_resourceNetboxRouteTarget (line 26) | func Test_resourceNetboxRouteTarget(t *testing.T) {
function init (line 82) | func init() {
FILE: netbox/resource_netbox_service.go
function resourceNetboxService (line 14) | func resourceNetboxService() *schema.Resource {
function resourceNetboxServiceCreate (line 82) | func resourceNetboxServiceCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxServiceRead (line 144) | func resourceNetboxServiceRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxServiceUpdate (line 189) | func resourceNetboxServiceUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxServiceDelete (line 248) | func resourceNetboxServiceDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_service_test.go
function testAccNetboxServiceFullDependencies (line 15) | func testAccNetboxServiceFullDependencies(testName string) string {
function TestAccNetboxService_basic (line 34) | func TestAccNetboxService_basic(t *testing.T) {
function TestAccNetboxService_customFields (line 67) | func TestAccNetboxService_customFields(t *testing.T) {
function testAccCheckServiceDestroy (line 107) | func testAccCheckServiceDestroy(s *terraform.State) error {
function TestAccNetboxService_withDescriptionDeviceID (line 140) | func TestAccNetboxService_withDescriptionDeviceID(t *testing.T) {
function TestAccNetboxService_withDescriptionTagsVirtualMachine (line 202) | func TestAccNetboxService_withDescriptionTagsVirtualMachine(t *testing.T) {
function init (line 253) | func init() {
FILE: netbox/resource_netbox_site.go
function resourceNetboxSite (line 14) | func resourceNetboxSite() *schema.Resource {
function resourceNetboxSiteCreate (line 109) | func resourceNetboxSiteCreate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxSiteRead (line 206) | func resourceNetboxSiteRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxSiteUpdate (line 267) | func resourceNetboxSiteUpdate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxSiteDelete (line 375) | func resourceNetboxSiteDelete(d *schema.ResourceData, m interface{}) err...
function getIDsFromNestedASNList (line 394) | func getIDsFromNestedASNList(nestedASNs []*models.NestedASN) []int64 {
FILE: netbox/resource_netbox_site_group.go
function resourceNetboxSiteGroup (line 12) | func resourceNetboxSiteGroup() *schema.Resource {
function resourceNetboxSiteGroupCreate (line 51) | func resourceNetboxSiteGroupCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxSiteGroupRead (line 89) | func resourceNetboxSiteGroupRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxSiteGroupUpdate (line 118) | func resourceNetboxSiteGroupUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxSiteGroupDelete (line 155) | func resourceNetboxSiteGroupDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_site_group_test.go
function TestAccNetboxSiteGroup_basic (line 13) | func TestAccNetboxSiteGroup_basic(t *testing.T) {
function TestAccNetboxSiteGroup_defaultSlug (line 53) | func TestAccNetboxSiteGroup_defaultSlug(t *testing.T) {
function init (line 74) | func init() {
FILE: netbox/resource_netbox_site_test.go
function TestAccNetboxSite_basic (line 13) | func TestAccNetboxSite_basic(t *testing.T) {
function TestAccNetboxSite_customFields (line 70) | func TestAccNetboxSite_customFields(t *testing.T) {
function TestAccNetboxSite_fieldUpdate (line 105) | func TestAccNetboxSite_fieldUpdate(t *testing.T) {
function init (line 151) | func init() {
FILE: netbox/resource_netbox_tag.go
function resourceNetboxTag (line 13) | func resourceNetboxTag() *schema.Resource {
function resourceNetboxTagCreate (line 54) | func resourceNetboxTagCreate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxTagRead (line 90) | func resourceNetboxTagRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxTagUpdate (line 115) | func resourceNetboxTagUpdate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxTagDelete (line 149) | func resourceNetboxTagDelete(d *schema.ResourceData, m interface{}) error {
FILE: netbox/resource_netbox_tag_test.go
function TestAccNetboxTag_basic (line 13) | func TestAccNetboxTag_basic(t *testing.T) {
function TestAccNetboxTag_defaultSlug (line 45) | func TestAccNetboxTag_defaultSlug(t *testing.T) {
function init (line 66) | func init() {
FILE: netbox/resource_netbox_tenant.go
function resourceNetboxTenant (line 12) | func resourceNetboxTenant() *schema.Resource {
function resourceNetboxTenantCreate (line 52) | func resourceNetboxTenantCreate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxTenantRead (line 93) | func resourceNetboxTenantRead(d *schema.ResourceData, m interface{}) err...
function resourceNetboxTenantUpdate (line 121) | func resourceNetboxTenantUpdate(d *schema.ResourceData, m interface{}) e...
function resourceNetboxTenantDelete (line 159) | func resourceNetboxTenantDelete(d *schema.ResourceData, m interface{}) e...
FILE: netbox/resource_netbox_tenant_group.go
function resourceNetboxTenantGroup (line 12) | func resourceNetboxTenantGroup() *schema.Resource {
function resourceNetboxTenantGroupCreate (line 51) | func resourceNetboxTenantGroupCreate(d *schema.ResourceData, m interface...
function resourceNetboxTenantGroupRead (line 89) | func resourceNetboxTenantGroupRead(d *schema.ResourceData, m interface{}...
function resourceNetboxTenantGroupUpdate (line 117) | func resourceNetboxTenantGroupUpdate(d *schema.ResourceData, m interface...
function resourceNetboxTenantGroupDelete (line 154) | func resourceNetboxTenantGroupDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_tenant_group_test.go
function TestAccNetboxTenantGroup_basic (line 13) | func TestAccNetboxTenantGroup_basic(t *testing.T) {
function TestAccNetboxTenantGroup_defaultSlug (line 41) | func TestAccNetboxTenantGroup_defaultSlug(t *testing.T) {
function init (line 62) | func init() {
FILE: netbox/resource_netbox_tenant_test.go
function testAccNetboxTenantTagDependencies (line 13) | func testAccNetboxTenantTagDependencies(testName string) string {
function TestAccNetboxTenant_basic (line 25) | func TestAccNetboxTenant_basic(t *testing.T) {
function TestAccNetboxTenant_defaultSlug (line 56) | func TestAccNetboxTenant_defaultSlug(t *testing.T) {
function TestAccNetboxTenant_tags (line 77) | func TestAccNetboxTenant_tags(t *testing.T) {
function init (line 121) | func init() {
FILE: netbox/resource_netbox_token.go
function resourceNetboxToken (line 15) | func resourceNetboxToken() *schema.Resource {
function resourceNetboxTokenCreate (line 69) | func resourceNetboxTokenCreate(ctx context.Context, d *schema.ResourceDa...
function resourceNetboxTokenRead (line 107) | func resourceNetboxTokenRead(ctx context.Context, d *schema.ResourceData...
function resourceNetboxTokenUpdate (line 146) | func resourceNetboxTokenUpdate(ctx context.Context, d *schema.ResourceDa...
function resourceNetboxTokenDelete (line 182) | func resourceNetboxTokenDelete(ctx context.Context, d *schema.ResourceDa...
FILE: netbox/resource_netbox_token_test.go
function TestAccNetboxToken_basic (line 13) | func TestAccNetboxToken_basic(t *testing.T) {
function TestAccNetboxToken_withoutExpires (line 55) | func TestAccNetboxToken_withoutExpires(t *testing.T) {
function init (line 96) | func init() {
FILE: netbox/resource_netbox_user.go
function resourceNetboxUser (line 13) | func resourceNetboxUser() *schema.Resource {
function resourceNetboxUserCreate (line 70) | func resourceNetboxUserCreate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxUserRead (line 103) | func resourceNetboxUserRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxUserUpdate (line 138) | func resourceNetboxUserUpdate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxUserDelete (line 170) | func resourceNetboxUserDelete(d *schema.ResourceData, m interface{}) err...
function getIDsFromNestedGroup (line 188) | func getIDsFromNestedGroup(nestedGroups []*models.NestedGroup) []int64 {
FILE: netbox/resource_netbox_user_test.go
function TestAccNetboxUser_basic (line 13) | func TestAccNetboxUser_basic(t *testing.T) {
function TestAccNetboxUser_group (line 63) | func TestAccNetboxUser_group(t *testing.T) {
function init (line 99) | func init() {
FILE: netbox/resource_netbox_virtual_chassis.go
function resourceNetboxVirtualChassis (line 13) | func resourceNetboxVirtualChassis() *schema.Resource {
function resourceNetboxVirtualChassisCreate (line 49) | func resourceNetboxVirtualChassisCreate(ctx context.Context, d *schema.R...
function resourceNetboxVirtualChassisRead (line 99) | func resourceNetboxVirtualChassisRead(ctx context.Context, d *schema.Res...
function resourceNetboxVirtualChassisUpdate (line 134) | func resourceNetboxVirtualChassisUpdate(ctx context.Context, d *schema.R...
function resourceNetboxVirtualChassisDelete (line 187) | func resourceNetboxVirtualChassisDelete(ctx context.Context, d *schema.R...
function virtualChassisUpdateMaster (line 207) | func virtualChassisUpdateMaster(api *providerState, id int64, master *in...
FILE: netbox/resource_netbox_virtual_chassis_test.go
function TestAccNetboxVirtualChassis_basic (line 13) | func TestAccNetboxVirtualChassis_basic(t *testing.T) {
function testAccCheckVirtualChassisDestroy (line 61) | func testAccCheckVirtualChassisDestroy(s *terraform.State) error {
FILE: netbox/resource_netbox_virtual_disk.go
function resourceNetboxVirtualDisks (line 13) | func resourceNetboxVirtualDisks() *schema.Resource {
function resourceNetboxVirtualDisksCreate (line 57) | func resourceNetboxVirtualDisksCreate(ctx context.Context, d *schema.Res...
function resourceNetboxVirtualDisksRead (line 99) | func resourceNetboxVirtualDisksRead(ctx context.Context, d *schema.Resou...
function resourceNetboxVirtualDisksUpdate (line 139) | func resourceNetboxVirtualDisksUpdate(ctx context.Context, d *schema.Res...
function resourceNetboxVirtualDisksDelete (line 183) | func resourceNetboxVirtualDisksDelete(ctx context.Context, d *schema.Res...
FILE: netbox/resource_netbox_virtual_disk_migrate_v0.go
function resourceNetboxVirtualDiskResourceV0 (line 10) | func resourceNetboxVirtualDiskResourceV0() *schema.Resource {
function resourceNetboxVirtualDiskStateUpgradeV0 (line 35) | func resourceNetboxVirtualDiskStateUpgradeV0(_ context.Context, rawState...
FILE: netbox/resource_netbox_virtual_disk_test.go
function TestAccNetboxVirtualDisk_basic (line 13) | func TestAccNetboxVirtualDisk_basic(t *testing.T) {
function testAccCheckVirtualDiskDestroy (line 77) | func testAccCheckVirtualDiskDestroy(s *terraform.State) error {
FILE: netbox/resource_netbox_virtual_machine.go
function resourceNetboxVirtualMachine (line 17) | func resourceNetboxVirtualMachine() *schema.Resource {
function resourceNetboxVirtualMachineCreate (line 123) | func resourceNetboxVirtualMachineCreate(ctx context.Context, d *schema.R...
function resourceNetboxVirtualMachineRead (line 223) | func resourceNetboxVirtualMachineRead(ctx context.Context, d *schema.Res...
function resourceNetboxVirtualMachineUpdate (line 336) | func resourceNetboxVirtualMachineUpdate(ctx context.Context, d *schema.R...
function resourceNetboxVirtualMachineDelete (line 466) | func resourceNetboxVirtualMachineDelete(ctx context.Context, d *schema.R...
FILE: netbox/resource_netbox_virtual_machine_migrate_v0.go
function resourceNetboxVirtualMachineResourceV0 (line 11) | func resourceNetboxVirtualMachineResourceV0() *schema.Resource {
function resourceNetboxVirtualMachineStateUpgradeV0 (line 62) | func resourceNetboxVirtualMachineStateUpgradeV0(_ context.Context, rawSt...
FILE: netbox/resource_netbox_virtual_machine_migrate_v0_test.go
function TestResourceNetboxVirtualMachineStateUpgradeV0 (line 9) | func TestResourceNetboxVirtualMachineStateUpgradeV0(t *testing.T) {
FILE: netbox/resource_netbox_virtual_machine_migrate_v1.go
function resourceNetboxVirtualMachineResourceV1 (line 10) | func resourceNetboxVirtualMachineResourceV1() *schema.Resource {
function resourceNetboxVirtualMachineStateUpgradeV1 (line 87) | func resourceNetboxVirtualMachineStateUpgradeV1(_ context.Context, rawSt...
FILE: netbox/resource_netbox_virtual_machine_migrate_v1_test.go
function TestResourceNetboxVirtualMachineStateUpgradeV1 (line 9) | func TestResourceNetboxVirtualMachineStateUpgradeV1(t *testing.T) {
FILE: netbox/resource_netbox_virtual_machine_test.go
function testAccNetboxVirtualMachineFullDependencies (line 15) | func testAccNetboxVirtualMachineFullDependencies(testName string) string {
function testAccNetboxVirtualMachineSiteClusterDependencies (line 77) | func testAccNetboxVirtualMachineSiteClusterDependencies(testName string)...
function TestAccNetboxVirtualMachine_SiteOnly (line 96) | func TestAccNetboxVirtualMachine_SiteOnly(t *testing.T) {
function TestAccNetboxVirtualMachine_ClusterWithoutSite (line 125) | func TestAccNetboxVirtualMachine_ClusterWithoutSite(t *testing.T) {
function TestAccNetboxVirtualMachine_basic (line 163) | func TestAccNetboxVirtualMachine_basic(t *testing.T) {
function TestAccNetboxVirtualMachine_fractionalVcpu (line 277) | func TestAccNetboxVirtualMachine_fractionalVcpu(t *testing.T) {
function testAccCheckVirtualMachineDestroy (line 322) | func testAccCheckVirtualMachineDestroy(s *terraform.State) error {
function TestAccNetboxVirtualMachine_tags (line 355) | func TestAccNetboxVirtualMachine_tags(t *testing.T) {
function TestAccNetboxVirtualMachine_customFields (line 403) | func TestAccNetboxVirtualMachine_customFields(t *testing.T) {
function TestAccNetboxVirtualMachine_localContext (line 431) | func TestAccNetboxVirtualMachine_localContext(t *testing.T) {
function TestAccNetboxVirtualMachine_diskSizeMb (line 547) | func TestAccNetboxVirtualMachine_diskSizeMb(t *testing.T) {
function init (line 652) | func init() {
FILE: netbox/resource_netbox_vlan.go
function resourceNetboxVlan (line 14) | func resourceNetboxVlan() *schema.Resource {
function resourceNetboxVlanCreate (line 72) | func resourceNetboxVlanCreate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxVlanRead (line 118) | func resourceNetboxVlanRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxVlanUpdate (line 162) | func resourceNetboxVlanUpdate(d *schema.ResourceData, m interface{}) err...
function resourceNetboxVlanDelete (line 206) | func resourceNetboxVlanDelete(d *schema.ResourceData, m interface{}) err...
FILE: netbox/resource_netbox_vlan_group.go
function resourceNetboxVlanGroup (line 14) | func resourceNetboxVlanGroup() *schema.Resource {
function resourceNetboxVlanGroupCreate (line 69) | func resourceNetboxVlanGroupCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxVlanGroupRead (line 116) | func resourceNetboxVlanGroupRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxVlanGroupUpdate (line 153) | func resourceNetboxVlanGroupUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxVlanGroupDelete (line 200) | func resourceNetboxVlanGroupDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_vlan_group_test.go
function testAccNetboxVlanGroupFullDependencies (line 13) | func testAccNetboxVlanGroupFullDependencies(testName string) string {
function TestAccNetboxVlanGroup_basic (line 25) | func TestAccNetboxVlanGroup_basic(t *testing.T) {
function TestAccNetboxVlanGroup_with_dependencies (line 60) | func TestAccNetboxVlanGroup_with_dependencies(t *testing.T) {
function init (line 98) | func init() {
FILE: netbox/resource_netbox_vlan_test.go
function testAccNetboxVlanFullDependencies (line 13) | func testAccNetboxVlanFullDependencies(testName string) string {
function TestAccNetboxVlan_basic (line 37) | func TestAccNetboxVlan_basic(t *testing.T) {
function TestAccNetboxVlan_with_dependencies (line 69) | func TestAccNetboxVlan_with_dependencies(t *testing.T) {
function init (line 111) | func init() {
FILE: netbox/resource_netbox_vpn_tunnel.go
function resourceNetboxVpnTunnel (line 14) | func resourceNetboxVpnTunnel() *schema.Resource {
function resourceNetboxVpnTunnelCreate (line 64) | func resourceNetboxVpnTunnelCreate(d *schema.ResourceData, m interface{}...
function resourceNetboxVpnTunnelRead (line 94) | func resourceNetboxVpnTunnelRead(d *schema.ResourceData, m interface{}) ...
function resourceNetboxVpnTunnelUpdate (line 137) | func resourceNetboxVpnTunnelUpdate(d *schema.ResourceData, m interface{}...
function resourceNetboxVpnTunnelDelete (line 165) | func resourceNetboxVpnTunnelDelete(d *schema.ResourceData, m interface{}...
FILE: netbox/resource_netbox_vpn_tunnel_group.go
function resourceNetboxVpnTunnelGroup (line 12) | func resourceNetboxVpnTunnelGroup() *schema.Resource {
function resourceNetboxVpnTunnelGroupCreate (line 45) | func resourceNetboxVpnTunnelGroupCreate(d *schema.ResourceData, m interf...
function resourceNetboxVpnTunnelGroupRead (line 81) | func resourceNetboxVpnTunnelGroupRead(d *schema.ResourceData, m interfac...
function resourceNetboxVpnTunnelGroupUpdate (line 105) | func resourceNetboxVpnTunnelGroupUpdate(d *schema.ResourceData, m interf...
function resourceNetboxVpnTunnelGroupDelete (line 145) | func resourceNetboxVpnTunnelGroupDelete(d *schema.ResourceData, m interf...
FILE: netbox/resource_netbox_vpn_tunnel_group_test.go
function TestAccNetboxVpnTunnelGroup_basic (line 13) | func TestAccNetboxVpnTunnelGroup_basic(t *testing.T) {
function init (line 42) | func init() {
FILE: netbox/resource_netbox_vpn_tunnel_termination.go
function resourceNetboxVpnTunnelTermination (line 13) | func resourceNetboxVpnTunnelTermination() *schema.Resource {
function resourceNetboxVpnTunnelTerminationCreate (line 56) | func resourceNetboxVpnTunnelTerminationCreate(d *schema.ResourceData, m ...
function resourceNetboxVpnTunnelTerminationRead (line 96) | func resourceNetboxVpnTunnelTerminationRead(d *schema.ResourceData, m in...
function resourceNetboxVpnTunnelTerminationUpdate (line 136) | func resourceNetboxVpnTunnelTerminationUpdate(d *schema.ResourceData, m ...
function resourceNetboxVpnTunnelTerminationDelete (line 173) | func resourceNetboxVpnTunnelTerminationDelete(d *schema.ResourceData, m ...
FILE: netbox/resource_netbox_vpn_tunnel_termination_test.go
function testAccNetboxVpnTunnelTerminationFullDependencies (line 12) | func testAccNetboxVpnTunnelTerminationFullDependencies(testName string) ...
function TestAccNetboxVpnTunnelTermination_basic (line 85) | func TestAccNetboxVpnTunnelTermination_basic(t *testing.T) {
function init (line 152) | func init() {
FILE: netbox/resource_netbox_vpn_tunnel_test.go
function TestAccNetboxVpnTunnel_basic (line 13) | func TestAccNetboxVpnTunnel_basic(t *testing.T) {
function init (line 62) | func init() {
FILE: netbox/resource_netbox_vrf.go
function resourceNetboxVrf (line 12) | func resourceNetboxVrf() *schema.Resource {
function resourceNetboxVrfCreate (line 55) | func resourceNetboxVrfCreate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxVrfRead (line 96) | func resourceNetboxVrfRead(d *schema.ResourceData, m interface{}) error {
function resourceNetboxVrfUpdate (line 131) | func resourceNetboxVrfUpdate(d *schema.ResourceData, m interface{}) error {
function resourceNetboxVrfDelete (line 166) | func resourceNetboxVrfDelete(d *schema.ResourceData, m interface{}) error {
FILE: netbox/resource_netbox_vrf_test.go
function testAccNetboxVrfTagDependencies (line 13) | func testAccNetboxVrfTagDependencies(testName string) string {
function testAccNetboxVrfTenantDependencies (line 25) | func testAccNetboxVrfTenantDependencies(testName string) string {
function TestAccNetboxVrf_basic (line 36) | func TestAccNetboxVrf_basic(t *testing.T) {
function TestAccNetboxVrf_tags (line 63) | func TestAccNetboxVrf_tags(t *testing.T) {
function TestAccNetboxVrf_tenant (line 107) | func TestAccNetboxVrf_tenant(t *testing.T) {
function TestAccNetboxVrf_rd (line 140) | func TestAccNetboxVrf_rd(t *testing.T) {
function TestAccNetboxVrf_enforceUnique (line 167) | func TestAccNetboxVrf_enforceUnique(t *testing.T) {
function init (line 200) | func init() {
FILE: netbox/resource_netbox_webhook.go
function resourceNetboxWebhook (line 14) | func resourceNetboxWebhook() *schema.Resource {
function resourceNetboxWebhookCreate (line 71) | func resourceNetboxWebhookCreate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxWebhookRead (line 98) | func resourceNetboxWebhookRead(d *schema.ResourceData, m interface{}) er...
function resourceNetboxWebhookUpdate (line 127) | func resourceNetboxWebhookUpdate(d *schema.ResourceData, m interface{}) ...
function resourceNetboxWebhookDelete (line 155) | func resourceNetboxWebhookDelete(d *schema.ResourceData, m interface{}) ...
FILE: netbox/resource_netbox_webhook_test.go
function TestAccNetboxWebhook_basic (line 15) | func TestAccNetboxWebhook_basic(t *testing.T) {
function TestAccNetboxWebhook_update (line 51) | func TestAccNetboxWebhook_update(t *testing.T) {
function TestAccNetboxWebhook_import (line 100) | func TestAccNetboxWebhook_import(t *testing.T) {
function testAccCheckNetBoxWebhookDestroy (line 128) | func testAccCheckNetBoxWebhookDestroy(s *terraform.State) error {
function init (line 148) | func init() {
FILE: netbox/resource_netbox_wireless_helpers.go
type wirelessInterceptWriter (line 10) | type wirelessInterceptWriter struct
method SetBodyParam (line 15) | func (iw wirelessInterceptWriter) SetBodyParam(p any) error {
type wirelessInterceptParams (line 33) | type wirelessInterceptParams struct
method WriteToRequest (line 38) | func (ip wirelessInterceptParams) WriteToRequest(req runtime.ClientReq...
function hackSerializeWirelessWithValues (line 43) | func hackSerializeWirelessWithValues(fields map[string]any) wireless.Cli...
function hackSerializeWirelessAsNull (line 54) | func hackSerializeWirelessAsNull(fields ...string) wireless.ClientOption {
FILE: netbox/resource_netbox_wireless_lan.go
function resourceNetboxWirelessLAN (line 16) | func resourceNetboxWirelessLAN() *schema.Resource {
function resourceNetboxWirelessLANCreate (line 87) | func resourceNetboxWirelessLANCreate(d *schema.ResourceData, m interface...
function resourceNetboxWirelessLANRead (line 136) | func resourceNetboxWirelessLANRead(d *schema.ResourceData, m interface{}...
function resourceNetboxWirelessLANUpdate (line 201) | func resourceNetboxWirelessLANUpdate(d *schema.ResourceData, m interface...
function resourceNetboxWirelessLANDelete (line 273) | func resourceNetboxWirelessLANDelete(d *schema.ResourceData, m interface...
FILE: netbox/resource_netbox_wireless_lan_group.go
function resourceNetboxWirelessLANGroup (line 12) | func resourceNetboxWirelessLANGroup() *schema.Resource {
function resourceNetboxWirelessLANGroupCreate (line 51) | func resourceNetboxWirelessLANGroupCreate(d *schema.ResourceData, m inte...
function resourceNetboxWirelessLANGroupRead (line 94) | func resourceNetboxWirelessLANGroupRead(d *schema.ResourceData, m interf...
function resourceNetboxWirelessLANGroupUpdate (line 128) | func resourceNetboxWirelessLANGroupUpdate(d *schema.ResourceData, m inte...
function resourceNetboxWirelessLANGroupDelete (line 174) | func resourceNetboxWirelessLANGroupDelete(d *schema.ResourceData, m inte...
FILE: netbox/resource_netbox_wireless_lan_group_test.go
function TestAccNetboxWirelessLANGroup_basic (line 10) | func TestAccNetboxWirelessLANGroup_basic(t *testing.T) {
function TestAccNetboxWirelessLANGroup_defaultSlug (line 56) | func TestAccNetboxWirelessLANGroup_defaultSlug(t *testing.T) {
function TestAccNetboxWirelessLANGroup_updateParentAndDescription (line 77) | func TestAccNetboxWirelessLANGroup_updateParentAndDescription(t *testing...
FILE: netbox/resource_netbox_wireless_lan_test.go
function testAccNetboxWirelessLANDependencies (line 10) | func testAccNetboxWirelessLANDependencies(testName string) string {
function TestAccNetboxWirelessLAN_basic (line 47) | func TestAccNetboxWirelessLAN_basic(t *testing.T) {
function TestAccNetboxWirelessLAN_withDependencies (line 76) | func TestAccNetboxWirelessLAN_withDependencies(t *testing.T) {
function TestAccNetboxWirelessLAN_clearOptionalFields (line 122) | func TestAccNetboxWirelessLAN_clearOptionalFields(t *testing.T) {
FILE: netbox/slug_test.go
function TestSlugGeneration (line 7) | func TestSlugGeneration(t *testing.T) {
FILE: netbox/slugs.go
function getSlug (line 8) | func getSlug(name string) string {
FILE: netbox/tags.go
constant tagsKey (line 14) | tagsKey = "tags"
constant tagsAllKey (line 15) | tagsAllKey = "tags_all"
function getNestedTagListFromResourceDataSet (line 45) | func getNestedTagListFromResourceDataSet(state *providerState, d interfa...
function findTag (line 64) | func findTag(client *client.NetBoxAPI, name string) (*models.NestedTag, ...
function getTagListFromNestedTagList (line 90) | func getTagListFromNestedTagList(nestedTags []*models.NestedTag) []string {
method readTags (line 98) | func (s *providerState) readTags(d *schema.ResourceData, apiTags []*mode...
FILE: netbox/tags_test.go
function TestGetTagListFromNestedTagList (line 10) | func TestGetTagListFromNestedTagList(t *testing.T) {
FILE: netbox/util.go
function strToPtr (line 13) | func strToPtr(str string) *string {
function int64ToPtr (line 17) | func int64ToPtr(i int64) *int64 {
function float64ToPtr (line 21) | func float64ToPtr(i float64) *float64 {
function toStringList (line 25) | func toStringList(a interface{}) []string {
function toInt64List (line 33) | func toInt64List(a interface{}) []int64 {
function toInt64PtrList (line 45) | func toInt64PtrList(a interface{}) []*int64 {
function joinStringWithFinalConjunction (line 59) | func joinStringWithFinalConjunction(elems []string, sep, con string) str...
function buildValidValueDescription (line 73) | func buildValidValueDescription(options []string) string {
function getOptionalStr (line 81) | func getOptionalStr(d *schema.ResourceData, key string, useSpace bool) s...
function getOptionalVal (line 98) | func getOptionalVal[SchemaT int | float64, ApiT int64 | float64](d *sche...
function getOptionalInt (line 109) | func getOptionalInt(d *schema.ResourceData, key string) *int64 {
function getOptionalFloat (line 113) | func getOptionalFloat(d *schema.ResourceData, key string) *float64 {
function jsonSemanticCompare (line 121) | func jsonSemanticCompare(a, b string) (equal bool, err error) {
function extractSemanticVersionFromString (line 142) | func extractSemanticVersionFromString(s string) (version string, err err...
FILE: netbox/util_test.go
function TestJoinStringWithFinalConjunction (line 7) | func TestJoinStringWithFinalConjunction(t *testing.T) {
function TestBuildValidValueDescription (line 39) | func TestBuildValidValueDescription(t *testing.T) {
function TestJsonSemanticCompareEqual (line 60) | func TestJsonSemanticCompareEqual(t *testing.T) {
function TestJsonSemanticCompareUnequal (line 74) | func TestJsonSemanticCompareUnequal(t *testing.T) {
function TestExtractSemanticVersionFromString (line 88) | func TestExtractSemanticVersionFromString(t *testing.T) {
FILE: netbox/validation.go
constant maxUint16 (line 6) | maxUint16 = ^uint16(0)
constant maxInt16 (line 7) | maxInt16 = int(maxUint16 >> 1)
constant maxUint32 (line 9) | maxUint32 = ^uint32(0)
constant maxInt32 (line 10) | maxInt32 = int(maxUint32 >> 1)
Condensed preview — 570 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,083K chars).
[
{
"path": ".github/CODE_OF_CONDUCT.md",
"chars": 216,
"preview": "# Code of Conduct\n\nHashiCorp Community Guidelines apply to you when interacting with the community\nhere on GitHub and co"
},
{
"path": ".github/ISSUE_TEMPLATE.md",
"chars": 1822,
"preview": "# Issue Reporting Guide\n\nHi there,\n\nThank you for opening an issue. Please note that we try to keep the Terraform\nissue "
},
{
"path": ".github/allowed-subcategories.txt",
"chars": 144,
"preview": "Authentication\nCircuits\nData Center Inventory Management (DCIM)\nExtras\nIP Address Management (IPAM)\nTenancy\nVirtualizati"
},
{
"path": ".github/dependabot.yml",
"chars": 307,
"preview": "---\nversion: 2\nupdates:\n - package-ecosystem: gomod\n directory: \"/\"\n schedule:\n interval: daily\n time: "
},
{
"path": ".github/workflows/check-allowed-subcategories.yml",
"chars": 276,
"preview": "---\nname: check-allowed-subcategories\non: [push, pull_request]\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n "
},
{
"path": ".github/workflows/ci-testing.yml",
"chars": 1286,
"preview": "---\nname: ci-testing\non:\n push:\n branches:\n - master\n pull_request:\n branches:\n - master\n workflow_di"
},
{
"path": ".github/workflows/ensure-docs-examples.yml",
"chars": 261,
"preview": "---\nname: ensure-docs-examples\non: [push, pull_request]\njobs:\n test:\n runs-on: ubuntu-latest\n steps:\n - name"
},
{
"path": ".github/workflows/golangci-lint.yml",
"chars": 989,
"preview": "---\nname: linting\non:\n push:\n branches:\n - master\n pull_request:\n branches:\n - master\n\npermissions:\n "
},
{
"path": ".github/workflows/pre-commit.yml",
"chars": 377,
"preview": "---\nname: pre-commit\n\non:\n pull_request:\n push:\n branches: [master]\n\npermissions: read-all\n\njobs:\n pre-commit:\n "
},
{
"path": ".github/workflows/release.yml",
"chars": 1452,
"preview": "---\n# This GitHub action can publish assets for release when a tag is created.\n# Currently its setup to run on any tag t"
},
{
"path": ".gitignore",
"chars": 494,
"preview": "*.dll\n*.exe\n.envrc\n.DS_Store\nexample.tf\nterraform.tfplan\nterraform.tfstate\nbin/\ndist/\nmodules-dev/\n/pkg/\nwebsite/.vagran"
},
{
"path": ".golangci.yml",
"chars": 412,
"preview": "---\nversion: \"2\"\nlinters:\n enable:\n - staticcheck\n - whitespace\n disable:\n - errcheck\n exclusions:\n gener"
},
{
"path": ".goreleaser.yml",
"chars": 1603,
"preview": "---\n# Visit https://goreleaser.com for documentation on how to customize this\n# behavior.\n\nversion: 2\n\nbefore:\n hooks:\n"
},
{
"path": ".markdownlint.yaml",
"chars": 17,
"preview": "---\nMD013: false\n"
},
{
"path": ".pre-commit-config.yaml",
"chars": 1522,
"preview": "---\ndefault_stages:\n - commit\n\ndefault_install_hook_types:\n - commit-msg\n - pre-commit\n - prepare-commit-msg\n\nexclud"
},
{
"path": ".prettierignore",
"chars": 39,
"preview": "# ignore generated documentation\ndocs/\n"
},
{
"path": ".terraform-registry",
"chars": 150,
"preview": "Request: change owner to fbreckle\nRegistry Link: https://registry.terraform.io/providers/e-breuninger/netbox\nRequest by:"
},
{
"path": ".yamllint.yaml",
"chars": 225,
"preview": "---\nextends: default\n\nrules:\n comments:\n min-spaces-from-content: 1\n line-length: disable\n truthy:\n allowed-val"
},
{
"path": "CHANGELOG.md",
"chars": 73901,
"preview": "## 5.3.0 (April 9th, 2026)\n\nENHANCEMENTS\n\n* provider: Now supports using [v2 API tokens](https://netboxlabs.com/docs/net"
},
{
"path": "GNUmakefile",
"chars": 1571,
"preview": "TEST?=netbox/*.go\nTEST_FUNC?=TestAccNetboxMACAddr*\nGOFMT_FILES?=$$(find . -name '*.go' | grep -v vendor)\nDOCKER_COMPOSE="
},
{
"path": "LICENSE",
"chars": 16725,
"preview": "Mozilla Public License Version 2.0\n==================================\n\n1. Definitions\n--------------\n\n1.1. \"Contributor\""
},
{
"path": "README.md",
"chars": 4096,
"preview": "# terraform-provider-netbox\n\nThe Terraform Netbox provider is a plugin for Terraform that allows for the full lifecycle "
},
{
"path": "docker/Dockerfile-wait",
"chars": 41,
"preview": "FROM alpine\nCOPY wait-for /usr/local/bin\n"
},
{
"path": "docker/docker-compose.yml",
"chars": 1413,
"preview": "---\nservices:\n postgres:\n image: postgres:18-alpine\n environment:\n - POSTGRES_USER=netbox\n - POSTGRES_P"
},
{
"path": "docker/wait-for",
"chars": 4794,
"preview": "#!/bin/sh\n\n# Source: https://raw.githubusercontent.com/eficode/wait-for/master/wait-for\n\n# The MIT License (MIT)\n#\n# Cop"
},
{
"path": "docs/data-sources/asn.md",
"chars": 1026,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_asn Data Source - terraform-pro"
},
{
"path": "docs/data-sources/asns.md",
"chars": 994,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_asns Data Source - terraform-pr"
},
{
"path": "docs/data-sources/available_prefix.md",
"chars": 673,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_available_prefix Data Source - "
},
{
"path": "docs/data-sources/cluster.md",
"chars": 952,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster Data Source - terraform"
},
{
"path": "docs/data-sources/cluster_group.md",
"chars": 509,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster_group Data Source - ter"
},
{
"path": "docs/data-sources/cluster_type.md",
"chars": 411,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster_type Data Source - terr"
},
{
"path": "docs/data-sources/clusters.md",
"chars": 1670,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_clusters Data Source - terrafor"
},
{
"path": "docs/data-sources/config_context.md",
"chars": 844,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_config_context Data Source - te"
},
{
"path": "docs/data-sources/contact.md",
"chars": 526,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact Data Source - terraform"
},
{
"path": "docs/data-sources/contact_group.md",
"chars": 443,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact_group Data Source - ter"
},
{
"path": "docs/data-sources/contact_role.md",
"chars": 489,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact_role Data Source - terr"
},
{
"path": "docs/data-sources/device_interfaces.md",
"chars": 1881,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_interfaces Data Source -"
},
{
"path": "docs/data-sources/device_power_ports.md",
"chars": 1035,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_power_ports Data Source "
},
{
"path": "docs/data-sources/device_render_config.md",
"chars": 1508,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_render_config Data Sourc"
},
{
"path": "docs/data-sources/device_role.md",
"chars": 564,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_role Data Source - terra"
},
{
"path": "docs/data-sources/device_type.md",
"chars": 970,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_type Data Source - terra"
},
{
"path": "docs/data-sources/devices.md",
"chars": 1419,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_devices Data Source - terraform"
},
{
"path": "docs/data-sources/interfaces.md",
"chars": 1731,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_interfaces Data Source - terraf"
},
{
"path": "docs/data-sources/ip_address.md",
"chars": 1095,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ip_address Data Source - terraf"
},
{
"path": "docs/data-sources/ip_addresses.md",
"chars": 1578,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ip_addresses Data Source - terr"
},
{
"path": "docs/data-sources/ip_range.md",
"chars": 2099,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ip_range Data Source - terrafor"
},
{
"path": "docs/data-sources/ip_ranges.md",
"chars": 1514,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ip_ranges Data Source - terrafo"
},
{
"path": "docs/data-sources/ipam_role.md",
"chars": 453,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ipam_role Data Source - terrafo"
},
{
"path": "docs/data-sources/location.md",
"chars": 529,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_location Data Source - terrafor"
},
{
"path": "docs/data-sources/locations.md",
"chars": 1244,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_locations Data Source - terrafo"
},
{
"path": "docs/data-sources/platform.md",
"chars": 547,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_platform Data Source - terrafor"
},
{
"path": "docs/data-sources/prefix.md",
"chars": 3529,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_prefix Data Source - terraform-"
},
{
"path": "docs/data-sources/prefixes.md",
"chars": 1419,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_prefixes Data Source - terrafor"
},
{
"path": "docs/data-sources/rack_role.md",
"chars": 492,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rack_role Data Source - terrafo"
},
{
"path": "docs/data-sources/racks.md",
"chars": 1331,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_racks Data Source - terraform-p"
},
{
"path": "docs/data-sources/region.md",
"chars": 712,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_region Data Source - terraform-"
},
{
"path": "docs/data-sources/rir.md",
"chars": 1655,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rir Data Source - terraform-pro"
},
{
"path": "docs/data-sources/route_target.md",
"chars": 484,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_route_target Data Source - terr"
},
{
"path": "docs/data-sources/site.md",
"chars": 829,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_site Data Source - terraform-pr"
},
{
"path": "docs/data-sources/site_group.md",
"chars": 760,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_site_group Data Source - terraf"
},
{
"path": "docs/data-sources/tag.md",
"chars": 491,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tag Data Source - terraform-pro"
},
{
"path": "docs/data-sources/tags.md",
"chars": 1091,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tags Data Source - terraform-pr"
},
{
"path": "docs/data-sources/tenant.md",
"chars": 618,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tenant Data Source - terraform-"
},
{
"path": "docs/data-sources/tenant_group.md",
"chars": 441,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tenant_group Data Source - terr"
},
{
"path": "docs/data-sources/tenants.md",
"chars": 1458,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tenants Data Source - terraform"
},
{
"path": "docs/data-sources/virtual_disk.md",
"chars": 1540,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_virtual_disk Data Source - terr"
},
{
"path": "docs/data-sources/virtual_machines.md",
"chars": 1672,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_virtual_machines Data Source - "
},
{
"path": "docs/data-sources/vlan.md",
"chars": 861,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlan Data Source - terraform-pr"
},
{
"path": "docs/data-sources/vlan_group.md",
"chars": 1319,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlan_group Data Source - terraf"
},
{
"path": "docs/data-sources/vlan_groups.md",
"chars": 1140,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlan_groups Data Source - terra"
},
{
"path": "docs/data-sources/vlans.md",
"chars": 947,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlans Data Source - terraform-p"
},
{
"path": "docs/data-sources/vrf.md",
"chars": 509,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vrf Data Source - terraform-pro"
},
{
"path": "docs/data-sources/vrfs.md",
"chars": 833,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vrfs Data Source - terraform-pr"
},
{
"path": "docs/index.md",
"chars": 4246,
"preview": "---\nlayout: \"\"\npage_title: \"Provider: Netbox\"\ndescription: |-\n The netbox provider provides resources and data sources "
},
{
"path": "docs/resources/aggregate.md",
"chars": 1513,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_aggregate Resource - terraform-"
},
{
"path": "docs/resources/asn.md",
"chars": 1630,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_asn Resource - terraform-provid"
},
{
"path": "docs/resources/available_ip_address.md",
"chars": 4072,
"preview": "---\npage_title: \"netbox_available_ip_address Resource - terraform-provider-netbox\"\nsubcategory: \"IP Address Management ("
},
{
"path": "docs/resources/available_prefix.md",
"chars": 1383,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_available_prefix Resource - ter"
},
{
"path": "docs/resources/available_vlan.md",
"chars": 1817,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_available_vlan Resource - terra"
},
{
"path": "docs/resources/cable.md",
"chars": 2888,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cable Resource - terraform-prov"
},
{
"path": "docs/resources/circuit.md",
"chars": 2743,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_circuit Resource - terraform-pr"
},
{
"path": "docs/resources/circuit_provider.md",
"chars": 1794,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_circuit_provider Resource - ter"
},
{
"path": "docs/resources/circuit_termination.md",
"chars": 3858,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_circuit_termination Resource - "
},
{
"path": "docs/resources/circuit_type.md",
"chars": 1066,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_circuit_type Resource - terrafo"
},
{
"path": "docs/resources/cluster.md",
"chars": 1998,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster Resource - terraform-pr"
},
{
"path": "docs/resources/cluster_group.md",
"chars": 1050,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster_group Resource - terraf"
},
{
"path": "docs/resources/cluster_type.md",
"chars": 1214,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_cluster_type Resource - terrafo"
},
{
"path": "docs/resources/config_context.md",
"chars": 1758,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_config_context Resource - terra"
},
{
"path": "docs/resources/config_template.md",
"chars": 1964,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_config_template Resource - terr"
},
{
"path": "docs/resources/contact.md",
"chars": 1823,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact Resource - terraform-pr"
},
{
"path": "docs/resources/contact_assignment.md",
"chars": 1385,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact_assignment Resource - t"
},
{
"path": "docs/resources/contact_group.md",
"chars": 1033,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact_group Resource - terraf"
},
{
"path": "docs/resources/contact_role.md",
"chars": 1034,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_contact_role Resource - terrafo"
},
{
"path": "docs/resources/custom_field.md",
"chars": 2977,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_custom_field Resource - terrafo"
},
{
"path": "docs/resources/custom_field_choice_set.md",
"chars": 2057,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_custom_field_choice_set Resourc"
},
{
"path": "docs/resources/device.md",
"chars": 3082,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device Resource - terraform-pro"
},
{
"path": "docs/resources/device_bay.md",
"chars": 3046,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_bay Resource - terraform"
},
{
"path": "docs/resources/device_bay_template.md",
"chars": 1414,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_bay_template Resource - "
},
{
"path": "docs/resources/device_console_port.md",
"chars": 2077,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_console_port Resource - "
},
{
"path": "docs/resources/device_console_server_port.md",
"chars": 2083,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_console_server_port Reso"
},
{
"path": "docs/resources/device_front_port.md",
"chars": 2866,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_front_port Resource - te"
},
{
"path": "docs/resources/device_interface.md",
"chars": 2310,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_interface Resource - ter"
},
{
"path": "docs/resources/device_module_bay.md",
"chars": 1794,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_module_bay Resource - te"
},
{
"path": "docs/resources/device_power_outlet.md",
"chars": 3952,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_power_outlet Resource - "
},
{
"path": "docs/resources/device_power_port.md",
"chars": 3048,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_power_port Resource - te"
},
{
"path": "docs/resources/device_primary_ip.md",
"chars": 1462,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_primary_ip Resource - te"
},
{
"path": "docs/resources/device_rear_port.md",
"chars": 2588,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_rear_port Resource - ter"
},
{
"path": "docs/resources/device_role.md",
"chars": 1317,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_role Resource - terrafor"
},
{
"path": "docs/resources/device_type.md",
"chars": 1599,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_device_type Resource - terrafor"
},
{
"path": "docs/resources/event_rule.md",
"chars": 2513,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_event_rule Resource - terraform"
},
{
"path": "docs/resources/group.md",
"chars": 589,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_group Resource - terraform-prov"
},
{
"path": "docs/resources/interface.md",
"chars": 2455,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_interface Resource - terraform-"
},
{
"path": "docs/resources/interface_template.md",
"chars": 1759,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_interface_template Resource - t"
},
{
"path": "docs/resources/inventory_item.md",
"chars": 2292,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_inventory_item Resource - terra"
},
{
"path": "docs/resources/inventory_item_role.md",
"chars": 1782,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_inventory_item_role Resource - "
},
{
"path": "docs/resources/ip_address.md",
"chars": 4922,
"preview": "---\npage_title: \"netbox_ip_address Resource - terraform-provider-netbox\"\nsubcategory: \"IP Address Management (IPAM)\"\ndes"
},
{
"path": "docs/resources/ip_range.md",
"chars": 1891,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ip_range Resource - terraform-p"
},
{
"path": "docs/resources/ipam_role.md",
"chars": 1205,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_ipam_role Resource - terraform-"
},
{
"path": "docs/resources/location.md",
"chars": 1845,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_location Resource - terraform-p"
},
{
"path": "docs/resources/mac_address.md",
"chars": 3600,
"preview": "---\npage_title: \"netbox_mac_address Resource - terraform-provider-netbox\"\nsubcategory: \"Data Center Inventory Management"
},
{
"path": "docs/resources/manufacturer.md",
"chars": 1318,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_manufacturer Resource - terrafo"
},
{
"path": "docs/resources/module.md",
"chars": 2667,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_module Resource - terraform-pro"
},
{
"path": "docs/resources/module_type.md",
"chars": 2003,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_module_type Resource - terrafor"
},
{
"path": "docs/resources/permission.md",
"chars": 2661,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_permission Resource - terraform"
},
{
"path": "docs/resources/platform.md",
"chars": 1482,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_platform Resource - terraform-p"
},
{
"path": "docs/resources/power_feed.md",
"chars": 2525,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_power_feed Resource - terraform"
},
{
"path": "docs/resources/power_panel.md",
"chars": 1935,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_power_panel Resource - terrafor"
},
{
"path": "docs/resources/prefix.md",
"chars": 2608,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_prefix Resource - terraform-pro"
},
{
"path": "docs/resources/primary_ip.md",
"chars": 1484,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_primary_ip Resource - terraform"
},
{
"path": "docs/resources/rack.md",
"chars": 3853,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rack Resource - terraform-provi"
},
{
"path": "docs/resources/rack_reservation.md",
"chars": 1823,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rack_reservation Resource - ter"
},
{
"path": "docs/resources/rack_role.md",
"chars": 1197,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rack_role Resource - terraform-"
},
{
"path": "docs/resources/rack_type.md",
"chars": 2151,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rack_type Resource - terraform-"
},
{
"path": "docs/resources/region.md",
"chars": 1683,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_region Resource - terraform-pro"
},
{
"path": "docs/resources/rir.md",
"chars": 1745,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_rir Resource - terraform-provid"
},
{
"path": "docs/resources/route_target.md",
"chars": 1733,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_route_target Resource - terrafo"
},
{
"path": "docs/resources/service.md",
"chars": 2458,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_service Resource - terraform-pr"
},
{
"path": "docs/resources/site.md",
"chars": 2323,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_site Resource - terraform-provi"
},
{
"path": "docs/resources/site_group.md",
"chars": 1894,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_site_group Resource - terraform"
},
{
"path": "docs/resources/tag.md",
"chars": 2025,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tag Resource - terraform-provid"
},
{
"path": "docs/resources/tenant.md",
"chars": 2015,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tenant Resource - terraform-pro"
},
{
"path": "docs/resources/tenant_group.md",
"chars": 1553,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_tenant_group Resource - terrafo"
},
{
"path": "docs/resources/token.md",
"chars": 1610,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_token Resource - terraform-prov"
},
{
"path": "docs/resources/user.md",
"chars": 876,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_user Resource - terraform-provi"
},
{
"path": "docs/resources/virtual_chassis.md",
"chars": 1684,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_virtual_chassis Resource - terr"
},
{
"path": "docs/resources/virtual_disk.md",
"chars": 1424,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_virtual_disk Resource - terrafo"
},
{
"path": "docs/resources/virtual_machine.md",
"chars": 3611,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_virtual_machine Resource - terr"
},
{
"path": "docs/resources/vlan.md",
"chars": 1757,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlan Resource - terraform-provi"
},
{
"path": "docs/resources/vlan_group.md",
"chars": 1546,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vlan_group Resource - terraform"
},
{
"path": "docs/resources/vpn_tunnel.md",
"chars": 1902,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vpn_tunnel Resource - terraform"
},
{
"path": "docs/resources/vpn_tunnel_group.md",
"chars": 1396,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vpn_tunnel_group Resource - ter"
},
{
"path": "docs/resources/vpn_tunnel_termination.md",
"chars": 2314,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vpn_tunnel_termination Resource"
},
{
"path": "docs/resources/vrf.md",
"chars": 1795,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_vrf Resource - terraform-provid"
},
{
"path": "docs/resources/webhook.md",
"chars": 2066,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_webhook Resource - terraform-pr"
},
{
"path": "docs/resources/wireless_lan.md",
"chars": 1244,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_wireless_lan Resource - terrafo"
},
{
"path": "docs/resources/wireless_lan_group.md",
"chars": 946,
"preview": "---\n# generated by https://github.com/fbreckle/terraform-plugin-docs\npage_title: \"netbox_wireless_lan_group Resource - t"
},
{
"path": "example/README.md",
"chars": 135,
"preview": "# example\n\nThis folder is not actively maintained, but can be used for local testing and as a small reference for using "
},
{
"path": "example/main.tf",
"chars": 3377,
"preview": "terraform {\n required_providers {\n netbox = {\n source = \"e-breuninger/netbox\"\n }\n }\n}\n\n# example provider c"
},
{
"path": "examples/data-sources/netbox_asn/data-source.tf",
"chars": 130,
"preview": "data \"netbox_asn\" \"asn_1\" {\n asn = \"1111\"\n tag = \"tag-1\"\n}\n\ndata \"netbox_asn\" \"asn_2\" {\n tag = \"tag-1\"\n tag__n = "
},
{
"path": "examples/data-sources/netbox_asns/data-source.tf",
"chars": 144,
"preview": "data \"netbox_asns\" \"asns\" {\n filter {\n name = \"asn__gte\"\n value = \"1000\"\n }\n filter {\n name = \"asn__lte\"\n "
},
{
"path": "examples/data-sources/netbox_cluster/data-source.tf",
"chars": 69,
"preview": "data \"netbox_cluster\" \"vmw_cluster_01\" {\n name = \"vmw-cluster-01\"\n}\n"
},
{
"path": "examples/data-sources/netbox_cluster_group/data-source.tf",
"chars": 61,
"preview": "data \"netbox_cluster_group\" \"dc_west\" {\n name = \"dc-west\"\n}\n"
},
{
"path": "examples/data-sources/netbox_clusters/data-source.tf",
"chars": 492,
"preview": "// Get all clusters of a specific type\ndata \"netbox_cluster_type\" \"vmware\" {\n name = \"VMware ESXi\"\n}\n\ndata \"netbox_clus"
},
{
"path": "examples/data-sources/netbox_device_render_config/data-source.tf",
"chars": 575,
"preview": "# Get the rendered configuration for a device\ndata \"netbox_device_render_config\" \"server_config\" {\n device_id = 60\n}\n\n#"
},
{
"path": "examples/data-sources/netbox_device_role/data-source.tf",
"chars": 59,
"preview": "data \"netbox_device_role\" \"core_sw\" {\n name = \"core-sw\"\n}\n"
},
{
"path": "examples/data-sources/netbox_device_type/data-source.tf",
"chars": 354,
"preview": "# Get device type by model name\ndata \"netbox_device_type\" \"ex1\" {\n model = \"7210 SAS-Sx 10/100GE\"\n}\n\n# Get device type "
},
{
"path": "examples/data-sources/netbox_interfaces/data-source.tf",
"chars": 116,
"preview": "data \"netbox_interfaces\" \"myvm_eth0\" {\n name_regex = \"eth0\"\n filter {\n name = \"name\"\n value = \"myvm\"\n }\n}\n"
},
{
"path": "examples/data-sources/netbox_ip_address/data-source.tf",
"chars": 54,
"preview": "data \"netbox_ip_address\" \"ip_address\" {\n id = 1001\n}\n"
},
{
"path": "examples/data-sources/netbox_ip_range/data-source.tf",
"chars": 68,
"preview": "data \"netbox_ip_range\" \"cust_a_prod\" {\n contains = \"10.0.0.1/24\"\n}\n"
},
{
"path": "examples/data-sources/netbox_platform/data-source.tf",
"chars": 52,
"preview": "data \"netbox_platform\" \"PANOS\" {\n name = \"PANOS\"\n}\n"
},
{
"path": "examples/data-sources/netbox_rir/data-source.tf",
"chars": 93,
"preview": "data \"netbox_rir\" \"rir_1\" {\n name = \"ARIN\"\n}\n\ndata \"netbox_rir\" \"rir_2\" {\n slug = \"arin\"\n}\n"
},
{
"path": "examples/data-sources/netbox_site/data-source.tf",
"chars": 127,
"preview": "data \"netbox_site\" \"get_by_name\" {\n name = \"Example Site 1\"\n}\n\ndata \"netbox_site\" \"get_by_slug\" {\n slug = \"example-sit"
},
{
"path": "examples/data-sources/netbox_site_group/data-source.tf",
"chars": 184,
"preview": "// Assumes the corresponding site groups exist\ndata \"netbox_site_group\" \"get_by_name\" {\n name = \"example-sitegroup-1\"\n}"
},
{
"path": "examples/data-sources/netbox_tag/data-source.tf",
"chars": 43,
"preview": "data \"netbox_tag\" \"dmz\" {\n name = \"DMZ\"\n}\n"
},
{
"path": "examples/data-sources/netbox_tags/data-source.tf",
"chars": 241,
"preview": "data \"netbox_tags\" \"all_tags\" {\n}\n\ndata \"netbox_tags\" \"ansible_tags\" {\n filter {\n name = \"name__isw\"\n value = \"a"
},
{
"path": "examples/data-sources/netbox_tenant/data-source.tf",
"chars": 60,
"preview": "data \"netbox_tenant\" \"customer_a\" {\n name = \"Customer A\"\n}\n"
},
{
"path": "examples/data-sources/netbox_virtual_disk/data-source.tf",
"chars": 533,
"preview": "# Filter by name\ndata \"netbox_virtual_disk\" \"disk_by_name\" {\n filter {\n name = \"name\"\n value = \"disk1\"\n }\n}\n\n# "
},
{
"path": "examples/data-sources/netbox_virtual_machines/data-source.tf",
"chars": 285,
"preview": "// Assumes vmw-cluster-01 exists as a cluster in Netbox\ndata \"netbox_cluster\" \"vmw_cluster_01\" {\n name = \"vmw-cluster-0"
},
{
"path": "examples/data-sources/netbox_vlan/data-source.tf",
"chars": 307,
"preview": "# Get VLAN by name\ndata \"netbox_vlan\" \"vlan1\" {\n name = \"vlan-1\"\n}\n\n# Get VLAN by VID and IPAM role ID\ndata \"netbox_vla"
},
{
"path": "examples/data-sources/netbox_vlan_group/data-source.tf",
"chars": 345,
"preview": "# Get VLAN group by name\ndata \"netbox_vlan_group\" \"example1\" {\n name = \"example1\"\n}\n\n# Get VLAN group by stub\ndata \"net"
},
{
"path": "examples/data-sources/netbox_vrf/data-source.tf",
"chars": 59,
"preview": "data \"netbox_vrf\" \"cust_a_prod\" {\n name = \"cust-a-prod\"\n}\n"
},
{
"path": "examples/provider/provider.tf",
"chars": 284,
"preview": "terraform {\n required_providers {\n netbox = {\n source = \"e-breuninger/netbox\"\n version = \"~> 3.2.1\"\n }"
},
{
"path": "examples/resources/netbox_aggregate/resource.tf",
"chars": 188,
"preview": "resource \"netbox_rir\" \"test\" {\n name = \"testrir\"\n}\nresource \"netbox_aggregate\" \"test\" {\n prefix = \"1.1.1.0/25\"\n "
},
{
"path": "examples/resources/netbox_asn/resource.tf",
"chars": 188,
"preview": "resource \"netbox_rir\" \"test\" {\n name = \"testrir\"\n}\n\nresource \"netbox_asn\" \"test\" {\n asn = 1337\n rir_id ="
},
{
"path": "examples/resources/netbox_available_ip_address/assign_to_interface.tf",
"chars": 506,
"preview": "// Assumes Netbox already has a VM whos name matches 'dc-west-myvm-20'\ndata \"netbox_virtual_machine\" \"myvm\" {\n name_reg"
},
{
"path": "examples/resources/netbox_available_ip_address/prefix.tf",
"chars": 147,
"preview": "data \"netbox_prefix\" \"test\" {\n cidr = \"10.0.0.0/24\"\n}\n\nresource \"netbox_available_ip_address\" \"test\" {\n prefix_id = da"
},
{
"path": "examples/resources/netbox_available_ip_address/range.tf",
"chars": 195,
"preview": "data \"netbox_ip_range\" \"test\" {\n start_address = \"10.0.0.1/24\"\n end_address = \"10.0.0.50/24\"\n}\n\nresource \"netbox_ava"
},
{
"path": "examples/resources/netbox_available_prefix/resource.tf",
"chars": 204,
"preview": "data \"netbox_prefix\" \"test\" {\n cidr = \"10.0.0.0/24\"\n}\n\nresource \"netbox_available_prefix\" \"test\" {\n parent_prefix_id ="
},
{
"path": "examples/resources/netbox_available_vlan/multiple.tf",
"chars": 1018,
"preview": "resource \"netbox_site\" \"testSite\" {\n name = \"test site\"\n slug = \"test-site\"\n}\n\nresource \"netbox_vlan_group\" \"group1\" {"
},
{
"path": "examples/resources/netbox_available_vlan/prefix.tf",
"chars": 790,
"preview": "resource \"netbox_site\" \"testSite\" {\n name = \"test site\"\n slug = \"test-site\"\n}\n\nresource \"netbox_vlan_group\" \"testGroup"
},
{
"path": "examples/resources/netbox_available_vlan/range.tf",
"chars": 1094,
"preview": "resource \"netbox_site\" \"testSite\" {\n name = \"test site\"\n slug = \"test-site\"\n}\n\nresource \"netbox_vlan_group\" \"testGroup"
},
{
"path": "examples/resources/netbox_available_vlan/site.tf",
"chars": 568,
"preview": "resource \"netbox_site\" \"testSite\" {\n name = \"test site\"\n slug = \"test-site\"\n}\n\nresource \"netbox_vlan_group\" \"testGroup"
},
{
"path": "examples/resources/netbox_cable/resource.tf",
"chars": 720,
"preview": "// assumes that the referenced console port resources exist\nresource \"netbox_cable\" \"test\" {\n a_termination {\n objec"
},
{
"path": "examples/resources/netbox_circuit/resource.tf",
"chars": 352,
"preview": "resource \"netbox_tenant\" \"test\" {\n name = \"test\"\n}\n\nresource \"netbox_circuit_provider\" \"test\" {\n name = \"test\"\n}\n\nreso"
},
{
"path": "examples/resources/netbox_circuit_provider/resource.tf",
"chars": 62,
"preview": "resource \"netbox_circuit_provider\" \"test\" {\n name = \"test\"\n}\n"
},
{
"path": "examples/resources/netbox_circuit_termination/resource.tf",
"chars": 581,
"preview": "resource \"netbox_site\" \"test\" {\n name = \"%[1]s\"\n status = \"active\"\n}\n\nresource \"netbox_circuit_provider\" \"test\" {\n "
},
{
"path": "examples/resources/netbox_circuit_type/resource.tf",
"chars": 58,
"preview": "resource \"netbox_circuit_type\" \"test\" {\n name = \"test\"\n}\n"
},
{
"path": "examples/resources/netbox_cluster/resource.tf",
"chars": 393,
"preview": "// Assumes the 'dc-west' cluster group already exists\ndata \"netbox_cluster_group\" \"dc_west\" {\n name = \"dc-west\"\n}\n\nreso"
},
{
"path": "examples/resources/netbox_cluster_group/resource.tf",
"chars": 114,
"preview": "resource \"netbox_cluster_group\" \"dc_west\" {\n description = \"West Datacenter Cluster\"\n name = \"dc-west\"\n}\n"
},
{
"path": "examples/resources/netbox_cluster_type/resource.tf",
"chars": 77,
"preview": "resource \"netbox_cluster_type\" \"vmw_vsphere\" {\n name = \"VMware vSphere 6\"\n}\n"
}
]
// ... and 370 more files (download for full content)
About this extraction
This page contains the full source code of the e-breuninger/terraform-provider-netbox GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 570 files (1.8 MB), approximately 534.3k tokens, and a symbol index with 1129 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.