Fork for Threshold: rename module, use Threshold api/sdk, rebrand docs, add CI

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
shadowdaoandClaude Sonnet 5.5 committed 2026-10-12 12:07:42 -07:00
1 parent ccd0af3029
commit f763123afa
147 files changed
+627 -951

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
name: ci
on:
push:
branches: [main]
tags-ignore: ['**']
workflow_dispatch:
schedule:
- cron: '17 6 * * *'
env:
GOPRIVATE: repo.anhonesthost.net
GOFLAGS: -buildvcs=false
jobs:
ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache: false
- name: Build
run: go build ./...
- name: Vet
run: go vet ./...
- name: Unit tests (no controller required)
run: make test
- name: Build release binary (linux/amd64)
run: |
CGO_ENABLED=0 go build -trimpath -o "$RUNNER_TEMP/terraform-provider-threshold" .
test -x "$RUNNER_TEMP/terraform-provider-threshold"
- name: govulncheck
run: |
go install golang.org/x/vuln/cmd/govulncheck@v1.9.0
"$(go env GOPATH)/bin/govulncheck" ./...
- name: osv-scanner
run: |
go install github.com/google/osv-scanner/v2/cmd/osv-scanner@v2.7.0
"$(go env GOPATH)/bin/osv-scanner" scan source -r .
-44
View File
@@ -1,44 +0,0 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
# See GitHub's docs for more information on this file:
# https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every Sunday
interval: "weekly"
day: "sunday"
groups:
# Group all GitHub Actions updates into a single PR
actions:
patterns:
- "*"
- package-ecosystem: "gomod"
directories:
- "/"
- "/plugins/kms/mains/alicloudkms"
- "/plugins/kms/mains/awskms"
- "/plugins/kms/mains/azurekeyvault"
- "/plugins/kms/mains/gcpckms"
- "/plugins/kms/mains/ocikms"
- "/plugins/kms/mains/transit"
schedule:
# Check for updates to Go modules every Sunday
interval: "weekly"
day: "sunday"
groups:
# Group all Go module updates into one PR for version updates
# and one for security updates.
go:
patterns:
- "*"
applies-to: "version-updates"
go-security:
patterns:
- "*"
applies-to: "security-updates"
-15
View File
@@ -1,15 +0,0 @@
name: Lint GitHub Actions workflows
on: push
permissions:
contents: read
jobs:
actionlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Check workflow files
uses: docker://docker.mirror.hashicorp.services/rhysd/actionlint@sha256:02ccb6d91e4cb4a7b21eb99d5274d257e81ae667688d730e89d7ea0d6d35db91
with:
args: -color
-200
View File
@@ -1,200 +0,0 @@
# Copyright (c) HashiCorp, Inc.
# SPDX-License-Identifier: MPL-2.0
#
# This workflow builds the product for all supported platforms and uploads the resulting
# binaries as Actions artifacts. The workflow also uploads a build metadata file
# (metadata.json) -- and a Terraform Registry manifest file (terraform-registry-manifest.json).
#
# Reference: https://github.com/hashicorp/terraform-provider-crt-example/blob/main/.github/workflows/README.md
#
name: build
# We default to running this workflow on every push to every branch.
# This provides fast feedback when build issues occur, so they can be
# fixed prior to being merged to the main branch.
#
# If you want to opt out of this, and only run the build on certain branches
# please refer to the documentation on branch filtering here:
#
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushbranchestagsbranches-ignoretags-ignore
#
on: [workflow_dispatch, push]
env:
PKG_NAME: "terraform-provider-boundary"
permissions:
contents: read
jobs:
# Detects the Go version to use for builds.
get-go-version:
name: "Detect Go toolchain version"
runs-on: ubuntu-latest
outputs:
go-version: ${{ steps.get-go-version.outputs.go-version }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Detect Go version
id: get-go-version
# We use .go-version as our source of truth for current Go version,
# because "goenv" can react to it automatically.
run: |
echo "Building with Go $(cat .go-version)"
echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: "${{ steps.get-go-version.outputs.go-version }}"
cache: false
# Parses the version/VERSION file. Reference: https://github.com/hashicorp/actions-set-product-version/blob/main/README.md
#
# > This action should be implemented in product repo `build.yml` files. The action is intended to grab the version
# > from the version file at the beginning of the build, then passes those versions (along with metadata, where
# > necessary) to any workflow jobs that need version information.
set-product-version:
name: "Parse version file"
runs-on: ubuntu-latest
outputs:
product-version: ${{ steps.set-product-version.outputs.product-version }}
product-base-version: ${{ steps.set-product-version.outputs.base-product-version }}
product-prerelease-version: ${{ steps.set-product-version.outputs.prerelease-product-version }}
product-minor-version: ${{ steps.set-product-version.outputs.minor-product-version }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set variables
id: set-product-version
uses: hashicorp/actions-set-product-version@v2
with:
checkout: false
# Creates metadata.json file containing build metadata for consumption by CRT workflows.
#
# Reference: https://github.com/hashicorp/actions-generate-metadata/blob/main/README.md
generate-metadata-file:
needs: set-product-version
runs-on: ubuntu-latest
outputs:
filepath: ${{ steps.generate-metadata-file.outputs.filepath }}
steps:
- name: "Checkout directory"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Generate metadata file
id: generate-metadata-file
uses: hashicorp/actions-generate-metadata@v1
with:
version: ${{ needs.set-product-version.outputs.product-version }}
product: ${{ env.PKG_NAME }}
repositoryOwner: "hashicorp"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: metadata.json
path: ${{ steps.generate-metadata-file.outputs.filepath }}
# Uploads an Actions artifact named terraform-registry-manifest.json.zip.
#
# The artifact contains a single file with a filename that Terraform Registry expects
# (example: terraform-provider-crt-example_2.3.6-alpha1_manifest.json). The file contents
# are identical to the terraform-registry-manifest.json file in the source repository.
upload-terraform-registry-manifest-artifact:
needs: set-product-version
runs-on: ubuntu-latest
steps:
- name: "Checkout directory"
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
path: ${{ env.PKG_NAME }}
- name: "Copy manifest from checkout directory to a file with the desired name"
id: terraform-registry-manifest
run: |
name="${{ env.PKG_NAME }}"
version="${{ needs.set-product-version.outputs.product-version }}"
source="${name}/terraform-registry-manifest.json"
destination="${name}_${version}_manifest.json"
cp "$source" "$destination"
echo "filename=$destination" >> "$GITHUB_OUTPUT"
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: terraform-registry-manifest.json
path: ${{ steps.terraform-registry-manifest.outputs.filename }}
if-no-files-found: error
# Builds the product for supported platforms.
#
# With `reproducible: report`, this job also reports whether the build is reproducible,
# but does not enforce it.
#
# Reference: https://github.com/hashicorp/actions-go-build/blob/main/README.md
build:
needs:
- get-go-version
- set-product-version
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
goos: [freebsd, windows, linux, darwin]
goarch: ["386", "amd64", "arm", "arm64"]
exclude:
- goos: freebsd
goarch: arm64
- goos: windows
goarch: arm64
- goos: windows
goarch: arm
- goos: darwin
goarch: 386
- goos: darwin
goarch: arm
name: Go ${{ needs.get-go-version.outputs.go-version }} ${{ matrix.goos }} ${{ matrix.goarch }} build
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: hashicorp/actions-go-build@v1
env:
CGO_ENABLED: 0
BASE_VERSION: ${{ needs.set-product-version.outputs.product-base-version }}
PRERELEASE_VERSION: ${{ needs.set-product-version.outputs.product-prerelease-version}}
METADATA_VERSION: ${{ env.METADATA }}
with:
bin_name: "${{ env.PKG_NAME }}_v${{ needs.set-product-version.outputs.product-version }}_x5"
product_name: ${{ env.PKG_NAME }}
product_version: ${{ needs.set-product-version.outputs.product-version }}
go_version: ${{ needs.get-go-version.outputs.go-version }}
os: ${{ matrix.goos }}
arch: ${{ matrix.goarch }}
reproducible: report
instructions: |
go mod download && ./scripts/plugins-all.sh
go build \
-o "$BIN_PATH" \
-trimpath \
-buildvcs=false \
-ldflags "-s -w -X 'main.version=${{ needs.set-product-version.outputs.product-version }}'"
cp LICENSE "$TARGET_DIR/LICENSE.txt"
whats-next:
needs:
- build
- generate-metadata-file
- upload-terraform-registry-manifest-artifact
runs-on: ubuntu-latest
name: "What's next?"
steps:
- name: "Write a helpful summary"
run: |
github_dot_com="${{ github.server_url }}"
owner_with_name="${{ github.repository }}"
ref="${{ github.ref }}"
{
echo "### What's next?"
echo "#### For a release branch (see \`.release/ci.hcl\`)"
echo "After this \`build\` workflow run completes succesfully, you can expect the CRT \`prepare\` workflow to begin momentarily."
echo "To find the \`prepare\` workflow run, [view the checks for this commit]($github_dot_com/$owner_with_name/commits/$ref)"
} >> "$GITHUB_STEP_SUMMARY"
-43
View File
@@ -1,43 +0,0 @@
name: "make-gen-delta"
on:
- workflow_dispatch
- push
- pull_request
- workflow_call
permissions:
contents: read
jobs:
make-gen-delta:
name: "Check for uncommitted changes from make gen"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: '0'
- name: Determine Go version
id: get-go-version
# We use .go-version as our source of truth for current Go
# version, because "goenv" can react to it automatically.
run: |
echo "Building with Go $(cat .go-version)"
echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: "${{ steps.get-go-version.outputs.go-version }}"
- name: Running go mod tidy
run: |
go mod tidy
- name: Install Dependencies
run: |
make tools
- name: Running make gen
run: |
make gen
- name: Check for changes
run: |
git diff --exit-code
git status --porcelain
test -z "$(git status --porcelain)"
-87
View File
@@ -1,87 +0,0 @@
name: test
on:
- push
- pull_request
- workflow_dispatch
- workflow_call
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
if: github.event.pull_request.head.repo.fork != 'true'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Determine go version
id: get-go-version
# We use .go-version as our source of truth for current Go
# version, because "goenv" can react to it automatically.
run: |
echo "Building with Go $(cat .go-version)"
echo "go-version=$(cat .go-version)" >> "$GITHUB_OUTPUT"
- name: Set up Go
uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0
with:
go-version: "${{ steps.get-go-version.outputs.go-version }}"
cache: false
- name: Determine Go cache paths
id: go-cache-paths
run: |
echo "go-build=$(go env GOCACHE)" >> "$GITHUB_OUTPUT"
echo "go-mod=$(go env GOMODCACHE)" >> "$GITHUB_OUTPUT"
- name: Set up Go modules cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: |
${{ steps.go-cache-paths.outputs.go-build }}
${{ steps.go-cache-paths.outputs.go-mod }}
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go
- name: Determine boundary version
id: get-boundary-version
run: |
echo "Testing with boundary-enterprise $(cat .boundary-version)"
echo "boundary-version=$(cat .boundary-version)" >> "$GITHUB_OUTPUT"
- name: Download boundary-enterprise
run: |
VERSION="${{ steps.get-boundary-version.outputs.boundary-version }}"
release=$(curl -s "https://api.releases.hashicorp.com/v1/releases/boundary/${VERSION}?license_class=enterprise")
binary_url=$(echo "$release" | jq -r '.builds[] | select(.os == "linux" and .arch == "amd64") | .url')
shasums_url=$(echo "$release" | jq -r '.url_shasums')
shasums_sig_url=$(echo "$release" | jq -r '.url_shasums_signatures[0]')
# Download boundary, checksums, and checksum signature
echo "::group::Download files"
wget -q --server-response "$binary_url"
wget -q --server-response -O boundary_SHA256SUMS "$shasums_url"
wget -q --server-response -O boundary_SHA256SUMS.sig "$shasums_sig_url"
echo "::endgroup::"
# Verify signature against HashiCorp's public key
echo "::group::Verify signature"
export GNUPGHOME=./.gnupg
mkdir -p "$GNUPGHOME" && chmod 700 "$GNUPGHOME"
curl -s https://www.hashicorp.com/.well-known/pgp-key.txt | gpg --import
gpg --verify boundary_SHA256SUMS.sig boundary_SHA256SUMS
grep "boundary_${VERSION}_linux_amd64.zip" boundary_SHA256SUMS | shasum --algorithm 256 --check
echo "::endgroup::"
echo "::group::Extract boundary executable"
mkdir -p "$HOME/bin"
unzip "boundary_${VERSION}_linux_amd64.zip" -d "$HOME/bin"
echo "$HOME/bin" >> "${GITHUB_PATH}"
echo "::endgroup::"
- name: Verify boundary version
run: |
boundary version
- name: Acceptance Tests
env:
BOUNDARY_ADDR: http://localhost:9200
BOUNDARY_LICENSE: ${{ secrets.BOUNDARY_LICENSE }}
run: |
make testacc
+31
View File
@@ -0,0 +1,31 @@
# SPDX-License-Identifier: MPL-2.0
# Local/unsigned release config. No GPG signing, Vault, Artifactory or
# Terraform Registry publishing: this fork has no registry.
# Try it with: goreleaser build --snapshot --clean
version: 2
project_name: terraform-provider-threshold
before:
hooks:
- go mod tidy
builds:
- id: provider
main: .
binary: "{{ .ProjectName }}_v{{ .Version }}"
env:
- CGO_ENABLED=0
flags:
- -trimpath
ldflags:
- -s -w
goos: [linux, darwin, windows]
goarch: [amd64, arm64]
archives:
- formats: [zip]
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_SHA256SUMS"
algorithm: sha256
release:
disable: true
changelog:
disable: true
-96
View File
@@ -1,96 +0,0 @@
# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: MPL-2.0
#
# Reference: https://github.com/hashicorp/crt-core-helloworld/blob/main/.release/ci.hcl (private repository)
#
# One way to validate this file, with a local build of the orchestrator (an internal repo):
#
# $ GITHUB_TOKEN="not-used" orchestrator parse config -use-v2 -local-config=.release/ci.hcl
schema = "2"
project "terraform-provider-boundary" {
// team is currently unused and has no meaning
// but is required to be non-empty by CRT orchestator
team = "_UNUSED_"
slack {
notification_channel = "C01BWLSMJ03" // #proj-boundary-release-engineering
}
github {
organization = "hashicorp"
repository = "terraform-provider-boundary"
release_branches = ["main", "release/**"]
}
}
event "merge" {
}
event "build" {
action "build" {
depends = ["merge"]
organization = "hashicorp"
repository = "terraform-provider-boundary"
workflow = "build"
}
}
event "prepare" {
# `prepare` is the Common Release Tooling (CRT) artifact processing workflow.
# It prepares artifacts for potential promotion to staging and production.
# For example, it scans and signs artifacts.
depends = ["build"]
action "prepare" {
organization = "hashicorp"
repository = "crt-workflows-common"
workflow = "prepare"
depends = ["build"]
}
notification {
on = "fail"
}
}
event "trigger-staging" {
}
event "promote-staging" {
action "promote-staging" {
organization = "hashicorp"
repository = "crt-workflows-common"
workflow = "promote-staging"
depends = null
config = "release-metadata.hcl"
}
depends = ["trigger-staging"]
notification {
on = "always"
}
}
event "trigger-production" {
}
event "promote-production" {
action "promote-production" {
organization = "hashicorp"
repository = "crt-workflows-common"
workflow = "promote-production"
depends = null
config = ""
}
depends = ["trigger-production"]
notification {
on = "always"
}
}
-7
View File
@@ -1,7 +0,0 @@
# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: MPL-2.0
url_source_repository = "https://github.com/hashicorp/terraform-provider-boundary"
url_project_website = "https://registry.terraform.io/providers/hashicorp/boundary"
url_license = "https://github.com/hashicorp/terraform-provider-boundary/blob/main/LICENSE"
url_release_notes = "https://github.com/hashicorp/terraform-provider-boundary/blob/main/CHANGELOG.md"
-14
View File
@@ -1,14 +0,0 @@
# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: MPL-2.0
#
# Reference: https://github.com/hashicorp/security-scanner/blob/main/CONFIG.md#binary (private repository)
binary {
secrets {
all = true
}
go_modules = true
osv = true
oss_index = false
nvd = false
}
@@ -1,20 +0,0 @@
# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: MPL-2.0
schema = 1
artifacts {
# This should match the `matrix` in .github/workflows/build.yml
zip = [
"terraform-provider-boundary_${version}_darwin_amd64.zip",
"terraform-provider-boundary_${version}_darwin_arm64.zip",
"terraform-provider-boundary_${version}_freebsd_386.zip",
"terraform-provider-boundary_${version}_freebsd_amd64.zip",
"terraform-provider-boundary_${version}_freebsd_arm.zip",
"terraform-provider-boundary_${version}_linux_386.zip",
"terraform-provider-boundary_${version}_linux_amd64.zip",
"terraform-provider-boundary_${version}_linux_arm.zip",
"terraform-provider-boundary_${version}_linux_arm64.zip",
"terraform-provider-boundary_${version}_windows_386.zip",
"terraform-provider-boundary_${version}_windows_amd64.zip",
]
}
-4
View File
@@ -1,4 +0,0 @@
# These owners will be the default owners for everything in
# the repo, unless a later match takes precedence.
* @hashicorp/boundary
-10
View File
@@ -1,10 +0,0 @@
# Copyright IBM Corp. 2020, 2026
# SPDX-License-Identifier: MPL-2.0
FROM golang:1.20
WORKDIR /go/src/terraform-provider-boundary
COPY . .
RUN go get -d -v ./...
RUN go install -v ./...
+20 -9
View File
@@ -1,14 +1,14 @@
default: testacc default: testacc
GOOS=$(shell go env GOOS) GOOS=$(shell go env GOOS)
GOARCH=$(shell go env GOARCH) GOARCH=$(shell go env GOARCH)
INSTALL_PATH=~/.local/share/terraform/plugins/localhost/providers/boundary/0.0.1/linux_$(GOARCH) INSTALL_PATH=~/.local/share/terraform/plugins/repo.anhonesthost.net/cybercovellc/threshold/0.0.1/linux_$(GOARCH)
BUILD_ALL_PATH=${PWD}/bin BUILD_ALL_PATH=${PWD}/bin
ifeq ($(GOOS), darwin) ifeq ($(GOOS), darwin)
INSTALL_PATH=~/Library/Application\ Support/io.terraform/plugins/localhost/providers/boundary/0.0.1/darwin_$(GOARCH) INSTALL_PATH=~/Library/Application\ Support/io.terraform/plugins/repo.anhonesthost.net/cybercovellc/threshold/0.0.1/darwin_$(GOARCH)
endif endif
ifeq ($(GOOS), "windows") ifeq ($(GOOS), "windows")
INSTALL_PATH=%APPDATA%/HashiCorp/Terraform/plugins/localhost/providers/boundary/0.0.1/windows_$(GOARCH) INSTALL_PATH=%APPDATA%/HashiCorp/Terraform/plugins/repo.anhonesthost.net/cybercovellc/threshold/0.0.1/windows_$(GOARCH)
endif endif
REGISTRY_NAME?=docker.io/hashicorpboundary REGISTRY_NAME?=docker.io/hashicorpboundary
@@ -25,8 +25,19 @@ tools:
go generate -tags tools tools/tools.go go generate -tags tools tools/tools.go
go install github.com/hashicorp/copywrite@v0.15.0 go install github.com/hashicorp/copywrite@v0.15.0
# Unit tests: only the tests that do not need a running Threshold/Boundary
# controller. Everything else is an acceptance test, run via `make testacc`.
UNIT_TESTS = ^(TestProvider|TestSetFromVaultCredentialStoreResponseMapReadsWorkerFilterFromAttributes|TestAccTargetWithAddress_HostSourceAndAddressConflict|TestValidateTargetAliasScope|TestAliasSuffixFromScopeResponseMap|TestValidateAliasSuffixScope)$$
test: test:
echo "Placeholder" go test ./... -count=1 -run '$(UNIT_TESTS)'
VERSION ?= $(shell cat version/VERSION)
# Cross-compile release binaries for linux/darwin/windows x amd64/arm64 into dist/
.PHONY: build-all
build-all:
./scripts/build-release.sh $(VERSION)
# Run acceptance tests # Run acceptance tests
testacc: testacc:
@@ -35,17 +46,17 @@ testacc:
dev: dev:
GOOS=${GOOS} GOARCH=${GOARCH} ./scripts/plugins.sh GOOS=${GOOS} GOARCH=${GOARCH} ./scripts/plugins.sh
mkdir -p $(INSTALL_PATH) mkdir -p $(INSTALL_PATH)
go build -o $(INSTALL_PATH)/terraform-provider-boundary main.go go build -o $(INSTALL_PATH)/terraform-provider-threshold main.go
dev-no-plugins: dev-no-plugins:
mkdir -p $(INSTALL_PATH) mkdir -p $(INSTALL_PATH)
go build -o $(INSTALL_PATH)/terraform-provider-boundary main.go go build -o $(INSTALL_PATH)/terraform-provider-threshold main.go
all: all:
mkdir -p $(BUILD_ALL_PATH) mkdir -p $(BUILD_ALL_PATH)
GOOS=darwin go build -o $(BUILD_ALL_PATH)/terraform-provider-boundary_darwin-amd64 main.go GOOS=darwin go build -o $(BUILD_ALL_PATH)/terraform-provider-threshold_darwin-amd64 main.go
GOOS=windows go build -o $(BUILD_ALL_PATH)/terraform-provider-boundary_windows-amd64 main.go GOOS=windows go build -o $(BUILD_ALL_PATH)/terraform-provider-threshold_windows-amd64 main.go
GOOS=linux go build -o $(BUILD_ALL_PATH)/terraform-provider-boundary_linux-amd64 main.go GOOS=linux go build -o $(BUILD_ALL_PATH)/terraform-provider-threshold_linux-amd64 main.go
docs: docs:
go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs
+15
View File
@@ -0,0 +1,15 @@
terraform-provider-threshold
This project is a community fork of terraform-provider-boundary
(https://github.com/hashicorp/terraform-provider-boundary),
Copyright (c) HashiCorp, Inc. / IBM Corp., licensed under the Mozilla Public
License, version 2.0. The original copyright and license notices are retained in
LICENSE and in the source file headers.
Modifications in this fork (Go module path, imports of the Threshold api/sdk
modules, product wording, removal of HashiCorp release tooling, CI) are made by
CyberCove LLC and its contributors and are likewise made available under MPL-2.0.
This fork is a community project for Threshold, a community fork of Boundary CE.
It is not affiliated with, endorsed by, or supported by HashiCorp or IBM.
"Boundary", "Terraform" and "HashiCorp" are trademarks of their respective owners.
+100 -19
View File
@@ -1,33 +1,112 @@
![](boundary.png) # Terraform Provider for Threshold
# Terraform Provider Boundary A community fork of [hashicorp/terraform-provider-boundary](https://github.com/hashicorp/terraform-provider-boundary)
for [Threshold](https://repo.anhonesthost.net/CyberCoveLLC/threshold), itself a community fork of Boundary CE.
Available in the [Terraform Registry](https://registry.terraform.io/providers/hashicorp/boundary/latest). ## About this fork
- **Upstream:** `hashicorp/terraform-provider-boundary`, licensed MPL-2.0 (see [LICENSE](LICENSE) and [NOTICE](NOTICE)).
This fork is not affiliated with, endorsed by, or supported by HashiCorp or IBM.
- **What changed:** the Go module is `repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold`,
it builds against the Threshold `api` and `sdk` Go modules
(`repo.anhonesthost.net/CyberCoveLLC/threshold/api` and `.../sdk`), and product wording in docs and
schema descriptions says "Threshold". Release plumbing for HashiCorp's CRT/registry pipeline was removed.
- **Compatibility:** resource and data source type names (`boundary_*`), provider arguments (`addr`,
`auth_method_id`, ...) and the `BOUNDARY_*` environment variables are unchanged, so existing Terraform
configurations keep working. Because the resource types start with `boundary_`, Terraform infers the
provider local name `boundary`; keep `boundary = { source = ... }` in `required_providers`.
- **Distribution:** there is no public registry for this provider. Install it from a release zip or a local build
as described below. Its address is `repo.anhonesthost.net/cybercovellc/threshold`.
## Requirements ## Requirements
- [Terraform](https://www.terraform.io/downloads.html) >= 0.13.x - [Terraform](https://www.terraform.io/downloads.html) >= 0.13.x (or OpenTofu)
- [Go](https://golang.org/doc/install) >= 1.21 - [Go](https://golang.org/doc/install) >= 1.26 (see `go.mod`), with `GOPRIVATE=repo.anhonesthost.net` if the Threshold modules are not publicly fetchable
## Building The Provider ## Installing
1. Clone the repository Provider address: `repo.anhonesthost.net/cybercovellc/threshold`. Version `0.1.0` is used in the examples.
1. Enter the repository directory
1. Build the provider using `make dev`. This will place the provider onto your system in a [Terraform 0.13-compliant](https://www.terraform.io/upgrade-guides/0-13.html#in-house-providers) manner.
You'll need to ensure that your Terraform file contains the information necessary to find the plugin when running `terraform init`. `make dev` will use a version number of 0.0.1, so the following block will work: ### 1. Build locally
```sh
export GOPRIVATE=repo.anhonesthost.net
make build-all VERSION=0.1.0 # or: scripts/build-release.sh 0.1.0 dist
# single platform, no zip:
go build -o terraform-provider-threshold .
# with goreleaser installed:
goreleaser build --snapshot --clean --single-target
```
`make build-all` writes `dist/terraform-provider-threshold_<version>_<os>_<arch>.zip` for linux, darwin and
windows on amd64 and arm64 (needs `zip`). Never commit `dist/`.
### 2. Filesystem mirror (recommended for shared hosts)
Terraform's `provider_installation` can serve providers from a local directory. Layout (unpacked form):
```
/usr/share/terraform/providers/
repo.anhonesthost.net/cybercovellc/threshold/0.1.0/linux_amd64/terraform-provider-threshold_v0.1.0
```
or the packed form: `.../repo.anhonesthost.net/cybercovellc/threshold/terraform-provider-threshold_0.1.0_linux_amd64.zip`.
Then in `~/.terraformrc` (`%APPDATA%\terraform.rc` on Windows):
```hcl
provider_installation {
filesystem_mirror {
path = "/usr/share/terraform/providers"
include = ["repo.anhonesthost.net/cybercovellc/threshold"]
}
direct {
exclude = ["repo.anhonesthost.net/cybercovellc/threshold"]
}
}
```
and in your configuration:
```hcl ```hcl
terraform { terraform {
required_providers { required_providers {
boundary = { boundary = {
source = "localhost/providers/boundary" source = "repo.anhonesthost.net/cybercovellc/threshold"
version = "0.0.1" version = "0.1.0"
} }
} }
} }
provider "boundary" {
addr = "https://threshold.example.com:9200"
# auth_method_id / auth_method_login_name / auth_method_password, token, or recovery_kms_hcl
}
``` ```
### 3. dev_overrides (development)
Build the binary into a directory and point Terraform at it (`terraform init` is not needed, and `terraform plan`
prints a warning):
```hcl
# ~/.terraformrc
provider_installation {
dev_overrides {
"repo.anhonesthost.net/cybercovellc/threshold" = "/home/you/go/bin" # directory holding terraform-provider-threshold
}
direct {}
}
```
`go install .` places `terraform-provider-threshold` in `$GOPATH/bin`. `make dev` installs a `0.0.1` build
into Terraform's implied local mirror under the same address.
## Building The Provider
1. Clone the repository
1. Enter the repository directory
1. Build with `go build -o terraform-provider-threshold .` (or `make dev`, which also builds the optional built-in KMS plugins from `plugins/kms/mains`)
## Adding Dependencies ## Adding Dependencies
This provider uses [Go modules](https://github.com/golang/go/wiki/Modules). This provider uses [Go modules](https://github.com/golang/go/wiki/Modules).
@@ -48,7 +127,9 @@ If you wish to work on the provider, you'll first need [Go](http://www.golang.or
To compile the provider, run `go install`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory. To compile the provider, run `go install`. This will build the provider and put the provider binary in the `$GOPATH/bin` directory.
In order to run the full suite of Acceptance tests, Unit tests (no controller needed) run with `make test`. All other tests are acceptance tests and require a running
Threshold/Boundary-compatible controller (`BOUNDARY_ADDR`, `BOUNDARY_AUTH_TOKEN`, `BOUNDARY_DEV_RECOVERY_KEY`) and, for the
Vault tests, Docker. In order to run the full suite of Acceptance tests,
a postgres docker container must be started first: a postgres docker container must be started first:
```sh ```sh
@@ -65,23 +146,23 @@ $ make testacc
``` ```
For more details on the docker image and troubleshooting see the For more details on the docker image and troubleshooting see the
[boundary testing doc](https://github.com/hashicorp/boundary/blob/main/CONTRIBUTING.md#testing). [Threshold contributing guide](https://repo.anhonesthost.net/CyberCoveLLC/threshold).
## Debugging the provider ## Debugging the provider
If you're using vscode, this provider has delve debugging baked into the [.vscode](https://github.com/hashicorp/terraform-provider-boundary/tree/main/.vscode) directory. To debug you can find instructions [here.](https://dev.to/drewmullen/vscode-terraform-provider-development-setup-debugging-6bn#usage) If you're using vscode, this provider has delve debugging baked into the [.vscode](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/.vscode) directory. To debug you can find instructions [here.](https://dev.to/drewmullen/vscode-terraform-provider-development-setup-debugging-6bn#usage)
## Generating Docs ## Generating Docs
This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. Each resource and data source requires a set of examples [examples](https://github.com/hashicorp/terraform-provider-boundary/tree/main/examples) then you execute a binary to generate the docs which are placed in [./docs](https://github.com/hashicorp/terraform-provider-boundary/tree/main/docs). Optionally, you can specify your own [templates](https://github.com/hashicorp/terraform-provider-boundary/tree/main/templates) for a resource or data source if you want to add custom information (example: [data "boundary_scope"](https://github.com/hashicorp/terraform-provider-boundary/blob/main/templates/data-sources/scope.md.tmpl#L11)) This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. Each resource and data source requires a set of examples [examples](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/examples) then you execute a binary to generate the docs which are placed in [./docs](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/docs). Optionally, you can specify your own [templates](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/templates) for a resource or data source if you want to add custom information (example: [data "boundary_scope"](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/blob/main/templates/data-sources/scope.md.tmpl#L11))
### New Resources & Data Sources (documentation templates) ### New Resources & Data Sources (documentation templates)
If you're adding a new resource or a data source, you must include a documentation template for your new R/DS in [./templates](https://github.com/hashicorp/terraform-provider-boundary/tree/main/templates) directory. This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. For full details see the link. If you're adding a new resource or a data source, you must include a documentation template for your new R/DS in [./templates](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/templates) directory. This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. For full details see the link.
### Documentation Examples for Resources & Data Sources ### Documentation Examples for Resources & Data Sources
Examples are required for all resources and data sources. This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. To add examples, add a new file to the [./examples](https://github.com/hashicorp/terraform-provider-boundary/tree/main/examples) directory or update the existing files. Next make sure the corresponding template in [./templates](https://github.com/hashicorp/terraform-provider-boundary/tree/main/templates) directory references this example. Examples are required for all resources and data sources. This provider uses the [terraform-plugin-docs](https://github.com/hashicorp/terraform-plugin-docs/) tool to generate documentation. To add examples, add a new file to the [./examples](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/examples) directory or update the existing files. Next make sure the corresponding template in [./templates](https://repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/tree/main/templates) directory references this example.
### Generating ### Generating
@@ -93,7 +174,7 @@ go run github.com/hashicorp/terraform-plugin-docs/cmd/tfplugindocs
## Using the provider ## Using the provider
Please see our detailed docs for individual resource usage. Below is a complex example using the Boundary provider to configure all resource types available: Please see our detailed docs for individual resource usage. Below is a complex example using the provider to configure all resource types available:
```hcl ```hcl
provider "boundary" { provider "boundary" {
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

+3 -3
View File
@@ -3,17 +3,17 @@
page_title: "boundary_account Data Source - terraform-provider-boundary" page_title: "boundary_account Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The boundary_account data source allows you to find a Boundary account. The boundary_account data source allows you to find a Threshold account.
--- ---
# boundary_account (Data Source) # boundary_account (Data Source)
The boundary_account data source allows you to find a Boundary account. The boundary_account data source allows you to find a Threshold account.
## Example Usage ## Example Usage
```terraform ```terraform
# Retrieve the ID of a Boundary account # Retrieve the ID of a Threshold account
data "boundary_account" "admin" { data "boundary_account" "admin" {
name = "admin" name = "admin"
auth_method_id = "ampw_1234567890" auth_method_id = "ampw_1234567890"
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_auth_method Data Source - terraform-provider-boundary" page_title: "boundary_auth_method Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The boundary_auth_method data source allows you to find a Boundary auth method. The boundary_auth_method data source allows you to find a Threshold auth method.
--- ---
# boundary_auth_method (Data Source) # boundary_auth_method (Data Source)
The boundary_auth_method data source allows you to find a Boundary auth method. The boundary_auth_method data source allows you to find a Threshold auth method.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_group Data Source - terraform-provider-boundary" page_title: "boundary_group Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The boundary_group data source allows you to find a Boundary group. The boundary_group data source allows you to find a Threshold group.
--- ---
# boundary_group (Data Source) # boundary_group (Data Source)
The boundary_group data source allows you to find a Boundary group. The boundary_group data source allows you to find a Threshold group.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_role Data Source - terraform-provider-boundary" page_title: "boundary_role Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The boundary_role data source allows you to find a Boundary role. The boundary_role data source allows you to find a Threshold role.
--- ---
# boundary_role (Data Source) # boundary_role (Data Source)
The boundary_role data source allows you to find a Boundary role. The boundary_role data source allows you to find a Threshold role.
## Example Usage ## Example Usage
+3 -3
View File
@@ -2,18 +2,18 @@
page_title: "boundary_scope Data Source - terraform-provider-boundary" page_title: "boundary_scope Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The scope data source allows you to discover an existing Boundary scope by name. The scope data source allows you to discover an existing Threshold scope by name.
--- ---
# boundary_scope (Data Source) # boundary_scope (Data Source)
The scope data source allows you to discover an existing Boundary scope by name. The scope data source allows you to discover an existing Threshold scope by name.
Please note that the Global scope will always have an id of "global", and does not need to be discovered with this data source. Please note that the Global scope will always have an id of "global", and does not need to be discovered with this data source.
## Example Usage ## Example Usage
```terraform ```terraform
# Retrieve the ID of a Boundary project # Retrieve the ID of a Threshold project
data "boundary_scope" "org" { data "boundary_scope" "org" {
name = "SecOps" name = "SecOps"
scope_id = "global" scope_id = "global"
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_user Data Source - terraform-provider-boundary" page_title: "boundary_user Data Source - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The user data source allows you to find a Boundary user. The user data source allows you to find a Threshold user.
--- ---
# boundary_user (Data Source) # boundary_user (Data Source)
The user data source allows you to find a Boundary user. The user data source allows you to find a Threshold user.
## Example Usage ## Example Usage
+8 -8
View File
@@ -1,13 +1,13 @@
--- ---
page_title: "Provider: Boundary" page_title: "Provider: Threshold"
subcategory: "" subcategory: ""
description: |- description: |-
Terraform provider for configuring Boundary. Terraform provider for configuring Threshold.
--- ---
# Boundary Provider # Threshold Provider
Terraform provider for configuring Boundary. Terraform provider for configuring Threshold.
## Example Usage ## Example Usage
@@ -40,7 +40,7 @@ provider "boundary" {
### Required ### Required
- `addr` (String) The base url of the Boundary API, e.g. "http://127.0.0.1:9200". If not set, it will be read from the "BOUNDARY_ADDR" env var. - `addr` (String) The base url of the Threshold API, e.g. "http://127.0.0.1:9200". If not set, it will be read from the "BOUNDARY_ADDR" env var.
### Optional ### Optional
@@ -49,8 +49,8 @@ provider "boundary" {
- `auth_method_password` (String) The auth method password for password-style or ldap-style auth methods - `auth_method_password` (String) The auth method password for password-style or ldap-style auth methods
- `password_auth_method_login_name` (String, Deprecated) The auth method login name for password-style auth methods - `password_auth_method_login_name` (String, Deprecated) The auth method login name for password-style auth methods
- `password_auth_method_password` (String, Deprecated) The auth method password for password-style auth methods - `password_auth_method_password` (String, Deprecated) The auth method password for password-style auth methods
- `plugin_execution_dir` (String) Specifies a directory that the Boundary provider can use to write and execute its built-in plugins. - `plugin_execution_dir` (String) Specifies a directory that the Threshold provider can use to write and execute its built-in plugins.
- `recovery_kms_hcl` (String) Can be a heredoc string or a path on disk. If set, the string/file will be parsed as HCL and used with the recovery KMS mechanism. While this is set, it will override any other authentication information; the KMS mechanism will always be used. See Boundary's KMS docs for examples: https://boundaryproject.io/docs/configuration/kms - `recovery_kms_hcl` (String) Can be a heredoc string or a path on disk. If set, the string/file will be parsed as HCL and used with the recovery KMS mechanism. While this is set, it will override any other authentication information; the KMS mechanism will always be used. See Boundary's KMS docs for examples: https://boundaryproject.io/docs/configuration/kms
- `scope_id` (String) The scope ID for the default auth method. - `scope_id` (String) The scope ID for the default auth method.
- `tls_insecure` (Boolean) When set to true, does not validate the Boundary API endpoint certificate - `tls_insecure` (Boolean) When set to true, does not validate the Threshold API endpoint certificate
- `token` (String) The Boundary token to use, as a string or path on disk containing just the string. If set, the token read here will be used in place of authenticating with the auth method specified in "auth_method_id", although the recovery KMS mechanism will still override this. Can also be set with the BOUNDARY_TOKEN environment variable. - `token` (String) The Threshold token to use, as a string or path on disk containing just the string. If set, the token read here will be used in place of authenticating with the auth method specified in "auth_method_id", although the recovery KMS mechanism will still override this. Can also be set with the BOUNDARY_TOKEN environment variable.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_account_ldap Resource - terraform-provider-boundary" page_title: "boundary_account_ldap Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
--- ---
# boundary_account_ldap (Resource) # boundary_account_ldap (Resource)
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_account_oidc Resource - terraform-provider-boundary" page_title: "boundary_account_oidc Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
--- ---
# boundary_account_oidc (Resource) # boundary_account_oidc (Resource)
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_account_password Resource - terraform-provider-boundary" page_title: "boundary_account_password Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
--- ---
# boundary_account_password (Resource) # boundary_account_password (Resource)
The account resource allows you to configure a Boundary account. The account resource allows you to configure a Threshold account.
## Example Usage ## Example Usage
+3 -3
View File
@@ -3,12 +3,12 @@
page_title: "boundary_alias_target Resource - terraform-provider-boundary" page_title: "boundary_alias_target Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The target alias resource allows you to configure a Boundary target alias at project and global scopes. The target alias resource allows you to configure a Threshold target alias at project and global scopes.
--- ---
# boundary_alias_target (Resource) # boundary_alias_target (Resource)
The target alias resource allows you to configure a Boundary target alias at project and global scopes. The target alias resource allows you to configure a Threshold target alias at project and global scopes.
## Example Usage ## Example Usage
@@ -110,7 +110,7 @@ resource "boundary_alias_target" "example_alias_target_project" {
### Optional ### Optional
- `authorize_session_host_id` (String) The host id to pass to Boundary when performing an authorize session action. - `authorize_session_host_id` (String) The host id to pass to Threshold when performing an authorize session action.
- `description` (String) The alias description. - `description` (String) The alias description.
- `destination_id` (String) The destination of the alias. - `destination_id` (String) The destination of the alias.
- `name` (String) The alias name. Defaults to the resource name. - `name` (String) The alias name. Defaults to the resource name.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_auth_method Resource - terraform-provider-boundary" page_title: "boundary_auth_method Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The auth method resource allows you to configure a Boundary auth_method. The auth method resource allows you to configure a Threshold auth_method.
--- ---
# boundary_auth_method (Resource) # boundary_auth_method (Resource)
The auth method resource allows you to configure a Boundary auth_method. The auth method resource allows you to configure a Threshold auth_method.
## Example Usage ## Example Usage
+4 -4
View File
@@ -3,12 +3,12 @@
page_title: "boundary_auth_method_ldap Resource - terraform-provider-boundary" page_title: "boundary_auth_method_ldap Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The LDAP auth method resource allows you to configure a Boundary auth_method_ldap. The LDAP auth method resource allows you to configure a Threshold auth_method_ldap.
--- ---
# boundary_auth_method_ldap (Resource) # boundary_auth_method_ldap (Resource)
The LDAP auth method resource allows you to configure a Boundary auth_method_ldap. The LDAP auth method resource allows you to configure a Threshold auth_method_ldap.
## Example Usage ## Example Usage
@@ -49,11 +49,11 @@ resource "boundary_auth_method_ldap" "forumsys_ldap" {
- `anon_group_search` (Boolean) Use anon bind when performing LDAP group searches (optional). - `anon_group_search` (Boolean) Use anon bind when performing LDAP group searches (optional).
- `bind_dn` (String) The distinguished name of entry to bind when performing user and group searches (optional). - `bind_dn` (String) The distinguished name of entry to bind when performing user and group searches (optional).
- `bind_password` (String) The password to use along with bind-dn performing user and group searches (optional). - `bind_password` (String) The password to use along with bind-dn performing user and group searches (optional).
- `bind_password_hmac` (String) The HMAC of the bind password returned by the Boundary controller, which is used for comparison after initial setting of the value. - `bind_password_hmac` (String) The HMAC of the bind password returned by the Threshold controller, which is used for comparison after initial setting of the value.
- `certificates` (List of String) PEM-encoded X.509 CA certificate in ASN.1 DER form that can be used as a trust anchor when connecting to an LDAP server(optional). This may be specified multiple times - `certificates` (List of String) PEM-encoded X.509 CA certificate in ASN.1 DER form that can be used as a trust anchor when connecting to an LDAP server(optional). This may be specified multiple times
- `client_certificate` (String) PEM-encoded X.509 client certificate in ASN.1 DER form that can be used to authenticate against an LDAP server(optional). - `client_certificate` (String) PEM-encoded X.509 client certificate in ASN.1 DER form that can be used to authenticate against an LDAP server(optional).
- `client_certificate_key` (String) PEM-encoded X.509 client certificate key in PKCS #8, ASN.1 DER form used with the client certificate (optional). - `client_certificate_key` (String) PEM-encoded X.509 client certificate key in PKCS #8, ASN.1 DER form used with the client certificate (optional).
- `client_certificate_key_hmac` (String) The HMAC of the client certificate key returned by the Boundary controller, which is used for comparison after initial setting of the value. - `client_certificate_key_hmac` (String) The HMAC of the client certificate key returned by the Threshold controller, which is used for comparison after initial setting of the value.
- `dereference_aliases` (String) Control how aliases are dereferenced when performing the search. Can be one of: NeverDerefAliases, DerefInSearching, DerefFindingBaseObj, and DerefAlways (optional). - `dereference_aliases` (String) Control how aliases are dereferenced when performing the search. Can be one of: NeverDerefAliases, DerefInSearching, DerefFindingBaseObj, and DerefAlways (optional).
- `description` (String) The auth method description. - `description` (String) The auth method description.
- `discover_dn` (Boolean) Use anon bind to discover the bind DN of a user (optional). - `discover_dn` (Boolean) Use anon bind to discover the bind DN of a user (optional).
+7 -7
View File
@@ -3,12 +3,12 @@
page_title: "boundary_auth_method_oidc Resource - terraform-provider-boundary" page_title: "boundary_auth_method_oidc Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The OIDC auth method resource allows you to configure a Boundary auth_method_oidc. The OIDC auth method resource allows you to configure a Threshold auth_method_oidc.
--- ---
# boundary_auth_method_oidc (Resource) # boundary_auth_method_oidc (Resource)
The OIDC auth method resource allows you to configure a Boundary auth_method_oidc. The OIDC auth method resource allows you to configure a Threshold auth_method_oidc.
## Example Usage ## Example Usage
@@ -25,7 +25,7 @@ resource "boundary_auth_method_oidc" "vault" {
api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200" api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200"
client_id = "eieio" client_id = "eieio"
client_secret = "hvo_secret_XO" client_secret = "hvo_secret_XO"
description = "My Boundary OIDC Auth Method for Vault" description = "My Threshold OIDC Auth Method for Vault"
issuer = "https://XO-XO-XO-XO-XOXOXO.vault.hashicorp.cloud:8200/v1/identity/oidc/provider/my-provider" issuer = "https://XO-XO-XO-XO-XOXOXO.vault.hashicorp.cloud:8200/v1/identity/oidc/provider/my-provider"
scope_id = "global" scope_id = "global"
signing_algorithms = ["RS256"] signing_algorithms = ["RS256"]
@@ -36,7 +36,7 @@ resource "boundary_auth_method_oidc" "oidc_with_one_prompt" {
api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200" api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200"
client_id = "eieio" client_id = "eieio"
client_secret = "hvo_secret_XO" client_secret = "hvo_secret_XO"
description = "My Boundary OIDC Auth Method With Prompt" description = "My Threshold OIDC Auth Method With Prompt"
issuer = "https://sts.windows.net/TENANT_ID/" issuer = "https://sts.windows.net/TENANT_ID/"
scope_id = "global" scope_id = "global"
signing_algorithms = ["RS256"] signing_algorithms = ["RS256"]
@@ -48,7 +48,7 @@ resource "boundary_auth_method_oidc" "oidc_with_multiple_prompts" {
api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200" api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200"
client_id = "eieio" client_id = "eieio"
client_secret = "hvo_secret_XO" client_secret = "hvo_secret_XO"
description = "My Boundary OIDC Auth Method With Multiple Prompts" description = "My Threshold OIDC Auth Method With Multiple Prompts"
issuer = "https://sts.windows.net/TENANT_ID/" issuer = "https://sts.windows.net/TENANT_ID/"
scope_id = "global" scope_id = "global"
signing_algorithms = ["RS256"] signing_algorithms = ["RS256"]
@@ -60,7 +60,7 @@ resource "boundary_auth_method_oidc" "oidc_with_azure_provider_type" {
api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200" api_url_prefix = "https://XO-XO-XO-XO-XOXOXO.boundary.hashicorp.cloud:9200"
client_id = "eieio" client_id = "eieio"
client_secret = "hvo_secret_XO" client_secret = "hvo_secret_XO"
description = "My Boundary OIDC Auth Method For Azure Entra ID" description = "My Threshold OIDC Auth Method For Azure Entra ID"
issuer = "https://sts.windows.net/TENANT_ID/" issuer = "https://sts.windows.net/TENANT_ID/"
scope_id = "global" scope_id = "global"
signing_algorithms = ["RS256"] signing_algorithms = ["RS256"]
@@ -85,7 +85,7 @@ resource "boundary_auth_method_oidc" "oidc_with_azure_provider_type" {
- `claims_scopes` (List of String) Claims scopes. - `claims_scopes` (List of String) Claims scopes.
- `client_id` (String) The client ID assigned to this auth method from the provider. - `client_id` (String) The client ID assigned to this auth method from the provider.
- `client_secret` (String, Sensitive) The secret key assigned to this auth method from the provider. Once set, only the hash will be kept and the original value can be removed from configuration. - `client_secret` (String, Sensitive) The secret key assigned to this auth method from the provider. Once set, only the hash will be kept and the original value can be removed from configuration.
- `client_secret_hmac` (String) The HMAC of the client secret returned by the Boundary controller, which is used for comparison after initial setting of the value. - `client_secret_hmac` (String) The HMAC of the client secret returned by the Threshold controller, which is used for comparison after initial setting of the value.
- `description` (String) The auth method description. - `description` (String) The auth method description.
- `disable_discovered_config_validation` (Boolean) Disables validation logic ensuring that the OIDC provider's information from its discovery endpoint matches the information here. The validation is only performed at create or update time. - `disable_discovered_config_validation` (Boolean) Disables validation logic ensuring that the OIDC provider's information from its discovery endpoint matches the information here. The validation is only performed at create or update time.
- `idp_ca_certs` (List of String) A list of CA certificates to trust when validating the IdP's token signatures. - `idp_ca_certs` (List of String) A list of CA certificates to trust when validating the IdP's token signatures.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_auth_method_password Resource - terraform-provider-boundary" page_title: "boundary_auth_method_password Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The auth method resource allows you to configure a Boundary auth_method_password. The auth method resource allows you to configure a Threshold auth_method_password.
--- ---
# boundary_auth_method_password (Resource) # boundary_auth_method_password (Resource)
The auth method resource allows you to configure a Boundary auth_method_password. The auth method resource allows you to configure a Threshold auth_method_password.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_credential_library_vault Resource - terraform-provider-boundary" page_title: "boundary_credential_library_vault Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The credential library for Vault resource allows you to configure a Boundary credential library for Vault. The credential library for Vault resource allows you to configure a Threshold credential library for Vault.
--- ---
# boundary_credential_library_vault (Resource) # boundary_credential_library_vault (Resource)
The credential library for Vault resource allows you to configure a Boundary credential library for Vault. The credential library for Vault resource allows you to configure a Threshold credential library for Vault.
## Example Usage ## Example Usage
@@ -3,12 +3,12 @@
page_title: "boundary_credential_library_vault_ldap Resource - terraform-provider-boundary" page_title: "boundary_credential_library_vault_ldap Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The credential library for Vault LDAP resource allows you to configure a Boundary credential library for Vault LDAP. The credential library for Vault LDAP resource allows you to configure a Threshold credential library for Vault LDAP.
--- ---
# boundary_credential_library_vault_ldap (Resource) # boundary_credential_library_vault_ldap (Resource)
The credential library for Vault LDAP resource allows you to configure a Boundary credential library for Vault LDAP. The credential library for Vault LDAP resource allows you to configure a Threshold credential library for Vault LDAP.
## Example Usage ## Example Usage
@@ -3,12 +3,12 @@
page_title: "boundary_credential_library_vault_ssh_certificate Resource - terraform-provider-boundary" page_title: "boundary_credential_library_vault_ssh_certificate Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The credential library for Vault resource allows you to configure a Boundary credential library for Vault. The credential library for Vault resource allows you to configure a Threshold credential library for Vault.
--- ---
# boundary_credential_library_vault_ssh_certificate (Resource) # boundary_credential_library_vault_ssh_certificate (Resource)
The credential library for Vault resource allows you to configure a Boundary credential library for Vault. The credential library for Vault resource allows you to configure a Threshold credential library for Vault.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_credential_store_static Resource - terraform-provider-boundary" page_title: "boundary_credential_store_static Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The static credential store resource allows you to configure a Boundary static credential store. The static credential store resource allows you to configure a Threshold static credential store.
--- ---
# boundary_credential_store_static (Resource) # boundary_credential_store_static (Resource)
The static credential store resource allows you to configure a Boundary static credential store. The static credential store resource allows you to configure a Threshold static credential store.
## Example Usage ## Example Usage
+3 -3
View File
@@ -3,12 +3,12 @@
page_title: "boundary_credential_store_vault Resource - terraform-provider-boundary" page_title: "boundary_credential_store_vault Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The credential store for Vault resource allows you to configure a Boundary credential store for Vault. The credential store for Vault resource allows you to configure a Threshold credential store for Vault.
--- ---
# boundary_credential_store_vault (Resource) # boundary_credential_store_vault (Resource)
The credential store for Vault resource allows you to configure a Boundary credential store for Vault. The credential store for Vault resource allows you to configure a Threshold credential store for Vault.
## Example Usage ## Example Usage
@@ -56,7 +56,7 @@ resource "boundary_credential_store_vault" "example" {
- `namespace` (String) The namespace within Vault to use. - `namespace` (String) The namespace within Vault to use.
- `tls_server_name` (String) Name to use as the SNI host when connecting to Vault via TLS. - `tls_server_name` (String) Name to use as the SNI host when connecting to Vault via TLS.
- `tls_skip_verify` (Boolean) Whether or not to skip TLS verification. - `tls_skip_verify` (Boolean) Whether or not to skip TLS verification.
- `worker_filter` (String) HCP Only. A filter used to control which PKI workers can handle Vault requests. This allows the use of private Vault instances with Boundary. - `worker_filter` (String) HCP Only. A filter used to control which PKI workers can handle Vault requests. This allows the use of private Vault instances with Threshold.
### Read-Only ### Read-Only
+2 -2
View File
@@ -2,12 +2,12 @@
page_title: "boundary_group Resource - terraform-provider-boundary" page_title: "boundary_group Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The group resource allows you to configure a Boundary group. The group resource allows you to configure a Threshold group.
--- ---
# Resource `boundary_group` # Resource `boundary_group`
The group resource allows you to configure a Boundary group. The group resource allows you to configure a Threshold group.
## Example Usage ## Example Usage
+3 -3
View File
@@ -3,12 +3,12 @@
page_title: "boundary_host_catalog_plugin Resource - terraform-provider-boundary" page_title: "boundary_host_catalog_plugin Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The host catalog resource allows you to configure a Boundary plugin-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog. The host catalog resource allows you to configure a Threshold plugin-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog.
--- ---
# boundary_host_catalog_plugin (Resource) # boundary_host_catalog_plugin (Resource)
The host catalog resource allows you to configure a Boundary plugin-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog. The host catalog resource allows you to configure a Threshold plugin-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog.
## Example Usage ## Example Usage
@@ -87,7 +87,7 @@ resource "boundary_host_catalog_plugin" "azure_example" {
- `attributes_json` (String) The attributes for the host catalog. Either values encoded with the "jsonencode" function, pre-escaped JSON string, or a file:// or env:// path. Set to a string "null" or remove the block to clear all attributes in the host catalog. - `attributes_json` (String) The attributes for the host catalog. Either values encoded with the "jsonencode" function, pre-escaped JSON string, or a file:// or env:// path. Set to a string "null" or remove the block to clear all attributes in the host catalog.
- `description` (String) The host catalog description. - `description` (String) The host catalog description.
- `internal_force_update` (String) Internal only. Used to force update so that we can always check the value of secrets. - `internal_force_update` (String) Internal only. Used to force update so that we can always check the value of secrets.
- `internal_hmac_used_for_secrets_config_hmac` (String) Internal only. The Boundary-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection. - `internal_hmac_used_for_secrets_config_hmac` (String) Internal only. The Threshold-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection.
- `internal_secrets_config_hmac` (String) Internal only. HMAC of (serverSecretsHmac + config secrets). Used for proper secrets handling. - `internal_secrets_config_hmac` (String) Internal only. HMAC of (serverSecretsHmac + config secrets). Used for proper secrets handling.
- `name` (String) The host catalog name. Defaults to the resource name. - `name` (String) The host catalog name. Defaults to the resource name.
- `plugin_id` (String) The ID of the plugin that should back the resource. This or plugin_name must be defined. - `plugin_id` (String) The ID of the plugin that should back the resource. This or plugin_name must be defined.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_host_catalog_static Resource - terraform-provider-boundary" page_title: "boundary_host_catalog_static Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The static host catalog resource allows you to configure a Boundary static-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog. The static host catalog resource allows you to configure a Threshold static-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog.
--- ---
# boundary_host_catalog_static (Resource) # boundary_host_catalog_static (Resource)
The static host catalog resource allows you to configure a Boundary static-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog. The static host catalog resource allows you to configure a Threshold static-type host catalog. Host catalogs are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host catalog.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_host_set_plugin Resource - terraform-provider-boundary" page_title: "boundary_host_set_plugin Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The host_set_plugin resource allows you to configure a Boundary host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set. The host_set_plugin resource allows you to configure a Threshold host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set.
--- ---
# boundary_host_set_plugin (Resource) # boundary_host_set_plugin (Resource)
The host_set_plugin resource allows you to configure a Boundary host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set. The host_set_plugin resource allows you to configure a Threshold host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_host_set_static Resource - terraform-provider-boundary" page_title: "boundary_host_set_static Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The host_set_static resource allows you to configure a Boundary host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set. The host_set_static resource allows you to configure a Threshold host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set.
--- ---
# boundary_host_set_static (Resource) # boundary_host_set_static (Resource)
The host_set_static resource allows you to configure a Boundary host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set. The host_set_static resource allows you to configure a Threshold host set. Host sets are always part of a host catalog, so a host catalog resource should be used inline or you should have the host catalog ID in hand to successfully configure a host set.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_host_static Resource - terraform-provider-boundary" page_title: "boundary_host_static Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The static host resource allows you to configure a Boundary static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host. The static host resource allows you to configure a Threshold static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host.
--- ---
# boundary_host_static (Resource) # boundary_host_static (Resource)
The static host resource allows you to configure a Boundary static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host. The static host resource allows you to configure a Threshold static host. Hosts are always part of a project, so a project resource should be used inline or you should have the project ID in hand to successfully configure a host.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_managed_group Resource - terraform-provider-boundary" page_title: "boundary_managed_group Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The managed group resource allows you to configure a Boundary group. The managed group resource allows you to configure a Threshold group.
--- ---
# boundary_managed_group (Resource) # boundary_managed_group (Resource)
The managed group resource allows you to configure a Boundary group. The managed group resource allows you to configure a Threshold group.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_managed_group_ldap Resource - terraform-provider-boundary" page_title: "boundary_managed_group_ldap Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The managed group resource allows you to configure a Boundary group. The managed group resource allows you to configure a Threshold group.
--- ---
# boundary_managed_group_ldap (Resource) # boundary_managed_group_ldap (Resource)
The managed group resource allows you to configure a Boundary group. The managed group resource allows you to configure a Threshold group.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_policy_storage Resource - terraform-provider-boundary" page_title: "boundary_policy_storage Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The storage policy resource allows you to configure a Boundary storage policy. Storage policies allow an admin to configure how long session recordings must be stored and when to delete them. Storage policies must be applied to the global scope or an org scope in order to take effect. The storage policy resource allows you to configure a Threshold storage policy. Storage policies allow an admin to configure how long session recordings must be stored and when to delete them. Storage policies must be applied to the global scope or an org scope in order to take effect.
--- ---
# boundary_policy_storage (Resource) # boundary_policy_storage (Resource)
The storage policy resource allows you to configure a Boundary storage policy. Storage policies allow an admin to configure how long session recordings must be stored and when to delete them. Storage policies must be applied to the global scope or an org scope in order to take effect. The storage policy resource allows you to configure a Threshold storage policy. Storage policies allow an admin to configure how long session recordings must be stored and when to delete them. Storage policies must be applied to the global scope or an org scope in order to take effect.
+2 -2
View File
@@ -2,12 +2,12 @@
page_title: "boundary_role Resource - terraform-provider-boundary" page_title: "boundary_role Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The role resource allows you to configure a Boundary role. The role resource allows you to configure a Threshold role.
--- ---
# Resource `boundary_role` # Resource `boundary_role`
The role resource allows you to configure a Boundary role. The role resource allows you to configure a Threshold role.
## Example Usage ## Example Usage
+2 -2
View File
@@ -2,12 +2,12 @@
page_title: "boundary_scope Resource - terraform-provider-boundary" page_title: "boundary_scope Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The scope resource allows you to configure a Boundary scope. The scope resource allows you to configure a Threshold scope.
--- ---
# Resource `boundary_scope` # Resource `boundary_scope`
The scope resource allows you to configure a Boundary scope. The scope resource allows you to configure a Threshold scope.
## Example Usage ## Example Usage
+3 -3
View File
@@ -3,12 +3,12 @@
page_title: "boundary_storage_bucket Resource - terraform-provider-boundary" page_title: "boundary_storage_bucket Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The storage bucket resource allows you to configure a Boundary storage bucket. A storage bucket can only belong to the Global scope or an Org scope. At this time, the only supported storage for storage buckets is AWS S3. This feature requires Boundary Enterprise or Boundary HCP. The storage bucket resource allows you to configure a Threshold storage bucket. A storage bucket can only belong to the Global scope or an Org scope. At this time, the only supported storage for storage buckets is AWS S3. This feature requires Boundary Enterprise or Boundary HCP.
--- ---
# boundary_storage_bucket (Resource) # boundary_storage_bucket (Resource)
The storage bucket resource allows you to configure a Boundary storage bucket. A storage bucket can only belong to the Global scope or an Org scope. At this time, the only supported storage for storage buckets is AWS S3. This feature requires Boundary Enterprise or Boundary HCP. The storage bucket resource allows you to configure a Threshold storage bucket. A storage bucket can only belong to the Global scope or an Org scope. At this time, the only supported storage for storage buckets is AWS S3. This feature requires Boundary Enterprise or Boundary HCP.
## Example Usage ## Example Usage
@@ -79,7 +79,7 @@ resource "boundary_storage_bucket" "aws_dynamic_credentials_example" {
- `id` (String) The ID of the storage bucket. - `id` (String) The ID of the storage bucket.
- `internal_force_update` (String) Internal only. Used to force update so that we can always check the value of secrets. - `internal_force_update` (String) Internal only. Used to force update so that we can always check the value of secrets.
- `internal_hmac_used_for_secrets_config_hmac` (String) Internal only. The Boundary-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection. - `internal_hmac_used_for_secrets_config_hmac` (String) Internal only. The Threshold-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection.
- `internal_secrets_config_hmac` (String) Internal only. HMAC of (serverSecretsHmac + config secrets). Used for proper secrets handling. - `internal_secrets_config_hmac` (String) Internal only. HMAC of (serverSecretsHmac + config secrets). Used for proper secrets handling.
- `secrets_hmac` (String) The HMAC'd secrets value returned from the server. - `secrets_hmac` (String) The HMAC'd secrets value returned from the server.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_target Resource - terraform-provider-boundary" page_title: "boundary_target Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The target resource allows you to configure a Boundary target. The target resource allows you to configure a Threshold target.
--- ---
# boundary_target (Resource) # boundary_target (Resource)
The target resource allows you to configure a Boundary target. The target resource allows you to configure a Threshold target.
## Example Usage ## Example Usage
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_target_host_source Resource - terraform-provider-boundary" page_title: "boundary_target_host_source Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
Attaches a host source to an existing Boundary target. Use this resource instead of the host_source_ids field on boundary_target when the target and its host sources are managed in separate Terraform configurations. Do not set host_source_ids on boundary_target when using this resource for the same target. Attaches a host source to an existing Threshold target. Use this resource instead of the host_source_ids field on boundary_target when the target and its host sources are managed in separate Terraform configurations. Do not set host_source_ids on boundary_target when using this resource for the same target.
--- ---
# boundary_target_host_source (Resource) # boundary_target_host_source (Resource)
Attaches a host source to an existing Boundary target. Use this resource instead of the `host_source_ids` field on `boundary_target` when the target and its host sources are managed in separate Terraform configurations. Do not set `host_source_ids` on `boundary_target` when using this resource for the same target. Attaches a host source to an existing Threshold target. Use this resource instead of the `host_source_ids` field on `boundary_target` when the target and its host sources are managed in separate Terraform configurations. Do not set `host_source_ids` on `boundary_target` when using this resource for the same target.
+2 -2
View File
@@ -3,12 +3,12 @@
page_title: "boundary_user Resource - terraform-provider-boundary" page_title: "boundary_user Resource - terraform-provider-boundary"
subcategory: "" subcategory: ""
description: |- description: |-
The user resource allows you to configure a Boundary user. The user resource allows you to configure a Threshold user.
--- ---
# boundary_user (Resource) # boundary_user (Resource)
The user resource allows you to configure a Boundary user. The user resource allows you to configure a Threshold user.
## Example Usage ## Example Usage
+1 -1
View File
@@ -79,7 +79,7 @@ documentation to learn about worker registration.
- `authorized_actions` (List of String) A list of actions that the worker is entitled to perform. - `authorized_actions` (List of String) A list of actions that the worker is entitled to perform.
- `controller_generated_activation_token` (String) A single use token generated by the controller to be passed to the self-managed worker. - `controller_generated_activation_token` (String) A single use token generated by the controller to be passed to the self-managed worker.
- `id` (String) The ID of the worker. - `id` (String) The ID of the worker.
- `release_version` (Number) The version of the Boundary binary running on the self managed worker. - `release_version` (Number) The version of the Threshold binary running on the self managed worker.
## Import ## Import
+16 -16
View File
@@ -1,11 +1,9 @@
module github.com/hashicorp/terraform-provider-boundary module repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold
go 1.26.6 go 1.26.9
require ( require (
github.com/YakDriver/regexache v0.25.0 github.com/YakDriver/regexache v0.25.0
github.com/hashicorp/boundary/api v0.0.63-0.20260922135637-edfad8971a54
github.com/hashicorp/boundary/sdk v0.0.61-0.20260922135637-edfad8971a54
github.com/hashicorp/cap v0.14.0 github.com/hashicorp/cap v0.14.0
github.com/hashicorp/cap/ldap v0.0.0-20240206183135-ed8f24513744 github.com/hashicorp/cap/ldap v0.0.0-20240206183135-ed8f24513744
github.com/hashicorp/go-cty v1.5.0 github.com/hashicorp/go-cty v1.5.0
@@ -24,6 +22,8 @@ require (
github.com/stretchr/testify v1.12.1 github.com/stretchr/testify v1.12.1
golang.org/x/crypto v0.57.0 golang.org/x/crypto v0.57.0
mvdan.cc/gofumpt v0.12.0 mvdan.cc/gofumpt v0.12.0
repo.anhonesthost.net/CyberCoveLLC/threshold/api v0.1.0
repo.anhonesthost.net/CyberCoveLLC/threshold/sdk v0.1.0
) )
require ( require (
@@ -56,12 +56,12 @@ require (
github.com/docker/go-connections v0.6.0 // indirect github.com/docker/go-connections v0.6.0 // indirect
github.com/docker/go-units v0.5.0 // indirect github.com/docker/go-units v0.5.0 // indirect
github.com/fatih/color v1.18.0 // indirect github.com/fatih/color v1.18.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect github.com/felixge/httpsnoop v1.1.0 // indirect
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
github.com/go-jose/go-jose/v3 v3.0.5 // indirect github.com/go-jose/go-jose/v3 v3.0.5 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/go-ldap/ldap/v3 v3.4.12 // indirect github.com/go-ldap/ldap/v3 v3.4.12 // indirect
github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/logr v1.4.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-viper/mapstructure/v2 v2.4.0 // indirect github.com/go-viper/mapstructure/v2 v2.4.0 // indirect
github.com/golang/protobuf v1.5.4 // indirect github.com/golang/protobuf v1.5.4 // indirect
@@ -116,7 +116,7 @@ require (
github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/moby/api v1.53.0 // indirect github.com/moby/moby/api v1.53.0 // indirect
github.com/moby/moby/client v0.2.2 // indirect github.com/moby/moby/client v0.2.2 // indirect
github.com/moby/sys/user v0.4.0 // indirect github.com/moby/sys/user v0.4.1 // indirect
github.com/moby/term v0.5.2 // indirect github.com/moby/term v0.5.2 // indirect
github.com/mr-tron/base58 v1.2.0 // indirect github.com/mr-tron/base58 v1.2.0 // indirect
github.com/oklog/run v1.1.0 // indirect github.com/oklog/run v1.1.0 // indirect
@@ -140,14 +140,14 @@ require (
github.com/zclconf/go-cty v1.18.1 // indirect github.com/zclconf/go-cty v1.18.1 // indirect
go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect go.abhg.dev/goldmark/frontmatter v0.2.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 // indirect
go.opentelemetry.io/otel v1.44.0 // indirect go.opentelemetry.io/otel v1.45.0 // indirect
go.opentelemetry.io/otel/metric v1.44.0 // indirect go.opentelemetry.io/otel/metric v1.45.0 // indirect
go.opentelemetry.io/otel/trace v1.44.0 // indirect go.opentelemetry.io/otel/trace v1.45.0 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect go.yaml.in/yaml/v3 v3.0.5 // indirect
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
golang.org/x/mod v0.41.0 // indirect golang.org/x/mod v0.41.0 // indirect
golang.org/x/net v0.58.0 // indirect golang.org/x/net v0.60.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/sync v0.23.0 // indirect golang.org/x/sync v0.23.0 // indirect
golang.org/x/sys v0.48.0 // indirect golang.org/x/sys v0.48.0 // indirect
@@ -155,10 +155,10 @@ require (
golang.org/x/time v0.14.0 // indirect golang.org/x/time v0.14.0 // indirect
golang.org/x/tools v0.49.0 // indirect golang.org/x/tools v0.49.0 // indirect
google.golang.org/appengine v1.6.8 // indirect google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect google.golang.org/genproto/googleapis/api v0.0.0-20260817212433-ac3dfec99bb1 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20260817212433-ac3dfec99bb1 // indirect
google.golang.org/grpc v1.83.2 // indirect google.golang.org/grpc v1.85.0-dev.0.20260825072537-93e31b48545e // indirect
google.golang.org/protobuf v1.36.11 // indirect google.golang.org/protobuf v1.36.12 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
) )
+32 -32
View File
@@ -78,8 +78,8 @@ github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FM
github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk=
github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.1.0 h1:3YtUj32ZZkqZtt3sZZsClsymw/QDuVfpNhoA31zeORc=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.1.0/go.mod h1:Zqxgdd+1Rkcz8euOqdr7lqgCRJztwr5hp9vDSi5UZCE=
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo= github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 h1:BP4M0CvQ4S3TGls2FvczZtj5Re/2ZzkV9VwqPHH/3Bo=
@@ -97,8 +97,8 @@ github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9
github.com/go-ldap/ldap/v3 v3.4.12 h1:1b81mv7MagXZ7+1r7cLTWmyuTqVqdwbtJSjC0DAp9s4= github.com/go-ldap/ldap/v3 v3.4.12 h1:1b81mv7MagXZ7+1r7cLTWmyuTqVqdwbtJSjC0DAp9s4=
github.com/go-ldap/ldap/v3 v3.4.12/go.mod h1:+SPAGcTtOfmGsCb3h1RFiq4xpp4N636G75OEace8lNo= github.com/go-ldap/ldap/v3 v3.4.12/go.mod h1:+SPAGcTtOfmGsCb3h1RFiq4xpp4N636G75OEace8lNo=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.4 h1:tG4xh9yMsRCAiodLVTxyrkzSZ9+o0L1Kg/+cPVcbP/8=
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/logr v1.4.4/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-quicktest/qt v1.102.0 h1:HSQxCeh5YZH3EL3W39ixjtyaEhcWSXQHtHnMBzSs474= github.com/go-quicktest/qt v1.102.0 h1:HSQxCeh5YZH3EL3W39ixjtyaEhcWSXQHtHnMBzSs474=
@@ -126,10 +126,6 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/boundary/api v0.0.63-0.20260922135637-edfad8971a54 h1:FvrPXYRo+Spbph5W7j2quLI1c0l/1IiaZJEfvnqQY/I=
github.com/hashicorp/boundary/api v0.0.63-0.20260922135637-edfad8971a54/go.mod h1:8a4R5RZ0qDfNQGRdtz0oJfIMeEVwjt4ksZDDX+UfM2c=
github.com/hashicorp/boundary/sdk v0.0.61-0.20260922135637-edfad8971a54 h1:HyWTzuokbS+GM+xvL2qPLmbvg5w8+8SBpn1/2Lj6SWc=
github.com/hashicorp/boundary/sdk v0.0.61-0.20260922135637-edfad8971a54/go.mod h1:SLV16Bt353ef/YLvZqPkeZXurffr3WS2y6B5TKiu6HY=
github.com/hashicorp/cap v0.14.0 h1:IPWX/ewgw8tQPl0qpnCuNf6BFXOCz7ijSM5ikX27cNg= github.com/hashicorp/cap v0.14.0 h1:IPWX/ewgw8tQPl0qpnCuNf6BFXOCz7ijSM5ikX27cNg=
github.com/hashicorp/cap v0.14.0/go.mod h1:Kbu5owAOJzQ/HH4Ba/76wsIXN2tRiJgToJKBO2MAEFE= github.com/hashicorp/cap v0.14.0/go.mod h1:Kbu5owAOJzQ/HH4Ba/76wsIXN2tRiJgToJKBO2MAEFE=
github.com/hashicorp/cap/ldap v0.0.0-20240206183135-ed8f24513744 h1:6cU01ORaCUxRXRS0YYnmm4tMfAvFRjamhjgMrgmoWZs= github.com/hashicorp/cap/ldap v0.0.0-20240206183135-ed8f24513744 h1:6cU01ORaCUxRXRS0YYnmm4tMfAvFRjamhjgMrgmoWZs=
@@ -289,8 +285,8 @@ github.com/moby/moby/api v1.53.0 h1:PihqG1ncw4W+8mZs69jlwGXdaYBeb5brF6BL7mPIS/w=
github.com/moby/moby/api v1.53.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= github.com/moby/moby/api v1.53.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc=
github.com/moby/moby/client v0.2.2 h1:Pt4hRMCAIlyjL3cr8M5TrXCwKzguebPAc2do2ur7dEM= github.com/moby/moby/client v0.2.2 h1:Pt4hRMCAIlyjL3cr8M5TrXCwKzguebPAc2do2ur7dEM=
github.com/moby/moby/client v0.2.2/go.mod h1:2EkIPVNCqR05CMIzL1mfA07t0HvVUUOl85pasRz/GmQ= github.com/moby/moby/client v0.2.2/go.mod h1:2EkIPVNCqR05CMIzL1mfA07t0HvVUUOl85pasRz/GmQ=
github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= github.com/moby/sys/user v0.4.1 h1:RgjRlaDKi/Xmyrz4t8lyzXT6v2ooFeO/7xtchmhVWE0=
github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= github.com/moby/sys/user v0.4.1/go.mod h1:E9QsW5WRe1kUAf7kW8hXKwu1uhsZEAdPLYHYSDudF4Y=
github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ=
github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc=
github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o= github.com/mr-tron/base58 v1.2.0 h1:T/HDJBh4ZCPbU39/+c3rRvE0uKBQlU27+QI8LJ4t64o=
@@ -366,18 +362,18 @@ go.abhg.dev/goldmark/frontmatter v0.2.0 h1:P8kPG0YkL12+aYk2yU3xHv4tcXzeVnN+gU0tJ
go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU= go.abhg.dev/goldmark/frontmatter v0.2.0/go.mod h1:XqrEkZuM57djk7zrlRUB02x8I5J0px76YjkOzhB4YlU=
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 h1:F7Jx+6hwnZ41NSFTO5q4LYDtJRXBf2PD0rNBkeB/lus= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0 h1:LMuyCAyfalSjDyjdC65nK6N0zoTT63+E/u95X0JovZI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.70.0/go.mod h1:085m8qbm4hgc8rZWGDEa4vmyyo2c3nPxUslYUKUIU04=
go.opentelemetry.io/otel v1.44.0 h1:JjwHmHpA4iZ3wBxluu2fbbE7j4kqlE8jXyAyPXH7HqU= go.opentelemetry.io/otel v1.45.0 h1:pdrWmLHofpubmArBv1LgFSv1Z0Ie/ppdZzu+kUN5EeU=
go.opentelemetry.io/otel v1.44.0/go.mod h1:BMgjTHL9WPRlRjL2oZCBTL4whCGtXch2H4BhOPIAyYc= go.opentelemetry.io/otel v1.45.0/go.mod h1:XZxIqPapzEYnhNSScF5DIqXhm/rYi0FzCe2XddAwZfQ=
go.opentelemetry.io/otel/metric v1.44.0 h1:1w0gILTcHdr3YI+ixLyjemwrVnsMURbTZFrSYCdDdmc= go.opentelemetry.io/otel/metric v1.45.0 h1:7Eg1uH7CJ5cXv9is6tnBe1FI6rj1nwUdbFypRm3br/M=
go.opentelemetry.io/otel/metric v1.44.0/go.mod h1:8O7hanEPBNgEMmybD3s2VBKcgWOCsA6tzHBPODAiquo= go.opentelemetry.io/otel/metric v1.45.0/go.mod h1:HAPbm1nd3p1PmFH7v2dR+6BjXxw+Lq4a2+pndMAm08s=
go.opentelemetry.io/otel/sdk v1.44.0 h1:nHYwb9lK+fJPU/dnT6s7W7Z8itMWyqrnVfbheVYrZ58= go.opentelemetry.io/otel/sdk v1.45.0 h1:4VVSMgQ83dUgW2aoX5f6JgLvHwIvzcuLnF9lUdCSpCw=
go.opentelemetry.io/otel/sdk v1.44.0/go.mod h1:Osuydd3Se74nqjAKxid74N5eC+jfEqfTegHRnq58oK0= go.opentelemetry.io/otel/sdk v1.45.0/go.mod h1:Sr40LgXV7DsKMMJMKOhUWOgMWTfAaqvm2kF0g7ilwuA=
go.opentelemetry.io/otel/sdk/metric v1.44.0 h1:3LlKgI+VjbVsjNRFZJZAJ30WjXC5VkNRks6si09iEfI= go.opentelemetry.io/otel/sdk/metric v1.45.0 h1:oVFszMfyj1Am6s24Vtc7wBb8BKLcwepJjNEYILuiE3o=
go.opentelemetry.io/otel/sdk/metric v1.44.0/go.mod h1:5B5pMARnXxKhltooO4xUuCBorl65a4EpnTalObqOigA= go.opentelemetry.io/otel/sdk/metric v1.45.0/go.mod h1:vUWUxDZvu1WVRj8JA8S0AdhsPrZoDpA2DdZauIh4mDA=
go.opentelemetry.io/otel/trace v1.44.0 h1:jxF5CsGYCe74MCRx2X4g7WsY/VBKRqqpNvXlX/6gtIk= go.opentelemetry.io/otel/trace v1.45.0 h1:l/mP6Uv7oNO7/TblbhpbgMidxhq1uO/rPsikOyVhxag=
go.opentelemetry.io/otel/trace v1.44.0/go.mod h1:oLl1jrMQAVo6v3GAggN+1VH9VIz9iUSvW53sW1Q8PIE= go.opentelemetry.io/otel/trace v1.45.0/go.mod h1:qoJJA2xNMnxRrdISU/kLtfUH2wNeQbiv+jhs/CxI8bc=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw= go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
@@ -401,8 +397,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To= golang.org/x/net v0.60.0 h1:79p50tfZlm0J9YfoDsSi639qSXNGVwEzOPLCxM2FsYU=
golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU= golang.org/x/net v0.60.0/go.mod h1:2DA/G1UfVbCpQPeWTmMPGY7Cs2PkBkwu743bVX5PIVg=
golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs=
golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -461,16 +457,16 @@ gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8= google.golang.org/genproto/googleapis/api v0.0.0-20260817212433-ac3dfec99bb1 h1:lrupDmKL3p5kEX1M92oan027eCKcouzjuPbH6YBK+Rs=
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY= google.golang.org/genproto/googleapis/api v0.0.0-20260817212433-ac3dfec99bb1/go.mod h1:q/3oV3jAi5vwelxsVAprMBC8BcM2zmNe+IjRGd+9/ks=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= google.golang.org/genproto/googleapis/rpc v0.0.0-20260817212433-ac3dfec99bb1 h1:utmqiUzZAEINbLmRyAt1QjVkMyLQ+lvIwCpLaB1rZfw=
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/genproto/googleapis/rpc v0.0.0-20260817212433-ac3dfec99bb1/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8=
google.golang.org/grpc v1.83.2 h1:EManeRomTObA0BU7I8vXgg/78uE5MJ9M8B39EX2WscU= google.golang.org/grpc v1.85.0-dev.0.20260825072537-93e31b48545e h1:ar+feAPij1Znzug45m6AoShUCc5AaR8FLA3I6LZd94k=
google.golang.org/grpc v1.83.2/go.mod h1:YPI1hK3kDked6iHvgX3tR0y+nX/qpMFKhPgFsokw1S8= google.golang.org/grpc v1.85.0-dev.0.20260825072537-93e31b48545e/go.mod h1:7aY/KlAHanMAVIWHnk8wloQsdlfwzDz/PP9vCbJG6CU=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= google.golang.org/protobuf v1.36.12 h1:pJOKDDOyeXErUroCihFAd5LQuwXBSpVnKGrj5o/fwxc=
google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= google.golang.org/protobuf v1.36.12/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
@@ -490,3 +486,7 @@ mvdan.cc/gofumpt v0.12.0 h1:1Lbudkz2kpM9Cjz2pL4M19u7q+GaEhCTNf7N9mfpcho=
mvdan.cc/gofumpt v0.12.0/go.mod h1:SmBHHrljiZu/uoypeKup3rFzP6eoC9UwCp2iH5E3jZA= mvdan.cc/gofumpt v0.12.0/go.mod h1:SmBHHrljiZu/uoypeKup3rFzP6eoC9UwCp2iH5E3jZA=
pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk=
pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04=
repo.anhonesthost.net/CyberCoveLLC/threshold/api v0.1.0 h1:koidiBvmCK/ySuBPSlYZTTT0xD57Y7n+wmDwE2cdGe8=
repo.anhonesthost.net/CyberCoveLLC/threshold/api v0.1.0/go.mod h1:zbM8drZPFYzaHCkso4i5iyl+3wwznWEildTGsnKhoGk=
repo.anhonesthost.net/CyberCoveLLC/threshold/sdk v0.1.0 h1:ExuSGqE1pA/1DnS5xrSK7kEhD+4g5hIJC5TgmwH5LAU=
repo.anhonesthost.net/CyberCoveLLC/threshold/sdk v0.1.0/go.mod h1:cWxYF3tEkYEKTY76ub8kL+vdGmopO0YfJqJGGQJov7k=
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -16,7 +16,7 @@ import (
func dataSourceAccount() *schema.Resource { func dataSourceAccount() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The boundary_account data source allows you to find a Boundary account.", Description: "The boundary_account data source allows you to find a Threshold account.",
ReadContext: dataSourceAccountRead, ReadContext: dataSourceAccountRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -16,7 +16,7 @@ import (
func dataSourceAuthMethod() *schema.Resource { func dataSourceAuthMethod() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The boundary_auth_method data source allows you to find a Boundary auth method.", Description: "The boundary_auth_method data source allows you to find a Threshold auth method.",
ReadContext: dataSourceAuthMethodRead, ReadContext: dataSourceAuthMethodRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/groups" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/groups"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -16,7 +16,7 @@ import (
func dataSourceGroup() *schema.Resource { func dataSourceGroup() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The boundary_group data source allows you to find a Boundary group.", Description: "The boundary_group data source allows you to find a Threshold group.",
ReadContext: dataSourceGroupRead, ReadContext: dataSourceGroupRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/roles" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/roles"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -16,7 +16,7 @@ import (
func dataSourceRole() *schema.Resource { func dataSourceRole() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The boundary_role data source allows you to find a Boundary role.", Description: "The boundary_role data source allows you to find a Threshold role.",
ReadContext: dataSourceRoleRead, ReadContext: dataSourceRoleRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+3 -3
View File
@@ -7,15 +7,15 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/scopes" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/scopes"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
func dataSourceScope() *schema.Resource { func dataSourceScope() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The scope data source allows you to discover an existing Boundary scope by name.", Description: "The scope data source allows you to discover an existing Threshold scope by name.",
ReadContext: dataSourceScopeRead, ReadContext: dataSourceScopeRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+2 -2
View File
@@ -6,7 +6,7 @@ package provider
import ( import (
"context" "context"
"github.com/hashicorp/boundary/api/users" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/users"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -14,7 +14,7 @@ import (
func dataSourceUser() *schema.Resource { func dataSourceUser() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The user data source allows you to find a Boundary user.", Description: "The user data source allows you to find a Threshold user.",
ReadContext: dataSourceUserRead, ReadContext: dataSourceUserRead,
Schema: map[string]*schema.Schema{ Schema: map[string]*schema.Schema{
+8 -8
View File
@@ -10,15 +10,15 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/boundary/sdk/wrapper" "repo.anhonesthost.net/CyberCoveLLC/threshold/sdk/wrapper"
wrapping "github.com/hashicorp/go-kms-wrapping/v2" wrapping "github.com/hashicorp/go-kms-wrapping/v2"
"github.com/hashicorp/go-secure-stdlib/configutil/v2" "github.com/hashicorp/go-secure-stdlib/configutil/v2"
"github.com/hashicorp/go-secure-stdlib/pluginutil/v2" "github.com/hashicorp/go-secure-stdlib/pluginutil/v2"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
kms_plugin_assets "github.com/hashicorp/terraform-provider-boundary/plugins/kms" kms_plugin_assets "repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/plugins/kms"
) )
const ( const (
@@ -38,12 +38,12 @@ func New() *schema.Provider {
"addr": { "addr": {
Type: schema.TypeString, Type: schema.TypeString,
Required: true, Required: true,
Description: `The base url of the Boundary API, e.g. "http://127.0.0.1:9200". If not set, it will be read from the "BOUNDARY_ADDR" env var.`, Description: `The base url of the Threshold API, e.g. "http://127.0.0.1:9200". If not set, it will be read from the "BOUNDARY_ADDR" env var.`,
}, },
"token": { "token": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Description: `The Boundary token to use, as a string or path on disk containing just the string. If set, the token read here will be used in place of authenticating with the auth method specified in "auth_method_id", although the recovery KMS mechanism will still override this. Can also be set with the BOUNDARY_TOKEN environment variable.`, Description: `The Threshold token to use, as a string or path on disk containing just the string. If set, the token read here will be used in place of authenticating with the auth method specified in "auth_method_id", although the recovery KMS mechanism will still override this. Can also be set with the BOUNDARY_TOKEN environment variable.`,
}, },
"recovery_kms_hcl": { "recovery_kms_hcl": {
Type: schema.TypeString, Type: schema.TypeString,
@@ -80,12 +80,12 @@ func New() *schema.Provider {
"tls_insecure": { "tls_insecure": {
Type: schema.TypeBool, Type: schema.TypeBool,
Optional: true, Optional: true,
Description: "When set to true, does not validate the Boundary API endpoint certificate", Description: "When set to true, does not validate the Threshold API endpoint certificate",
}, },
"plugin_execution_dir": { "plugin_execution_dir": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Description: `Specifies a directory that the Boundary provider can use to write and execute its built-in plugins.`, Description: `Specifies a directory that the Threshold provider can use to write and execute its built-in plugins.`,
}, },
"scope_id": { "scope_id": {
Type: schema.TypeString, Type: schema.TypeString,
+2 -2
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -19,7 +19,7 @@ const (
func resourceAccountLdap() *schema.Resource { func resourceAccountLdap() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The account resource allows you to configure a Boundary account.", Description: "The account resource allows you to configure a Threshold account.",
CreateContext: resourceAccountLdapCreate, CreateContext: resourceAccountLdapCreate,
ReadContext: resourceAccountLdapRead, ReadContext: resourceAccountLdapRead,
+3 -3
View File
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -21,7 +21,7 @@ const (
func resourceAccountOidc() *schema.Resource { func resourceAccountOidc() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The account resource allows you to configure a Boundary account.", Description: "The account resource allows you to configure a Threshold account.",
CreateContext: resourceAccountOidcCreate, CreateContext: resourceAccountOidcCreate,
ReadContext: resourceAccountOidcRead, ReadContext: resourceAccountOidcRead,
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -21,7 +21,7 @@ const (
func resourceAccountPassword() *schema.Resource { func resourceAccountPassword() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The account resource allows you to configure a Boundary account.", Description: "The account resource allows you to configure a Threshold account.",
CreateContext: resourceAccountPasswordCreate, CreateContext: resourceAccountPasswordCreate,
ReadContext: resourceAccountPasswordRead, ReadContext: resourceAccountPasswordRead,
+2 -2
View File
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/accounts" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/accounts"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
+4 -4
View File
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/aliases" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/aliases"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -27,7 +27,7 @@ const (
func resourceAliasTarget() *schema.Resource { func resourceAliasTarget() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The target alias resource allows you to configure a Boundary target alias at project and global scopes.", Description: "The target alias resource allows you to configure a Threshold target alias at project and global scopes.",
CreateContext: resourceTargetAliasCreate, CreateContext: resourceTargetAliasCreate,
ReadContext: resourceTargetAliasRead, ReadContext: resourceTargetAliasRead,
@@ -72,7 +72,7 @@ func resourceAliasTarget() *schema.Resource {
// Target specific configurable parameters // Target specific configurable parameters
aliasTargetAuthorizeSessionHostIdKey: { aliasTargetAuthorizeSessionHostIdKey: {
Description: "The host id to pass to Boundary when performing an authorize session action.", Description: "The host id to pass to Threshold when performing an authorize session action.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
}, },
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/aliases" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/aliases"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
+3 -3
View File
@@ -8,8 +8,8 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/validation"
@@ -17,7 +17,7 @@ import (
func resourceAuthMethod() *schema.Resource { func resourceAuthMethod() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The auth method resource allows you to configure a Boundary auth_method.", Description: "The auth method resource allows you to configure a Threshold auth_method.",
CreateContext: resourceAuthMethodCreate, CreateContext: resourceAuthMethodCreate,
ReadContext: resourceAuthMethodRead, ReadContext: resourceAuthMethodRead,
@@ -8,8 +8,8 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -49,7 +49,7 @@ const (
func resourceAuthMethodLdap() *schema.Resource { func resourceAuthMethodLdap() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The LDAP auth method resource allows you to configure a Boundary auth_method_ldap.", Description: "The LDAP auth method resource allows you to configure a Threshold auth_method_ldap.",
CreateContext: resourceAuthMethodLdapCreate, CreateContext: resourceAuthMethodLdapCreate,
ReadContext: resourceAuthMethodLdapRead, ReadContext: resourceAuthMethodLdapRead,
@@ -212,13 +212,13 @@ func resourceAuthMethodLdap() *schema.Resource {
// LDAP specific immutable and computed parameters // LDAP specific immutable and computed parameters
authMethodLdapClientCertKeyHmacKey: { authMethodLdapClientCertKeyHmacKey: {
Description: "The HMAC of the client certificate key returned by the Boundary controller, which is used for comparison after initial setting of the value.", Description: "The HMAC of the client certificate key returned by the Threshold controller, which is used for comparison after initial setting of the value.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true, Computed: true,
}, },
authMethodLdapBindPasswordHmacKey: { authMethodLdapBindPasswordHmacKey: {
Description: "The HMAC of the bind password returned by the Boundary controller, which is used for comparison after initial setting of the value.", Description: "The HMAC of the bind password returned by the Threshold controller, which is used for comparison after initial setting of the value.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true, Computed: true,
@@ -8,9 +8,9 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/boundary/api/scopes" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/scopes"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -40,7 +40,7 @@ const (
func resourceAuthMethodOidc() *schema.Resource { func resourceAuthMethodOidc() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The OIDC auth method resource allows you to configure a Boundary auth_method_oidc.", Description: "The OIDC auth method resource allows you to configure a Threshold auth_method_oidc.",
CreateContext: resourceAuthMethodOidcCreate, CreateContext: resourceAuthMethodOidcCreate,
ReadContext: resourceAuthMethodOidcRead, ReadContext: resourceAuthMethodOidcRead,
@@ -167,7 +167,7 @@ func resourceAuthMethodOidc() *schema.Resource {
// OIDC specific immutable and computed parameters // OIDC specific immutable and computed parameters
authmethodOidcClientSecretHmacKey: { authmethodOidcClientSecretHmacKey: {
Description: "The HMAC of the client secret returned by the Boundary controller, which is used for comparison after initial setting of the value.", Description: "The HMAC of the client secret returned by the Threshold controller, which is used for comparison after initial setting of the value.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true, Computed: true,
@@ -9,8 +9,8 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/boundary/api/scopes" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/scopes"
"github.com/hashicorp/cap/oidc" "github.com/hashicorp/cap/oidc"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
@@ -8,8 +8,8 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -23,7 +23,7 @@ const (
func resourceAuthMethodPassword() *schema.Resource { func resourceAuthMethodPassword() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The auth method resource allows you to configure a Boundary auth_method_password.", Description: "The auth method resource allows you to configure a Threshold auth_method_password.",
CreateContext: resourceAuthMethodPasswordCreate, CreateContext: resourceAuthMethodPasswordCreate,
ReadContext: resourceAuthMethodPasswordRead, ReadContext: resourceAuthMethodPasswordRead,
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/authmethods" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/authmethods"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -8,8 +8,8 @@ import (
"encoding/json" "encoding/json"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentiallibraries" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentiallibraries"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -31,7 +31,7 @@ var libraryVaultAttrs = []string{
func resourceCredentialLibraryVault() *schema.Resource { func resourceCredentialLibraryVault() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The credential library for Vault resource allows you to configure a Boundary credential library for Vault.", Description: "The credential library for Vault resource allows you to configure a Threshold credential library for Vault.",
CreateContext: resourceCredentialLibraryCreateVault, CreateContext: resourceCredentialLibraryCreateVault,
ReadContext: resourceCredentialLibraryReadVault, ReadContext: resourceCredentialLibraryReadVault,
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentiallibraries" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentiallibraries"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -24,7 +24,7 @@ var libraryVaultLdapAttrs = []string{
func resourceCredentialLibraryVaultLdap() *schema.Resource { func resourceCredentialLibraryVaultLdap() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The credential library for Vault LDAP resource allows you to configure a Boundary credential library for Vault LDAP.", Description: "The credential library for Vault LDAP resource allows you to configure a Threshold credential library for Vault LDAP.",
CreateContext: resourceCredentialLibraryCreateVaultLdap, CreateContext: resourceCredentialLibraryCreateVaultLdap,
ReadContext: resourceCredentialLibraryReadVaultLdap, ReadContext: resourceCredentialLibraryReadVaultLdap,
@@ -10,7 +10,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-provider-boundary/internal/testing/vault" "repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/internal/testing/vault"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentiallibraries" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentiallibraries"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -40,7 +40,7 @@ var libraryVaultSshCertificateAttrs = []string{
func resourceCredentialLibraryVaultSshCertificate() *schema.Resource { func resourceCredentialLibraryVaultSshCertificate() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The credential library for Vault resource allows you to configure a Boundary credential library for Vault.", Description: "The credential library for Vault resource allows you to configure a Threshold credential library for Vault.",
CreateContext: resourceCredentialLibraryCreateVaultSshCertificate, CreateContext: resourceCredentialLibraryCreateVaultSshCertificate,
ReadContext: resourceCredentialLibraryReadVaultSshCertificate, ReadContext: resourceCredentialLibraryReadVaultSshCertificate,
@@ -11,7 +11,7 @@ import (
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-provider-boundary/internal/testing/vault" "repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/internal/testing/vault"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@@ -9,13 +9,13 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentiallibraries" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentiallibraries"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform" "github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-provider-boundary/internal/testing/vault" "repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/internal/testing/vault"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
) )
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -8,7 +8,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentialstores" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentialstores"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -17,7 +17,7 @@ const staticCredentialStoreType = "static"
func resourceCredentialStoreStatic() *schema.Resource { func resourceCredentialStoreStatic() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The static credential store resource allows you to configure a Boundary static credential store.", Description: "The static credential store resource allows you to configure a Threshold static credential store.",
CreateContext: resourceStaticCredentialStoreCreate, CreateContext: resourceStaticCredentialStoreCreate,
ReadContext: resourceStaticCredentialStoreRead, ReadContext: resourceStaticCredentialStoreRead,
@@ -8,7 +8,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/hashicorp/boundary/api/credentialstores" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentialstores"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -8,8 +8,8 @@ import (
"fmt" "fmt"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentialstores" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentialstores"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -41,7 +41,7 @@ var storeVaultAttrs = []string{
func resourceCredentialStoreVault() *schema.Resource { func resourceCredentialStoreVault() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The credential store for Vault resource allows you to configure a Boundary credential store for Vault.", Description: "The credential store for Vault resource allows you to configure a Threshold credential store for Vault.",
CreateContext: resourceCredentialStoreVaultCreate, CreateContext: resourceCredentialStoreVaultCreate,
ReadContext: resourceCredentialStoreVaultRead, ReadContext: resourceCredentialStoreVaultRead,
@@ -126,7 +126,7 @@ func resourceCredentialStoreVault() *schema.Resource {
Computed: true, Computed: true,
}, },
credentialStoreVaultWorkerFilterKey: { credentialStoreVaultWorkerFilterKey: {
Description: "HCP Only. A filter used to control which PKI workers can handle Vault requests. This allows the use of private Vault instances with Boundary.", Description: "HCP Only. A filter used to control which PKI workers can handle Vault requests. This allows the use of private Vault instances with Threshold.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
}, },
@@ -13,13 +13,13 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentialstores" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentialstores"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
"github.com/hashicorp/terraform-plugin-sdk/v2/terraform" "github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
"github.com/hashicorp/terraform-provider-boundary/internal/testing/vault" "repo.anhonesthost.net/CyberCoveLLC/terraform-provider-threshold/internal/testing/vault"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
"golang.org/x/crypto/blake2b" "golang.org/x/crypto/blake2b"
) )
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"strings" "strings"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -8,7 +8,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -8,7 +8,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/hashicorp/boundary/api/credentials" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/credentials"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
+3 -3
View File
@@ -7,15 +7,15 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/groups" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/groups"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
func resourceGroup() *schema.Resource { func resourceGroup() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The group resource allows you to configure a Boundary group.", Description: "The group resource allows you to configure a Threshold group.",
CreateContext: resourceGroupCreate, CreateContext: resourceGroupCreate,
ReadContext: resourceGroupRead, ReadContext: resourceGroupRead,
+2 -2
View File
@@ -10,8 +10,8 @@ import (
"strings" "strings"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/groups" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/groups"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -15,8 +15,8 @@ import (
"net/http" "net/http"
"strconv" "strconv"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/hostcatalogs" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/hostcatalogs"
"github.com/hashicorp/go-secure-stdlib/parseutil" "github.com/hashicorp/go-secure-stdlib/parseutil"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -29,7 +29,7 @@ const (
func resourceHostCatalogPlugin() *schema.Resource { func resourceHostCatalogPlugin() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The host catalog resource allows you to configure a Boundary plugin-type host catalog. Host " + Description: "The host catalog resource allows you to configure a Threshold plugin-type host catalog. Host " +
"catalogs are always part of a project, so a project resource should be used inline or you " + "catalogs are always part of a project, so a project resource should be used inline or you " +
"should have the project ID in hand to successfully configure a host catalog.", "should have the project ID in hand to successfully configure a host catalog.",
@@ -130,7 +130,7 @@ func resourceHostCatalogPlugin() *schema.Resource {
Computed: true, Computed: true,
}, },
internalHmacUsedForSecretsConfigHmacKey: { internalHmacUsedForSecretsConfigHmacKey: {
Description: "Internal only. The Boundary-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection.", Description: "Internal only. The Threshold-provided HMAC used to calculate the current value of the HMAC'd config. Used for drift detection.",
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true, Computed: true,
@@ -269,11 +269,11 @@ func calculateConfigHmacPlan(serverHmac, secretsJson string, d *schema.ResourceD
// State 6a: mismatch. Warn the user. // State 6a: mismatch. Warn the user.
return false, false, &diag.Diagnostic{ return false, false, &diag.Diagnostic{
Severity: diag.Warning, Severity: diag.Warning,
Summary: "Mismatch in secrets state between Boundary and Terraform.", Summary: "Mismatch in secrets state between Threshold and Terraform.",
Detail: `Boundary's secret state is out of sync with Terraform. Usually this is the result of secrets being provided ` + Detail: `Threshold's secret state is out of sync with Terraform. Usually this is the result of secrets being provided ` +
`directly via Boundary's API. To suppress this warning, either remove the secrets via Boundary's API and allow Terraform to ` + `directly via Threshold's API. To suppress this warning, either remove the secrets via Threshold's API and allow Terraform to ` +
`repopulate them, or remove the secrets_json block from Terraform's configuration file (the next time you add secrets_json ` + `repopulate them, or remove the secrets_json block from Terraform's configuration file (the next time you add secrets_json ` +
`back to the file, those values will be used to overwrite the current Boundary values.)`, `back to the file, those values will be used to overwrite the current Threshold values.)`,
}, nil }, nil
default: default:
@@ -10,7 +10,7 @@ import (
"fmt" "fmt"
"testing" "testing"
"github.com/hashicorp/boundary/api/hostcatalogs" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/hostcatalogs"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
@@ -7,8 +7,8 @@ import (
"context" "context"
"net/http" "net/http"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/hostcatalogs" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/hostcatalogs"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag" "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
) )
@@ -64,7 +64,7 @@ func resourceHostCatalog() *schema.Resource {
func resourceHostCatalogStatic() *schema.Resource { func resourceHostCatalogStatic() *schema.Resource {
return &schema.Resource{ return &schema.Resource{
Description: "The static host catalog resource allows you to configure a Boundary static-type host catalog. Host " + Description: "The static host catalog resource allows you to configure a Threshold static-type host catalog. Host " +
"catalogs are always part of a project, so a project resource should be used inline or you " + "catalogs are always part of a project, so a project resource should be used inline or you " +
"should have the project ID in hand to successfully configure a host catalog.", "should have the project ID in hand to successfully configure a host catalog.",
@@ -9,8 +9,8 @@ import (
"net/http" "net/http"
"testing" "testing"
"github.com/hashicorp/boundary/api" "repo.anhonesthost.net/CyberCoveLLC/threshold/api"
"github.com/hashicorp/boundary/api/hostcatalogs" "repo.anhonesthost.net/CyberCoveLLC/threshold/api/hostcatalogs"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/id" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/id"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/resource"
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema" "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
Loaded 100 of 147 files, more files were not shown because too many files have changed in this diff. Show more