This commit is contained in:
Mike McFetridge
2026-07-20 09:23:17 -04:00
parent c1315882da
commit 72272e4006
3179 changed files with 562960 additions and 14 deletions
@@ -0,0 +1,29 @@
data "netbird_network" "parent_network" {
name = "<< network_name >>"
}
<%- for group_name in group_names.split(',') %>
<%- if group_name|trim %>
data "netbird_group" "group_<< group_name|trim|replace(' ', '_')|replace('-', '_') >>" {
name = "<< group_name|trim >>"
}
<%- endif %>
<%- endfor %>
resource "netbird_network_resource" "network_resource" {
network_id = data.netbird_network.parent_network.id
name = "<< resource_name >>"
<%- if resource_description %>
description = "<< resource_description >>"
<%- endif %>
address = "<< resource_address >>"
groups = [
<%- for group_name in group_names.split(',') %>
<%- if group_name|trim %>
data.netbird_group.group_<< group_name|trim|replace(' ', '_')|replace('-', '_') >>.id,
<%- endif %>
<%- endfor %>
]
enabled = << resource_enabled | lower >>
}
@@ -0,0 +1,88 @@
{
"slug": "netbird-network-resource",
"kind": "terraform",
"metadata": {
"name": "NetBird Network Resource",
"description": "Creates a NetBird network resource and attaches it to one or more groups.",
"tags": [
"netbird",
"terraform"
],
"icon": {
"provider": "selfhst",
"id": "netbird"
},
"draft": true,
"version": {
"name": "0.0.15",
"source_dep_name": "manual/netbird-network-resource"
}
},
"variables": [
{
"title": "General",
"name": "general",
"items": [
{
"name": "resource_name",
"type": "str",
"title": "Name",
"required": true,
"config": {
"placeholder": "My Network Resource"
}
},
{
"name": "network_name",
"type": "str",
"title": "Network Name",
"required": true,
"description": "Existing NetBird network name for the parent network resource lookup.",
"config": {
"placeholder": "production-network"
}
},
{
"name": "resource_address",
"type": "str",
"title": "Address",
"required": true,
"description": "Host, subnet, or domain address for the resource.",
"config": {
"placeholder": "10.20.0.0/24"
}
},
{
"name": "group_names",
"type": "str",
"title": "Group Names",
"required": true,
"description": "Comma-separated existing NetBird group names to attach to this resource.",
"config": {
"placeholder": "Administrators, DevOps",
"textarea": true
},
"default": "Administrators"
},
{
"name": "resource_description",
"type": "str",
"title": "Description",
"required": false,
"description": "Optional description for the NetBird network resource.",
"config": {
"placeholder": "Internal application endpoint",
"textarea": true
}
},
{
"name": "resource_enabled",
"type": "bool",
"title": "Enabled",
"required": false,
"default": true
}
]
}
]
}