mirror of
https://github.com/netbirdio/terraform-provider-netbird.git
synced 2026-05-22 17:13:16 -07:00
Initial Version (#1)
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# See GitHub's documentation for more information on this file:
|
||||
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
|
||||
version: 2
|
||||
updates:
|
||||
# Maintain dependencies for Go modules
|
||||
- package-ecosystem: "gomod"
|
||||
directory: "/"
|
||||
schedule:
|
||||
# Check for updates to Go modules every weekday
|
||||
interval: "daily"
|
||||
- package-ecosystem: "gomod"
|
||||
directory: "/tools"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
@@ -0,0 +1,41 @@
|
||||
# Terraform Provider release workflow.
|
||||
name: Release
|
||||
|
||||
# This GitHub action creates a release when a tag that matches the pattern
|
||||
# "v*" (e.g. v0.1.0) is created.
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
# Releases need permissions to read and write the repository contents.
|
||||
# GitHub considers creating releases and uploading assets as writing contents.
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
goreleaser:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
with:
|
||||
# Allow goreleaser to access older tag information.
|
||||
fetch-depth: 0
|
||||
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec # v6.3.0
|
||||
id: import_gpg
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.PASSPHRASE }}
|
||||
- name: Run GoReleaser
|
||||
uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6.3.0
|
||||
with:
|
||||
args: release --clean
|
||||
env:
|
||||
# GitHub sets the GITHUB_TOKEN secret automatically.
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }}
|
||||
@@ -0,0 +1,85 @@
|
||||
# Terraform Provider testing workflow.
|
||||
name: Tests
|
||||
|
||||
# This GitHub action runs your tests for each pull request and push.
|
||||
# Optionally, you can turn it on using a schedule for regular testing.
|
||||
on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'README.md'
|
||||
push:
|
||||
paths-ignore:
|
||||
- 'README.md'
|
||||
|
||||
# Testing only needs permissions to read the repository contents.
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
# Ensure project builds before running testing matrix
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
- run: go mod download
|
||||
- run: go build -v .
|
||||
- name: Run linters
|
||||
uses: golangci/golangci-lint-action@1481404843c368bc19ca9406f87d6e0fc97bdcfd # v7.0.0
|
||||
with:
|
||||
version: latest
|
||||
|
||||
generate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
# We need the latest version of Terraform for our documentation generation to use
|
||||
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
|
||||
with:
|
||||
terraform_wrapper: false
|
||||
- run: make generate
|
||||
- name: git diff
|
||||
run: |
|
||||
git diff --compact-summary --exit-code || \
|
||||
(echo; echo "Unexpected difference in directories after code generation. Run 'make generate' command and commit."; exit 1)
|
||||
|
||||
# Run acceptance tests in a matrix with Terraform CLI versions
|
||||
test:
|
||||
name: Terraform Provider Acceptance Tests
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 15
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# list whatever Terraform versions here you would like to support
|
||||
terraform:
|
||||
- '1.0.*'
|
||||
- '1.1.*'
|
||||
- '1.2.*'
|
||||
- '1.3.*'
|
||||
- '1.4.*'
|
||||
steps:
|
||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
||||
- uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
|
||||
with:
|
||||
go-version-file: 'go.mod'
|
||||
cache: true
|
||||
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
|
||||
with:
|
||||
terraform_version: ${{ matrix.terraform }}
|
||||
terraform_wrapper: false
|
||||
- run: go mod download
|
||||
- env:
|
||||
TF_ACC: "1"
|
||||
run: go test -v -cover ./internal/provider/
|
||||
timeout-minutes: 10
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
*.dll
|
||||
*.exe
|
||||
.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
|
||||
@@ -0,0 +1,44 @@
|
||||
# Copyright (c) HashiCorp, Inc.
|
||||
|
||||
version: "2"
|
||||
linters:
|
||||
default: none
|
||||
enable:
|
||||
- copyloopvar
|
||||
- durationcheck
|
||||
- errcheck
|
||||
- forcetypeassert
|
||||
- godot
|
||||
- ineffassign
|
||||
- makezero
|
||||
- misspell
|
||||
- nilerr
|
||||
- predeclared
|
||||
- staticcheck
|
||||
- unconvert
|
||||
- unparam
|
||||
- unused
|
||||
- usetesting
|
||||
exclusions:
|
||||
generated: lax
|
||||
presets:
|
||||
- comments
|
||||
- common-false-positives
|
||||
- legacy
|
||||
- std-error-handling
|
||||
paths:
|
||||
- third_party$
|
||||
- builtin$
|
||||
- examples$
|
||||
issues:
|
||||
max-issues-per-linter: 0
|
||||
max-same-issues: 0
|
||||
formatters:
|
||||
enable:
|
||||
- gofmt
|
||||
exclusions:
|
||||
generated: lax
|
||||
paths:
|
||||
- third_party$
|
||||
- builtin$
|
||||
- examples$
|
||||
@@ -0,0 +1,63 @@
|
||||
# Copyright (c) HashiCorp, Inc.
|
||||
|
||||
# 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 HCP Terraform 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:
|
||||
extra_files:
|
||||
- glob: 'terraform-registry-manifest.json'
|
||||
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json'
|
||||
name_template: '{{ .ProjectName }}_{{ .Version }}_SHA256SUMS'
|
||||
algorithm: sha256
|
||||
signs:
|
||||
- artifacts: checksum
|
||||
args:
|
||||
# if you are using this in 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:
|
||||
extra_files:
|
||||
- glob: 'terraform-registry-manifest.json'
|
||||
name_template: '{{ .ProjectName }}_{{ .Version }}_manifest.json'
|
||||
# If you want to manually examine the release before its live, uncomment this line:
|
||||
# draft: true
|
||||
changelog:
|
||||
disable: true
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
default: fmt lint install generate
|
||||
|
||||
build:
|
||||
go build -v ./...
|
||||
|
||||
install: build
|
||||
go install -v ./...
|
||||
|
||||
lint:
|
||||
golangci-lint run
|
||||
|
||||
generate:
|
||||
cd tools; go generate ./...
|
||||
|
||||
fmt:
|
||||
gofmt -s -w -e .
|
||||
|
||||
test:
|
||||
go test -v -cover -timeout=120s -parallel=10 ./...
|
||||
|
||||
testacc:
|
||||
TF_ACC=1 go test -v -cover -timeout 120m ./...
|
||||
|
||||
.PHONY: fmt lint test testacc build install generate
|
||||
@@ -0,0 +1,53 @@
|
||||
# NetBird Terraform Provider
|
||||
|
||||
A Terraform Provider for managing your [NetBird](https://netbird.io) Account and its resources.
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Terraform](https://developer.hashicorp.com/terraform/downloads) >= 1.0
|
||||
- [Go](https://golang.org/doc/install) >= 1.23
|
||||
- [NetBird Account](https://docs.netbird.io/)
|
||||
|
||||
## Building The Provider
|
||||
|
||||
1. Clone the repository
|
||||
1. Enter the repository directory
|
||||
1. Build the provider using the Go `install` command:
|
||||
|
||||
```shell
|
||||
go install
|
||||
```
|
||||
|
||||
## Adding Dependencies
|
||||
|
||||
This provider uses [Go modules](https://github.com/golang/go/wiki/Modules).
|
||||
Please see the Go documentation for the most up to date information about using Go modules.
|
||||
|
||||
To add a new dependency `github.com/author/dependency` to your Terraform provider:
|
||||
|
||||
```shell
|
||||
go get github.com/author/dependency
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
Then commit the changes to `go.mod` and `go.sum`.
|
||||
|
||||
## Using the provider
|
||||
|
||||
Check usage in [docs](./docs/index.md).
|
||||
|
||||
## Developing the Provider
|
||||
|
||||
If you wish to work on the provider, you'll first need [Go](http://www.golang.org) installed on your machine (see [Requirements](#requirements) above).
|
||||
|
||||
To compile the provider, run `go install`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.
|
||||
|
||||
To generate or update documentation, run `make generate`.
|
||||
|
||||
In order to run the full suite of Acceptance tests, run `make testacc`.
|
||||
|
||||
*Note:* Acceptance tests create real resources, and often cost money to run.
|
||||
|
||||
```shell
|
||||
make testacc
|
||||
```
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_account Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Account-wide Settings
|
||||
---
|
||||
|
||||
# netbird_account (Data Source)
|
||||
|
||||
Read Account-wide Settings
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `groups_propagation_enabled` (Boolean) Allows propagate the new user auto groups to peers that belongs to the user
|
||||
- `id` (String) The unique identifier of an account
|
||||
- `jwt_allow_groups` (List of String) List of groups to which users are allowed access
|
||||
- `jwt_groups_claim_name` (String) Name of the claim from which we extract groups names to add it to account groups.
|
||||
- `jwt_groups_enabled` (Boolean) Allows extract groups from JWT claim and add it to account groups.
|
||||
- `network_traffic_logs_enabled` (Boolean) Enables or disables network traffic logging. If enabled, all network traffic events from peers will be stored.
|
||||
- `network_traffic_packet_counter_enabled` (Boolean) Enables or disables network traffic packet counter. If enabled, network packets and their size will be counted and reported. (This can have an slight impact on performance)
|
||||
- `peer_approval_enabled` (Boolean) (Cloud only) Enables or disables peer approval globally. If enabled, all peers added will be in pending state until approved by an admin.
|
||||
- `peer_inactivity_expiration` (Number) Period of time of inactivity after which peer session expires (seconds).
|
||||
- `peer_inactivity_expiration_enabled` (Boolean) Enables or disables peer inactivity expiration globally. After peer's session has expired the user has to log in (authenticate). Applies only to peers that were added by a user (interactive SSO login).
|
||||
- `peer_login_expiration` (Number) Period of time after which peer login expires (seconds).
|
||||
- `peer_login_expiration_enabled` (Boolean) Enables or disables peer login expiration globally. After peer's login has expired the user has to log in (authenticate). Applies only to peers that were added by a user (interactive SSO login).
|
||||
- `regular_users_view_blocked` (Boolean) Allows blocking regular users from viewing parts of the system.
|
||||
- `routing_peer_dns_resolution_enabled` (Boolean) Enables or disables DNS resolution on the routing peers
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_dns_settings Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read DNS Management Settings
|
||||
---
|
||||
|
||||
# netbird_dns_settings (Data Source)
|
||||
|
||||
Read DNS Management Settings
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `extra_dns_labels` (List of String) Groups whose DNS management is disabled
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_group Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Group metadata and associated resources and peers, see NetBird Docs https://docs.netbird.io/how-to/manage-network-access#groups for more information.
|
||||
---
|
||||
|
||||
# netbird_group (Data Source)
|
||||
|
||||
Read Group metadata and associated resources and peers, see [NetBird Docs](https://docs.netbird.io/how-to/manage-network-access#groups) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) Group ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `issued` (String) Group issued by
|
||||
- `name` (String) Group name identifier
|
||||
- `peers` (List of String) List of peers ids
|
||||
- `peers_count` (Number) Group peers count
|
||||
- `resources` (List of String) List of network resource ids
|
||||
- `resources_count` (Number) Group resources count
|
||||
@@ -0,0 +1,40 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_nameserver_group Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Nameserver Group settings
|
||||
---
|
||||
|
||||
# netbird_nameserver_group (Data Source)
|
||||
|
||||
Read Nameserver Group settings
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) NameserverGroup ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) Description of the nameserver group
|
||||
- `domains` (List of String) Match domain list. It should be empty only if primary is true.
|
||||
- `enabled` (Boolean) Nameserver group status
|
||||
- `groups` (List of String) Distribution group IDs that defines group of peers that will use this nameserver group
|
||||
- `name` (String) Name of nameserver group
|
||||
- `nameservers` (Attributes List) Nameserver list (see [below for nested schema](#nestedatt--nameservers))
|
||||
- `primary` (Boolean) Defines if a nameserver group is primary that resolves all domains. It should be true only if domains list is empty.
|
||||
- `search_domains_enabled` (Boolean) Search domain status for match domains. It should be true only if domains list is not empty.
|
||||
|
||||
<a id="nestedatt--nameservers"></a>
|
||||
### Nested Schema for `nameservers`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `ip` (String) Nameserver IP
|
||||
- `ns_type` (String) Nameserver Type
|
||||
- `port` (Number) Nameserver Port
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_network Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Network Settings and Metadata, see NetBird Docs https://docs.netbird.io/how-to/networks for more information.
|
||||
---
|
||||
|
||||
# netbird_network (Data Source)
|
||||
|
||||
Read Network Settings and Metadata, see [NetBird Docs](https://docs.netbird.io/how-to/networks) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) Network ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) Network Description
|
||||
- `name` (String) Network Name
|
||||
- `policies` (List of String) Policy IDs associated with resources inside this Network
|
||||
- `resources` (List of String) Network Resource IDs
|
||||
- `routers` (List of String) Network Router IDs
|
||||
- `routing_peers_count` (Number) Total number of peers inside all Network Routers
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_network_resource Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Network Resource settings and metadata, see NetBird Docs https://docs.netbird.io/how-to/networks#resources for more information.
|
||||
---
|
||||
|
||||
# netbird_network_resource (Data Source)
|
||||
|
||||
Read Network Resource settings and metadata, see [NetBird Docs](https://docs.netbird.io/how-to/networks#resources) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) The unique identifier of a resource
|
||||
- `network_id` (String) The unique identifier of a network
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `address` (String) Network resource address (either a direct host like 1.1.1.1 or 1.1.1.1/32, or a subnet like 192.168.178.0/24, or domains like example.com and *.example.com)
|
||||
- `description` (String) NetworkResource Description
|
||||
- `enabled` (Boolean) NetworkResource status
|
||||
- `groups` (List of String) Group IDs containing the resource
|
||||
- `name` (String) NetworkResource Name
|
||||
@@ -0,0 +1,29 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_network_router Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Network Router settings and metadata, see NetBird Docs https://docs.netbird.io/how-to/networks#routing-peers for more information.
|
||||
---
|
||||
|
||||
# netbird_network_router (Data Source)
|
||||
|
||||
Read Network Router settings and metadata, see [NetBird Docs](https://docs.netbird.io/how-to/networks#routing-peers) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) The unique identifier of a router
|
||||
- `network_id` (String) The unique identifier of a network
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `enabled` (Boolean) Network router status
|
||||
- `masquerade` (Boolean) Indicate if peer should masquerade traffic to this route's prefix
|
||||
- `metric` (Number) Route metric number. Lowest number has higher priority
|
||||
- `peer` (String) Peer Identifier associated with route. This property can not be set together with peer_groups
|
||||
- `peer_groups` (List of String) Peers Group Identifier associated with route. This property can not be set together with peer
|
||||
@@ -0,0 +1,50 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_peer Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Peer information.
|
||||
---
|
||||
|
||||
# netbird_peer (Data Source)
|
||||
|
||||
Read Peer information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) Peer ID
|
||||
|
||||
### Optional
|
||||
|
||||
- `approval_required` (Boolean) Indicates whether peer needs approval
|
||||
- `groups` (List of String) Peer groups
|
||||
- `inactivity_expiration_enabled` (Boolean) Enable inactivity expiration for peer
|
||||
- `login_expiration_enabled` (Boolean) Indicates whether login expiration is enabled for peer
|
||||
- `name` (String) Peer Name
|
||||
- `ssh_enabled` (Boolean) Enable SSH to Peer
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `city_name` (String) Peer city name
|
||||
- `connected` (Boolean) Peer Connection Status
|
||||
- `connection_ip` (String) Peer Public IP
|
||||
- `country_code` (String) Peer country code
|
||||
- `dns_label` (String) Peer DNS Label
|
||||
- `extra_dns_labels` (List of String) Peer extra DNS Labels
|
||||
- `geoname_id` (Number) Peer Location ID
|
||||
- `hostname` (String) Peer's HOSTNAME
|
||||
- `ip` (String) Peer IP
|
||||
- `kernel_version` (String) Peer Kernel Version
|
||||
- `last_login` (String) Time of peer last login
|
||||
- `last_seen` (String) Peer Last Seen timedate
|
||||
- `login_expired` (Boolean) Indicates whether peer login is expired
|
||||
- `os` (String) Peer OS
|
||||
- `serial_number` (String) Peer device serial number
|
||||
- `ui_version` (String) Peer UI Version
|
||||
- `user_id` (String) User ID of peer
|
||||
- `version` (String) Peer Version
|
||||
@@ -0,0 +1,61 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_policy Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Policy Settings, See NetBird Docs https://docs.netbird.io/how-to/manage-network-access#policies for more information.
|
||||
---
|
||||
|
||||
# netbird_policy (Data Source)
|
||||
|
||||
Read Policy Settings, See [NetBird Docs](https://docs.netbird.io/how-to/manage-network-access#policies) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) Policy ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `action` (String) Policy Rule Action (accept|drop)
|
||||
- `bidirectional` (Boolean) Policy Rule Bidirectional
|
||||
- `description` (String) Policy description
|
||||
- `destination_resource` (Object) Policy Rule Destination Resource (mutually exclusive with destinations) (see [below for nested schema](#nestedatt--destination_resource))
|
||||
- `destinations` (List of String) Policy Rule Destination Groups (mutually exclusive with destination_resource)
|
||||
- `enabled` (Boolean) Policy Rule Enabled
|
||||
- `name` (String) Policy Name
|
||||
- `port_ranges` (Attributes List) Policy Rule Port Ranges (mutually exclusive with ports) (see [below for nested schema](#nestedatt--port_ranges))
|
||||
- `ports` (List of String) Policy Rule Ports (mutually exclusive with port_ranges)
|
||||
- `protocol` (String) Policy Rule Protocol (tcp|udp|icmp|all)
|
||||
- `source_resource` (Object) Policy Rule Source Resource (mutually exclusive with sources) (see [below for nested schema](#nestedatt--source_resource))
|
||||
- `sources` (List of String) Policy Rule Source Groups (mutually exclusive with source_resource)
|
||||
|
||||
<a id="nestedatt--destination_resource"></a>
|
||||
### Nested Schema for `destination_resource`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `id` (String)
|
||||
- `type` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--port_ranges"></a>
|
||||
### Nested Schema for `port_ranges`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `end` (Number)
|
||||
- `start` (Number)
|
||||
|
||||
|
||||
<a id="nestedatt--source_resource"></a>
|
||||
### Nested Schema for `source_resource`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `id` (String)
|
||||
- `type` (String)
|
||||
@@ -0,0 +1,86 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_posture_check Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Posture Check settings, see NetBird Docs https://docs.netbird.io/how-to/manage-posture-checks for more information.
|
||||
---
|
||||
|
||||
# netbird_posture_check (Data Source)
|
||||
|
||||
Read Posture Check settings, see [NetBird Docs](https://docs.netbird.io/how-to/manage-posture-checks) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) PostureCheck ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `description` (String) PostureCheck description
|
||||
- `geo_location_check` (Attributes) (see [below for nested schema](#nestedatt--geo_location_check))
|
||||
- `name` (String) PostureCheck Name
|
||||
- `netbird_version_check` (Attributes) (see [below for nested schema](#nestedatt--netbird_version_check))
|
||||
- `os_version_check` (Attributes) (see [below for nested schema](#nestedatt--os_version_check))
|
||||
- `peer_network_range_check` (Attributes) (see [below for nested schema](#nestedatt--peer_network_range_check))
|
||||
- `process_check` (Attributes List) (see [below for nested schema](#nestedatt--process_check))
|
||||
|
||||
<a id="nestedatt--geo_location_check"></a>
|
||||
### Nested Schema for `geo_location_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `action` (String)
|
||||
- `locations` (Attributes List) (see [below for nested schema](#nestedatt--geo_location_check--locations))
|
||||
|
||||
<a id="nestedatt--geo_location_check--locations"></a>
|
||||
### Nested Schema for `geo_location_check.locations`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `city_name` (String)
|
||||
- `country_code` (String)
|
||||
|
||||
|
||||
|
||||
<a id="nestedatt--netbird_version_check"></a>
|
||||
### Nested Schema for `netbird_version_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `min_version` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--os_version_check"></a>
|
||||
### Nested Schema for `os_version_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `android_min_version` (String)
|
||||
- `darwin_min_version` (String)
|
||||
- `ios_min_version` (String)
|
||||
- `linux_min_kernel_version` (String)
|
||||
- `windows_min_kernel_version` (String)
|
||||
|
||||
|
||||
<a id="nestedatt--peer_network_range_check"></a>
|
||||
### Nested Schema for `peer_network_range_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `action` (String)
|
||||
- `ranges` (List of String)
|
||||
|
||||
|
||||
<a id="nestedatt--process_check"></a>
|
||||
### Nested Schema for `process_check`
|
||||
|
||||
Read-Only:
|
||||
|
||||
- `linux_path` (String)
|
||||
- `mac_path` (String)
|
||||
- `windows_path` (String)
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_setup_key Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read SetupKey settings and metadata, see NetBird Docs https://docs.netbird.io/how-to/register-machines-using-setup-keys for more information.
|
||||
---
|
||||
|
||||
# netbird_setup_key (Data Source)
|
||||
|
||||
Read SetupKey settings and metadata, see [NetBird Docs](https://docs.netbird.io/how-to/register-machines-using-setup-keys) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) SetupKey ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `allow_extra_dns_labels` (Boolean)
|
||||
- `auto_groups` (List of String)
|
||||
- `ephemeral` (Boolean)
|
||||
- `expires` (String) SetupKey Expiration Date
|
||||
- `key` (String) Plaintext setup key
|
||||
- `last_used` (String) Last usage time
|
||||
- `name` (String) SetupKey Name
|
||||
- `revoked` (Boolean)
|
||||
- `state` (String)
|
||||
- `type` (String)
|
||||
- `updated_at` (String) Creation timestamp
|
||||
- `usage_limit` (Number)
|
||||
- `used_times` (Number)
|
||||
- `valid` (Boolean)
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
# generated by https://github.com/hashicorp/terraform-plugin-docs
|
||||
page_title: "netbird_token Data Source - netbird"
|
||||
subcategory: ""
|
||||
description: |-
|
||||
Read Personal Access Token metadata, see NetBird Docs https://docs.netbird.io/how-to/access-netbird-public-api#creating-an-access-token for more information.
|
||||
---
|
||||
|
||||
# netbird_token (Data Source)
|
||||
|
||||
Read Personal Access Token metadata, see [NetBird Docs](https://docs.netbird.io/how-to/access-netbird-public-api#creating-an-access-token) for more information.
|
||||
|
||||
|
||||
|
||||
<!-- schema generated by tfplugindocs -->
|
||||
## Schema
|
||||
|
||||
### Required
|
||||
|
||||
- `id` (String) Token ID
|
||||
- `user_id` (String) User ID
|
||||
|
||||
### Read-Only
|
||||
|
||||
- `created_at` (String) Creation timestamp
|
||||
- `expiration_date` (String) Token Expiration Date
|
||||
- `last_used` (String) Last usage time
|
||||
- `name` (String) Token Name
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user