From a1c5a98aa3d3c6749948d27933e2d177c0eb7790 Mon Sep 17 00:00:00 2001 From: Matthew Jeffryes Date: Tue, 12 Sep 2023 09:55:17 -0700 Subject: [PATCH 1/3] manual changes --- .goreleaser.prerelease.yml | 2 +- .goreleaser.yml | 2 +- Makefile | 2 +- README.md | 4 +- examples/examples_go_test.go | 2 +- examples/namespace/go/main.go | 2 +- provider/cmd/pulumi-resource-nomad/main.go | 4 +- provider/cmd/pulumi-tfgen-nomad/main.go | 4 +- provider/go.mod | 165 ++-- provider/go.sum | 953 +++++++++++++++++---- provider/resources.go | 13 +- sdk/go.mod | 101 ++- sdk/go.sum | 315 ++++--- sdk/python/README.md | 4 +- 14 files changed, 1157 insertions(+), 416 deletions(-) diff --git a/.goreleaser.prerelease.yml b/.goreleaser.prerelease.yml index d499278f..5d9b1d50 100644 --- a/.goreleaser.prerelease.yml +++ b/.goreleaser.prerelease.yml @@ -32,7 +32,7 @@ builds: - env GOOS={{ .Os }} GOARCH={{ .Arch }} go clean -modcache ignore: [] ldflags: - - -X github.com/pulumi/pulumi-nomad/provider/pkg/version.Version={{.Tag}} + - -X github.com/pulumi/pulumi-nomad/provider/v2/pkg/version.Version={{.Tag}} main: ./cmd/pulumi-resource-nomad/ changelog: skip: true diff --git a/.goreleaser.yml b/.goreleaser.yml index 2ad6fde1..51b7e302 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -32,7 +32,7 @@ builds: - env GOOS={{ .Os }} GOARCH={{ .Arch }} go clean -modcache ignore: [] ldflags: - - -X github.com/pulumi/pulumi-nomad/provider/pkg/version.Version={{.Tag}} + - -X github.com/pulumi/pulumi-nomad/provider/v2/pkg/version.Version={{.Tag}} main: ./cmd/pulumi-resource-nomad/ changelog: filters: diff --git a/Makefile b/Makefile index 9287162a..e426cc35 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ PACK := nomad ORG := pulumi PROJECT := github.com/$(ORG)/pulumi-$(PACK) -PROVIDER_PATH := provider +PROVIDER_PATH := provider/v2 VERSION_PATH := $(PROVIDER_PATH)/pkg/version.Version TFGEN := pulumi-tfgen-$(PACK) PROVIDER := pulumi-resource-$(PACK) diff --git a/README.md b/README.md index 280fcca1..2067aa76 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![NPM version](https://badge.fury.io/js/%40pulumi%2Fnomad.svg)](https://www.npmjs.com/package/@pulumi/nomad) [![Python version](https://badge.fury.io/py/pulumi-nomad.svg)](https://pypi.org/project/pulumi-nomad) [![NuGet version](https://badge.fury.io/nu/pulumi.nomad.svg)](https://badge.fury.io/nu/pulumi.nomad) -[![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-nomad/sdk/go)](https://pkg.go.dev/github.com/pulumi/pulumi-nomad/sdk/go) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-nomad/sdk/v2/go)](https://pkg.go.dev/github.com/pulumi/pulumi-nomad/sdk/v2/go) [![License](https://img.shields.io/npm/l/%40pulumi%2Fpulumi.svg)](https://github.com/pulumi/pulumi-nomad/blob/master/LICENSE) # HashiCorp Nomad Resource Provider @@ -34,7 +34,7 @@ To use from Python, install using `pip`: To use from Go, use `go get` to grab the latest version of the library - $ go get github.com/pulumi/pulumi-nomad/sdk + $ go get github.com/pulumi/pulumi-nomad/sdk/v2 ### .NET diff --git a/examples/examples_go_test.go b/examples/examples_go_test.go index b93c3b25..d91ab346 100644 --- a/examples/examples_go_test.go +++ b/examples/examples_go_test.go @@ -23,7 +23,7 @@ func getGoBaseOptions(t *testing.T) integration.ProgramTestOptions { base := getBaseOptions(t) baseGo := base.With(integration.ProgramTestOptions{ Dependencies: []string{ - "github.com/pulumi/pulumi-nomad/sdk", + "github.com/pulumi/pulumi-nomad/sdk/v2/", }, }) diff --git a/examples/namespace/go/main.go b/examples/namespace/go/main.go index b18a2d4e..84c32b90 100644 --- a/examples/namespace/go/main.go +++ b/examples/namespace/go/main.go @@ -1,7 +1,7 @@ package main import ( - "github.com/pulumi/pulumi-nomad/sdk/go/nomad" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) diff --git a/provider/cmd/pulumi-resource-nomad/main.go b/provider/cmd/pulumi-resource-nomad/main.go index fc677c46..8544ec3e 100644 --- a/provider/cmd/pulumi-resource-nomad/main.go +++ b/provider/cmd/pulumi-resource-nomad/main.go @@ -19,8 +19,8 @@ package main import ( _ "embed" - nomad "github.com/pulumi/pulumi-nomad/provider" - "github.com/pulumi/pulumi-nomad/provider/pkg/version" + nomad "github.com/pulumi/pulumi-nomad/provider/v2" + "github.com/pulumi/pulumi-nomad/provider/v2/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" ) diff --git a/provider/cmd/pulumi-tfgen-nomad/main.go b/provider/cmd/pulumi-tfgen-nomad/main.go index b58c058a..71f72f8f 100644 --- a/provider/cmd/pulumi-tfgen-nomad/main.go +++ b/provider/cmd/pulumi-tfgen-nomad/main.go @@ -15,8 +15,8 @@ package main import ( - nomad "github.com/pulumi/pulumi-nomad/provider" - "github.com/pulumi/pulumi-nomad/provider/pkg/version" + nomad "github.com/pulumi/pulumi-nomad/provider/v2" + "github.com/pulumi/pulumi-nomad/provider/v2/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfgen" ) diff --git a/provider/go.mod b/provider/go.mod index 25f36a9b..8fb4dc99 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -1,30 +1,35 @@ -module github.com/pulumi/pulumi-nomad/provider +module github.com/pulumi/pulumi-nomad/provider/v2 go 1.21 replace ( - // https://github.com/hashicorp/nomad/blob/v1.3.4/go.mod#L9 - github.com/hashicorp/hcl => github.com/hashicorp/hcl v1.0.1-0.20201016140508-a07e7d50bbee - github.com/hashicorp/hcl/v2 => github.com/hashicorp/hcl/v2 v2.9.2-0.20210407182552-eb14f8319bdc + // Set to the version used by Nomad + // https://github.com/hashicorp/nomad/blob/v1.6.0-rc.1/go.mod#L74 + github.com/hashicorp/hcl/v2 => github.com/hashicorp/hcl/v2 v2.9.2-0.20220525143345-ab3cae0737bc + + // Set plugin-sdk version to the one used by tfbridge + github.com/hashicorp/terraform-plugin-sdk/v2 => github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d + + // pin the vault dep github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0 github.com/spf13/afero => github.com/spf13/afero v1.2.2 ) require ( - github.com/hashicorp/terraform-provider-nomad v1.4.20 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.49.0 - github.com/pulumi/pulumi/sdk/v3 v3.69.0 + github.com/hashicorp/terraform-provider-nomad v1.4.21-0.20230828192727-f173c57d416d + github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 + github.com/pulumi/pulumi/sdk/v3 v3.81.0 ) require ( - cloud.google.com/go v0.107.0 // indirect - cloud.google.com/go/compute v1.15.1 // indirect + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.20.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.8.0 // indirect - cloud.google.com/go/kms v1.6.0 // indirect - cloud.google.com/go/logging v1.6.1 // indirect - cloud.google.com/go/longrunning v0.3.0 // indirect - cloud.google.com/go/storage v1.27.0 // indirect + cloud.google.com/go/iam v1.1.1 // indirect + cloud.google.com/go/kms v1.12.1 // indirect + cloud.google.com/go/logging v1.7.0 // indirect + cloud.google.com/go/longrunning v0.5.1 // indirect + cloud.google.com/go/storage v1.30.1 // indirect github.com/AlecAivazis/survey/v2 v2.0.5 // indirect github.com/Azure/azure-sdk-for-go v66.0.0+incompatible // indirect github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.1 // indirect @@ -45,18 +50,18 @@ require ( github.com/BurntSushi/toml v1.2.1 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect - github.com/Masterminds/semver/v3 v3.1.1 // indirect - github.com/Masterminds/sprig/v3 v3.2.1 // indirect + github.com/Masterminds/semver/v3 v3.2.0 // indirect + github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/Microsoft/go-winio v0.6.0 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 // indirect + github.com/acomagu/bufpipe v1.0.4 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect github.com/agext/levenshtein v1.2.3 // indirect github.com/apparentlymart/go-cidr v1.1.0 // indirect github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect - github.com/armon/go-metrics v0.4.1 // indirect github.com/armon/go-radix v1.0.0 // indirect - github.com/aws/aws-sdk-go v1.44.184 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aws/aws-sdk-go v1.44.298 // indirect github.com/aws/aws-sdk-go-v2 v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.3 // indirect github.com/aws/aws-sdk-go-v2/config v1.15.15 // indirect @@ -76,81 +81,85 @@ require ( github.com/aws/aws-sdk-go-v2/service/sso v1.11.13 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.16.10 // indirect github.com/aws/smithy-go v1.13.5 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect github.com/bgentry/speakeasy v0.1.0 // indirect github.com/blang/semver v3.5.1+incompatible // indirect github.com/bmatcuk/doublestar v1.1.5 // indirect github.com/cenkalti/backoff/v3 v3.2.2 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect github.com/cheggaaa/pb v1.0.29 // indirect github.com/cloudflare/circl v1.3.3 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/djherbis/times v1.5.0 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect + github.com/dustin/go-humanize v1.0.1 // indirect github.com/edsrzf/mmap-go v1.1.0 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/ettle/strcase v0.1.1 // indirect - github.com/fatih/color v1.13.0 // indirect + github.com/fatih/color v1.15.0 // indirect github.com/gedex/inflector v0.0.0-20170307190818-16278e9db813 // indirect github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.4.0 // indirect - github.com/go-git/go-git/v5 v5.6.0 // indirect + github.com/go-git/go-billy/v5 v5.4.1 // indirect + github.com/go-git/go-git/v5 v5.6.1 // indirect github.com/gofrs/uuid v4.2.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt v3.2.1+incompatible // indirect github.com/golang-jwt/jwt/v4 v4.4.3 // indirect - github.com/golang/glog v1.0.0 // indirect + github.com/golang/glog v1.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/golang/snappy v0.0.4 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/go-querystring v1.1.0 // indirect + github.com/google/s2a-go v0.1.4 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.3.0 // indirect github.com/google/wire v0.5.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.0 // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/mux v1.8.0 // indirect github.com/gorilla/websocket v1.5.0 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect - github.com/hashicorp/cronexpr v1.1.1 // indirect + github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-checkpoint v0.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840 // indirect github.com/hashicorp/go-getter v1.7.1 // indirect - github.com/hashicorp/go-hclog v1.4.0 // indirect - github.com/hashicorp/go-immutable-radix v1.3.1 // indirect + github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-plugin v1.4.9 // indirect - github.com/hashicorp/go-retryablehttp v0.7.1 // indirect + github.com/hashicorp/go-plugin v1.4.10 // indirect + github.com/hashicorp/go-retryablehttp v0.7.2 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect - github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 // indirect - github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 // indirect + github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 // indirect github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 // indirect github.com/hashicorp/go-sockaddr v1.0.2 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-version v1.6.0 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/hc-install v0.5.2 // indirect github.com/hashicorp/hcl v1.0.1-vault-3 // indirect - github.com/hashicorp/hcl/v2 v2.16.2 // indirect + github.com/hashicorp/hcl/v2 v2.17.0 // indirect github.com/hashicorp/hil v0.0.0-20210521165536-27a72121fd40 // indirect github.com/hashicorp/logutils v1.0.0 // indirect - github.com/hashicorp/nomad v1.5.2 // indirect - github.com/hashicorp/nomad/api v0.0.0-20230321225438-9a2fdb5f53dc // indirect - github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 // indirect - github.com/hashicorp/terraform-exec v0.13.3 // indirect - github.com/hashicorp/terraform-json v0.10.0 // indirect - github.com/hashicorp/terraform-plugin-sdk v1.17.2 // indirect - github.com/hashicorp/terraform-plugin-test/v2 v2.2.1 // indirect - github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 // indirect + github.com/hashicorp/nomad v1.6.0 // indirect + github.com/hashicorp/nomad/api v0.0.0-20230718185111-87d411f4e3a6 // indirect + github.com/hashicorp/terraform-exec v0.18.1 // indirect + github.com/hashicorp/terraform-json v0.17.0 // indirect + github.com/hashicorp/terraform-plugin-go v0.16.0 // indirect + github.com/hashicorp/terraform-plugin-log v0.9.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.27.0 // indirect + github.com/hashicorp/terraform-registry-address v0.2.1 // indirect + github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/vault v0.10.4 // indirect - github.com/hashicorp/vault/api v1.8.3 // indirect - github.com/hashicorp/vault/sdk v0.7.0 // indirect + github.com/hashicorp/vault/api v1.9.1 // indirect + github.com/hashicorp/vault/sdk v0.9.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect - github.com/huandu/xstrings v1.3.2 // indirect + github.com/huandu/xstrings v1.4.0 // indirect github.com/iancoleman/strcase v0.2.0 // indirect github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd // indirect github.com/imdario/mergo v0.3.13 // indirect @@ -162,12 +171,13 @@ require ( github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.15.11 // indirect github.com/kylelemons/godebug v1.1.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-runewidth v0.0.13 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b // indirect github.com/mitchellh/cli v1.1.5 // indirect - github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-ps v1.0.0 // indirect @@ -178,25 +188,27 @@ require ( github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.1 // indirect github.com/natefinch/atomic v1.0.1 // indirect github.com/oklog/run v1.1.0 // indirect github.com/opentracing/basictracer-go v1.1.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 // indirect - github.com/pierrec/lz4 v2.6.1+incompatible // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/posener/complete v1.2.3 // indirect - github.com/pulumi/pulumi-java/pkg v0.9.2 // indirect + github.com/pulumi/pulumi-java/pkg v0.9.6 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 // indirect - github.com/pulumi/pulumi-yaml v1.1.1 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.69.0 // indirect + github.com/pulumi/pulumi-yaml v1.2.2 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.81.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect - github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e // indirect + github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -205,48 +217,51 @@ require ( github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect github.com/segmentio/asm v1.1.3 // indirect github.com/segmentio/encoding v0.3.5 // indirect - github.com/sergi/go-diff v1.2.0 // indirect - github.com/shopspring/decimal v1.2.0 // indirect + github.com/sergi/go-diff v1.3.1 // indirect + github.com/shopspring/decimal v1.3.1 // indirect github.com/skeema/knownhosts v1.1.0 // indirect github.com/spf13/afero v1.9.5 // indirect - github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.7.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/stretchr/testify v1.8.2 // indirect + github.com/stretchr/testify v1.8.4 // indirect github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect github.com/uber/jaeger-lib v2.4.1+incompatible // indirect github.com/ulikunitz/xz v0.5.10 // indirect + github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect - github.com/zclconf/go-cty v1.13.1 // indirect + github.com/zclconf/go-cty v1.13.2 // indirect github.com/zclconf/go-cty-yaml v1.0.3 // indirect go.opencensus.io v0.24.0 // indirect go.uber.org/atomic v1.9.0 // indirect gocloud.dev v0.27.0 // indirect gocloud.dev/secrets/hashivault v0.27.0 // indirect - golang.org/x/crypto v0.5.0 // indirect - golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a // indirect + golang.org/x/crypto v0.10.0 // indirect + golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect golang.org/x/mod v0.10.0 // indirect - golang.org/x/net v0.8.0 // indirect - golang.org/x/oauth2 v0.4.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.6.0 // indirect - golang.org/x/term v0.6.0 // indirect - golang.org/x/text v0.8.0 // indirect - golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 // indirect - golang.org/x/tools v0.6.0 // indirect + golang.org/x/net v0.11.0 // indirect + golang.org/x/oauth2 v0.8.0 // indirect + golang.org/x/sync v0.2.0 // indirect + golang.org/x/sys v0.9.0 // indirect + golang.org/x/term v0.9.0 // indirect + golang.org/x/text v0.10.0 // indirect + golang.org/x/time v0.3.0 // indirect + golang.org/x/tools v0.9.3 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect - google.golang.org/api v0.103.0 // indirect + google.golang.org/api v0.126.0 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect - google.golang.org/grpc v1.54.0 // indirect - google.golang.org/protobuf v1.29.1 // indirect + google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/grpc v1.57.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/square/go-jose.v2 v2.6.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/provider/go.sum b/provider/go.sum index ea779016..6526212c 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -15,7 +15,6 @@ cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6 cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.61.0/go.mod h1:XukKJg4Y7QsUu0Hxg3qQKUWR4VuWivmyMK2+rUyxAqw= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= @@ -38,24 +37,87 @@ cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+ cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.103.0/go.mod h1:vwLx1nqLrzLX/fpwSMOXmFIqBOyHsvHbnAdbGSJ+mKk= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.107.0 h1:qkj22L7bgkl6vIeZDlOY2po43Mx/TIa2Wsa7VR+PEww= +cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= +cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= +cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= +cloud.google.com/go/accesscontextmanager v1.3.0/go.mod h1:TgCBehyr5gNMz7ZaH9xubp+CE8dkrszb4oK9CWyvD4o= +cloud.google.com/go/accesscontextmanager v1.4.0/go.mod h1:/Kjh7BBu/Gh83sv+K60vN9QE5NJcd80sU33vIe2IFPE= +cloud.google.com/go/accesscontextmanager v1.6.0/go.mod h1:8XCvZWfYw3K/ji0iVnp+6pu7huxoQTLmxAbVjbloTtM= +cloud.google.com/go/accesscontextmanager v1.7.0/go.mod h1:CEGLewx8dwa33aDAZQujl7Dx+uYhS0eay198wB/VumQ= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= +cloud.google.com/go/aiplatform v1.27.0/go.mod h1:Bvxqtl40l0WImSb04d0hXFU7gDOiq9jQmorivIiWcKg= +cloud.google.com/go/aiplatform v1.35.0/go.mod h1:7MFT/vCaOyZT/4IIFfxH4ErVg/4ku6lKv3w0+tFTgXQ= +cloud.google.com/go/aiplatform v1.36.1/go.mod h1:WTm12vJRPARNvJ+v6P52RDHCNe4AhvjcIZ/9/RRHy/k= +cloud.google.com/go/aiplatform v1.37.0/go.mod h1:IU2Cv29Lv9oCn/9LkFiiuKfwrRTq+QQMbW+hPCxJGZw= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= cloud.google.com/go/analytics v0.12.0/go.mod h1:gkfj9h6XRf9+TS4bmuhPEShsh3hH8PAZzm/41OOhQd4= +cloud.google.com/go/analytics v0.17.0/go.mod h1:WXFa3WSym4IZ+JiKmavYdJwGG/CvpqiqczmL59bTD9M= +cloud.google.com/go/analytics v0.18.0/go.mod h1:ZkeHGQlcIPkw0R/GW+boWHhCOR43xz9RN/jn7WcqfIE= +cloud.google.com/go/analytics v0.19.0/go.mod h1:k8liqf5/HCnOUkbawNtrWWc+UAzyDlW89doe8TtoDsE= +cloud.google.com/go/apigateway v1.3.0/go.mod h1:89Z8Bhpmxu6AmUxuVRg/ECRGReEdiP3vQtk4Z1J9rJk= +cloud.google.com/go/apigateway v1.4.0/go.mod h1:pHVY9MKGaH9PQ3pJ4YLzoj6U5FUDeDFBllIz7WmzJoc= +cloud.google.com/go/apigateway v1.5.0/go.mod h1:GpnZR3Q4rR7LVu5951qfXPJCHquZt02jf7xQx7kpqN8= +cloud.google.com/go/apigeeconnect v1.3.0/go.mod h1:G/AwXFAKo0gIXkPTVfZDd2qA1TxBXJ3MgMRBQkIi9jc= +cloud.google.com/go/apigeeconnect v1.4.0/go.mod h1:kV4NwOKqjvt2JYR0AoIWo2QGfoRtn/pkS3QlHp0Ni04= +cloud.google.com/go/apigeeconnect v1.5.0/go.mod h1:KFaCqvBRU6idyhSNyn3vlHXc8VMDJdRmwDF6JyFRqZ8= +cloud.google.com/go/apigeeregistry v0.4.0/go.mod h1:EUG4PGcsZvxOXAdyEghIdXwAEi/4MEaoqLMLDMIwKXY= +cloud.google.com/go/apigeeregistry v0.5.0/go.mod h1:YR5+s0BVNZfVOUkMa5pAR2xGd0A473vA5M7j247o1wM= +cloud.google.com/go/apigeeregistry v0.6.0/go.mod h1:BFNzW7yQVLZ3yj0TKcwzb8n25CFBri51GVGOEUcgQsc= +cloud.google.com/go/apikeys v0.4.0/go.mod h1:XATS/yqZbaBK0HOssf+ALHp8jAlNHUgyfprvNcBIszU= +cloud.google.com/go/apikeys v0.5.0/go.mod h1:5aQfwY4D+ewMMWScd3hm2en3hCj+BROlyrt3ytS7KLI= +cloud.google.com/go/apikeys v0.6.0/go.mod h1:kbpXu5upyiAlGkKrJgQl8A0rKNNJ7dQ377pdroRSSi8= +cloud.google.com/go/appengine v1.4.0/go.mod h1:CS2NhuBuDXM9f+qscZ6V86m1MIIqPj3WC/UoEuR1Sno= +cloud.google.com/go/appengine v1.5.0/go.mod h1:TfasSozdkFI0zeoxW3PTBLiNqRmzraodCWatWI9Dmak= +cloud.google.com/go/appengine v1.6.0/go.mod h1:hg6i0J/BD2cKmDJbaFSYHFyZkgBEfQrDg/X0V5fJn84= +cloud.google.com/go/appengine v1.7.0/go.mod h1:eZqpbHFCqRGa2aCdope7eC0SWLV1j0neb/QnMJVWx6A= +cloud.google.com/go/appengine v1.7.1/go.mod h1:IHLToyb/3fKutRysUlFO0BPt5j7RiQ45nrzEJmKTo6E= cloud.google.com/go/area120 v0.5.0/go.mod h1:DE/n4mp+iqVyvxHN41Vf1CR602GiHQjFPusMFW6bGR4= cloud.google.com/go/area120 v0.6.0/go.mod h1:39yFJqWVgm0UZqWTOdqkLhjoC7uFfgXRC8g/ZegeAh0= +cloud.google.com/go/area120 v0.7.0/go.mod h1:a3+8EUD1SX5RUcCs3MY5YasiO1z6yLiNLRiFrykbynY= +cloud.google.com/go/area120 v0.7.1/go.mod h1:j84i4E1RboTWjKtZVWXPqvK5VHQFJRF2c1Nm69pWm9k= cloud.google.com/go/artifactregistry v1.6.0/go.mod h1:IYt0oBPSAGYj/kprzsBjZ/4LnG/zOcHyFHjWPCi6SAQ= cloud.google.com/go/artifactregistry v1.7.0/go.mod h1:mqTOFOnGZx8EtSqK/ZWcsm/4U8B77rbcLP6ruDU2Ixk= +cloud.google.com/go/artifactregistry v1.8.0/go.mod h1:w3GQXkJX8hiKN0v+at4b0qotwijQbYUqF2GWkZzAhC0= +cloud.google.com/go/artifactregistry v1.9.0/go.mod h1:2K2RqvA2CYvAeARHRkLDhMDJ3OXy26h3XW+3/Jh2uYc= +cloud.google.com/go/artifactregistry v1.11.1/go.mod h1:lLYghw+Itq9SONbCa1YWBoWs1nOucMH0pwXN1rOBZFI= +cloud.google.com/go/artifactregistry v1.11.2/go.mod h1:nLZns771ZGAwVLzTX/7Al6R9ehma4WUEhZGWV6CeQNQ= +cloud.google.com/go/artifactregistry v1.12.0/go.mod h1:o6P3MIvtzTOnmvGagO9v/rOjjA0HmhJ+/6KAXrmYDCI= +cloud.google.com/go/artifactregistry v1.13.0/go.mod h1:uy/LNfoOIivepGhooAUpL1i30Hgee3Cu0l4VTWHUC08= cloud.google.com/go/asset v1.5.0/go.mod h1:5mfs8UvcM5wHhqtSv8J1CtxxaQq3AdBxxQi2jGW/K4o= cloud.google.com/go/asset v1.7.0/go.mod h1:YbENsRK4+xTiL+Ofoj5Ckf+O17kJtgp3Y3nn4uzZz5s= cloud.google.com/go/asset v1.8.0/go.mod h1:mUNGKhiqIdbr8X7KNayoYvyc4HbbFO9URsjbytpUaW0= +cloud.google.com/go/asset v1.9.0/go.mod h1:83MOE6jEJBMqFKadM9NLRcs80Gdw76qGuHn8m3h8oHQ= +cloud.google.com/go/asset v1.10.0/go.mod h1:pLz7uokL80qKhzKr4xXGvBQXnzHn5evJAEAtZiIb0wY= +cloud.google.com/go/asset v1.11.1/go.mod h1:fSwLhbRvC9p9CXQHJ3BgFeQNM4c9x10lqlrdEUYXlJo= +cloud.google.com/go/asset v1.12.0/go.mod h1:h9/sFOa4eDIyKmH6QMpm4eUK3pDojWnUhTgJlk762Hg= +cloud.google.com/go/asset v1.13.0/go.mod h1:WQAMyYek/b7NBpYq/K4KJWcRqzoalEsxz/t/dTk4THw= cloud.google.com/go/assuredworkloads v1.5.0/go.mod h1:n8HOZ6pff6re5KYfBXcFvSViQjDwxFkAkmUFffJRbbY= cloud.google.com/go/assuredworkloads v1.6.0/go.mod h1:yo2YOk37Yc89Rsd5QMVECvjaMKymF9OP+QXWlKXUkXw= cloud.google.com/go/assuredworkloads v1.7.0/go.mod h1:z/736/oNmtGAyU47reJgGN+KVoYoxeLBoj4XkKYscNI= +cloud.google.com/go/assuredworkloads v1.8.0/go.mod h1:AsX2cqyNCOvEQC8RMPnoc0yEarXQk6WEKkxYfL6kGIo= +cloud.google.com/go/assuredworkloads v1.9.0/go.mod h1:kFuI1P78bplYtT77Tb1hi0FMxM0vVpRC7VVoJC3ZoT0= +cloud.google.com/go/assuredworkloads v1.10.0/go.mod h1:kwdUQuXcedVdsIaKgKTp9t0UJkE5+PAVNhdQm4ZVq2E= cloud.google.com/go/automl v1.5.0/go.mod h1:34EjfoFGMZ5sgJ9EoLsRtdPSNZLcfflJR39VbVNS2M0= cloud.google.com/go/automl v1.6.0/go.mod h1:ugf8a6Fx+zP0D59WLhqgTDsQI9w07o64uf/Is3Nh5p8= +cloud.google.com/go/automl v1.7.0/go.mod h1:RL9MYCCsJEOmt0Wf3z9uzG0a7adTT1fe+aObgSpkCt8= +cloud.google.com/go/automl v1.8.0/go.mod h1:xWx7G/aPEe/NP+qzYXktoBSDfjO+vnKMGgsApGJJquM= +cloud.google.com/go/automl v1.12.0/go.mod h1:tWDcHDp86aMIuHmyvjuKeeHEGq76lD7ZqfGLN6B0NuU= +cloud.google.com/go/baremetalsolution v0.3.0/go.mod h1:XOrocE+pvK1xFfleEnShBlNAXf+j5blPPxrhjKgnIFc= +cloud.google.com/go/baremetalsolution v0.4.0/go.mod h1:BymplhAadOO/eBa7KewQ0Ppg4A4Wplbn+PsFKRLo0uI= +cloud.google.com/go/baremetalsolution v0.5.0/go.mod h1:dXGxEkmR9BMwxhzBhV0AioD0ULBmuLZI8CdwalUxuss= +cloud.google.com/go/batch v0.3.0/go.mod h1:TR18ZoAekj1GuirsUsR1ZTKN3FC/4UDnScjT8NXImFE= +cloud.google.com/go/batch v0.4.0/go.mod h1:WZkHnP43R/QCGQsZ+0JyG4i79ranE2u8xvjq/9+STPE= +cloud.google.com/go/batch v0.7.0/go.mod h1:vLZN95s6teRUqRQ4s3RLDsH8PvboqBK+rn1oevL159g= +cloud.google.com/go/beyondcorp v0.2.0/go.mod h1:TB7Bd+EEtcw9PCPQhCJtJGjk/7TC6ckmnSFS+xwTfm4= +cloud.google.com/go/beyondcorp v0.3.0/go.mod h1:E5U5lcrcXMsCuoDNyGrpyTm/hn7ne941Jz2vmksAxW8= +cloud.google.com/go/beyondcorp v0.4.0/go.mod h1:3ApA0mbhHx6YImmuubf5pyW8srKnCEPON32/5hj+RmM= +cloud.google.com/go/beyondcorp v0.5.0/go.mod h1:uFqj9X+dSfrheVp7ssLTaRHd2EHqSL4QZmH4e8WXGGU= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -63,12 +125,44 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigquery v1.42.0/go.mod h1:8dRTJxhtG+vwBKzE5OseQn/hiydoQN3EedCaOdYmxRA= +cloud.google.com/go/bigquery v1.43.0/go.mod h1:ZMQcXHsl+xmU1z36G2jNGZmKp9zNY5BUua5wDgmNCfw= +cloud.google.com/go/bigquery v1.44.0/go.mod h1:0Y33VqXTEsbamHJvJHdFmtqHvMIY28aK1+dFsvaChGc= +cloud.google.com/go/bigquery v1.47.0/go.mod h1:sA9XOgy0A8vQK9+MWhEQTY6Tix87M/ZurWFIxmF9I/E= +cloud.google.com/go/bigquery v1.48.0/go.mod h1:QAwSz+ipNgfL5jxiaK7weyOhzdoAy1zFm0Nf1fysJac= +cloud.google.com/go/bigquery v1.49.0/go.mod h1:Sv8hMmTFFYBlt/ftw2uN6dFdQPzBlREY9yBh7Oy7/4Q= +cloud.google.com/go/bigquery v1.50.0/go.mod h1:YrleYEh2pSEbgTBZYMJ5SuSr0ML3ypjRB1zgf7pvQLU= cloud.google.com/go/billing v1.4.0/go.mod h1:g9IdKBEFlItS8bTtlrZdVLWSSdSyFUZKXNS02zKMOZY= cloud.google.com/go/billing v1.5.0/go.mod h1:mztb1tBc3QekhjSgmpf/CV4LzWXLzCArwpLmP2Gm88s= +cloud.google.com/go/billing v1.6.0/go.mod h1:WoXzguj+BeHXPbKfNWkqVtDdzORazmCjraY+vrxcyvI= +cloud.google.com/go/billing v1.7.0/go.mod h1:q457N3Hbj9lYwwRbnlD7vUpyjq6u5U1RAOArInEiD5Y= +cloud.google.com/go/billing v1.12.0/go.mod h1:yKrZio/eu+okO/2McZEbch17O5CB5NpZhhXG6Z766ss= +cloud.google.com/go/billing v1.13.0/go.mod h1:7kB2W9Xf98hP9Sr12KfECgfGclsH3CQR0R08tnRlRbc= cloud.google.com/go/binaryauthorization v1.1.0/go.mod h1:xwnoWu3Y84jbuHa0zd526MJYmtnVXn0syOjaJgy4+dM= cloud.google.com/go/binaryauthorization v1.2.0/go.mod h1:86WKkJHtRcv5ViNABtYMhhNWRrD1Vpi//uKEy7aYEfI= +cloud.google.com/go/binaryauthorization v1.3.0/go.mod h1:lRZbKgjDIIQvzYQS1p99A7/U1JqvqeZg0wiI5tp6tg0= +cloud.google.com/go/binaryauthorization v1.4.0/go.mod h1:tsSPQrBd77VLplV70GUhBf/Zm3FsKmgSqgm4UmiDItk= +cloud.google.com/go/binaryauthorization v1.5.0/go.mod h1:OSe4OU1nN/VswXKRBmciKpo9LulY41gch5c68htf3/Q= +cloud.google.com/go/certificatemanager v1.3.0/go.mod h1:n6twGDvcUBFu9uBgt4eYvvf3sQ6My8jADcOVwHmzadg= +cloud.google.com/go/certificatemanager v1.4.0/go.mod h1:vowpercVFyqs8ABSmrdV+GiFf2H/ch3KyudYQEMM590= +cloud.google.com/go/certificatemanager v1.6.0/go.mod h1:3Hh64rCKjRAX8dXgRAyOcY5vQ/fE1sh8o+Mdd6KPgY8= +cloud.google.com/go/channel v1.8.0/go.mod h1:W5SwCXDJsq/rg3tn3oG0LOxpAo6IMxNa09ngphpSlnk= +cloud.google.com/go/channel v1.9.0/go.mod h1:jcu05W0my9Vx4mt3/rEHpfxc9eKi9XwsdDL8yBMbKUk= +cloud.google.com/go/channel v1.11.0/go.mod h1:IdtI0uWGqhEeatSB62VOoJ8FSUhJ9/+iGkJVqp74CGE= +cloud.google.com/go/channel v1.12.0/go.mod h1:VkxCGKASi4Cq7TbXxlaBezonAYpp1GCnKMY6tnMQnLU= +cloud.google.com/go/cloudbuild v1.3.0/go.mod h1:WequR4ULxlqvMsjDEEEFnOG5ZSRSgWOywXYDb1vPE6U= +cloud.google.com/go/cloudbuild v1.4.0/go.mod h1:5Qwa40LHiOXmz3386FrjrYM93rM/hdRr7b53sySrTqA= +cloud.google.com/go/cloudbuild v1.6.0/go.mod h1:UIbc/w9QCbH12xX+ezUsgblrWv+Cv4Tw83GiSMHOn9M= +cloud.google.com/go/cloudbuild v1.7.0/go.mod h1:zb5tWh2XI6lR9zQmsm1VRA+7OCuve5d8S+zJUul8KTg= +cloud.google.com/go/cloudbuild v1.9.0/go.mod h1:qK1d7s4QlO0VwfYn5YuClDGg2hfmLZEb4wQGAbIgL1s= +cloud.google.com/go/clouddms v1.3.0/go.mod h1:oK6XsCDdW4Ib3jCCBugx+gVjevp2TMXFtgxvPSee3OM= +cloud.google.com/go/clouddms v1.4.0/go.mod h1:Eh7sUGCC+aKry14O1NRljhjyrr0NFC0G2cjwX0cByRk= +cloud.google.com/go/clouddms v1.5.0/go.mod h1:QSxQnhikCLUw13iAbffF2CZxAER3xDGNHjsTAkQJcQA= cloud.google.com/go/cloudtasks v1.5.0/go.mod h1:fD92REy1x5woxkKEkLdvavGnPJGEn8Uic9nWuLzqCpY= cloud.google.com/go/cloudtasks v1.6.0/go.mod h1:C6Io+sxuke9/KNRkbQpihnW93SWDU3uXt92nu85HkYI= +cloud.google.com/go/cloudtasks v1.7.0/go.mod h1:ImsfdYWwlWNJbdgPIIGJWC+gemEGTBK/SunNQQNCAb4= +cloud.google.com/go/cloudtasks v1.8.0/go.mod h1:gQXUIwCSOI4yPVK7DgTVFiiP0ZW/eQkydWzwVMdHxrI= +cloud.google.com/go/cloudtasks v1.9.0/go.mod h1:w+EyLsVkLWHcOaqNEyvcKAsWp9p29dL6uL9Nst1cI7Y= +cloud.google.com/go/cloudtasks v1.10.0/go.mod h1:NDSoTLkZ3+vExFEWu2UJV1arUyzVDAiZtdWcsUyNwBs= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -76,115 +170,374 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.15.1 h1:7UGq3QknM33pw5xATlpzeoomNxsacIVvTqTTvbfajmE= +cloud.google.com/go/compute v1.12.0/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.12.1/go.mod h1:e8yNOBcBONZU1vJKCvCoDw/4JQsA0dpM4x/6PIIOocU= +cloud.google.com/go/compute v1.13.0/go.mod h1:5aPTS0cUNMIc1CE546K+Th6weJUNQErARyZtRXDJ8GE= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= +cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= +cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= +cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= +cloud.google.com/go/contactcenterinsights v1.3.0/go.mod h1:Eu2oemoePuEFc/xKFPjbTuPSj0fYJcPls9TFlPNnHHY= +cloud.google.com/go/contactcenterinsights v1.4.0/go.mod h1:L2YzkGbPsv+vMQMCADxJoT9YiTTnSEd6fEvCeHTYVck= +cloud.google.com/go/contactcenterinsights v1.6.0/go.mod h1:IIDlT6CLcDoyv79kDv8iWxMSTZhLxSCofVV5W6YFM/w= +cloud.google.com/go/container v1.6.0/go.mod h1:Xazp7GjJSeUYo688S+6J5V+n/t+G5sKBTFkKNudGRxg= +cloud.google.com/go/container v1.7.0/go.mod h1:Dp5AHtmothHGX3DwwIHPgq45Y8KmNsgN3amoYfxVkLo= +cloud.google.com/go/container v1.13.1/go.mod h1:6wgbMPeQRw9rSnKBCAJXnds3Pzj03C4JHamr8asWKy4= +cloud.google.com/go/container v1.14.0/go.mod h1:3AoJMPhHfLDxLvrlVWaK57IXzaPnLaZq63WX59aQBfM= +cloud.google.com/go/container v1.15.0/go.mod h1:ft+9S0WGjAyjDggg5S06DXj+fHJICWg8L7isCQe9pQA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= cloud.google.com/go/containeranalysis v0.6.0/go.mod h1:HEJoiEIu+lEXM+k7+qLCci0h33lX3ZqoYFdmPcoO7s4= +cloud.google.com/go/containeranalysis v0.7.0/go.mod h1:9aUL+/vZ55P2CXfuZjS4UjQ9AgXoSw8Ts6lemfmxBxI= +cloud.google.com/go/containeranalysis v0.9.0/go.mod h1:orbOANbwk5Ejoom+s+DUCTTJ7IBdBQJDcSylAx/on9s= cloud.google.com/go/datacatalog v1.3.0/go.mod h1:g9svFY6tuR+j+hrTw3J2dNcmI0dzmSiyOzm8kpLq0a0= cloud.google.com/go/datacatalog v1.5.0/go.mod h1:M7GPLNQeLfWqeIm3iuiruhPzkt65+Bx8dAKvScX8jvs= cloud.google.com/go/datacatalog v1.6.0/go.mod h1:+aEyF8JKg+uXcIdAmmaMUmZ3q1b/lKLtXCmXdnc0lbc= +cloud.google.com/go/datacatalog v1.7.0/go.mod h1:9mEl4AuDYWw81UGc41HonIHH7/sn52H0/tc8f8ZbZIE= +cloud.google.com/go/datacatalog v1.8.0/go.mod h1:KYuoVOv9BM8EYz/4eMFxrr4DUKhGIOXxZoKYF5wdISM= +cloud.google.com/go/datacatalog v1.8.1/go.mod h1:RJ58z4rMp3gvETA465Vg+ag8BGgBdnRPEMMSTr5Uv+M= +cloud.google.com/go/datacatalog v1.12.0/go.mod h1:CWae8rFkfp6LzLumKOnmVh4+Zle4A3NXLzVJ1d1mRm0= +cloud.google.com/go/datacatalog v1.13.0/go.mod h1:E4Rj9a5ZtAxcQJlEBTLgMTphfP11/lNaAshpoBgemX8= cloud.google.com/go/dataflow v0.6.0/go.mod h1:9QwV89cGoxjjSR9/r7eFDqqjtvbKxAK2BaYU6PVk9UM= cloud.google.com/go/dataflow v0.7.0/go.mod h1:PX526vb4ijFMesO1o202EaUmouZKBpjHsTlCtB4parQ= +cloud.google.com/go/dataflow v0.8.0/go.mod h1:Rcf5YgTKPtQyYz8bLYhFoIV/vP39eL7fWNcSOyFfLJE= cloud.google.com/go/dataform v0.3.0/go.mod h1:cj8uNliRlHpa6L3yVhDOBrUXH+BPAO1+KFMQQNSThKo= cloud.google.com/go/dataform v0.4.0/go.mod h1:fwV6Y4Ty2yIFL89huYlEkwUPtS7YZinZbzzj5S9FzCE= +cloud.google.com/go/dataform v0.5.0/go.mod h1:GFUYRe8IBa2hcomWplodVmUx/iTL0FrsauObOM3Ipr0= +cloud.google.com/go/dataform v0.6.0/go.mod h1:QPflImQy33e29VuapFdf19oPbE4aYTJxr31OAPV+ulA= +cloud.google.com/go/dataform v0.7.0/go.mod h1:7NulqnVozfHvWUBpMDfKMUESr+85aJsC/2O0o3jWPDE= +cloud.google.com/go/datafusion v1.4.0/go.mod h1:1Zb6VN+W6ALo85cXnM1IKiPw+yQMKMhB9TsTSRDo/38= +cloud.google.com/go/datafusion v1.5.0/go.mod h1:Kz+l1FGHB0J+4XF2fud96WMmRiq/wj8N9u007vyXZ2w= +cloud.google.com/go/datafusion v1.6.0/go.mod h1:WBsMF8F1RhSXvVM8rCV3AeyWVxcC2xY6vith3iw3S+8= cloud.google.com/go/datalabeling v0.5.0/go.mod h1:TGcJ0G2NzcsXSE/97yWjIZO0bXj0KbVlINXMG9ud42I= cloud.google.com/go/datalabeling v0.6.0/go.mod h1:WqdISuk/+WIGeMkpw/1q7bK/tFEZxsrFJOJdY2bXvTQ= +cloud.google.com/go/datalabeling v0.7.0/go.mod h1:WPQb1y08RJbmpM3ww0CSUAGweL0SxByuW2E+FU+wXcM= +cloud.google.com/go/dataplex v1.3.0/go.mod h1:hQuRtDg+fCiFgC8j0zV222HvzFQdRd+SVX8gdmFcZzA= +cloud.google.com/go/dataplex v1.4.0/go.mod h1:X51GfLXEMVJ6UN47ESVqvlsRplbLhcsAt0kZCCKsU0A= +cloud.google.com/go/dataplex v1.5.2/go.mod h1:cVMgQHsmfRoI5KFYq4JtIBEUbYwc3c7tXmIDhRmNNVQ= +cloud.google.com/go/dataplex v1.6.0/go.mod h1:bMsomC/aEJOSpHXdFKFGQ1b0TDPIeL28nJObeO1ppRs= +cloud.google.com/go/dataproc v1.7.0/go.mod h1:CKAlMjII9H90RXaMpSxQ8EU6dQx6iAYNPcYPOkSbi8s= +cloud.google.com/go/dataproc v1.8.0/go.mod h1:5OW+zNAH0pMpw14JVrPONsxMQYMBqJuzORhIBfBn9uI= +cloud.google.com/go/dataproc v1.12.0/go.mod h1:zrF3aX0uV3ikkMz6z4uBbIKyhRITnxvr4i3IjKsKrw4= cloud.google.com/go/dataqna v0.5.0/go.mod h1:90Hyk596ft3zUQ8NkFfvICSIfHFh1Bc7C4cK3vbhkeo= cloud.google.com/go/dataqna v0.6.0/go.mod h1:1lqNpM7rqNLVgWBJyk5NF6Uen2PHym0jtVJonplVsDA= +cloud.google.com/go/dataqna v0.7.0/go.mod h1:Lx9OcIIeqCrw1a6KdO3/5KMP1wAmTc0slZWwP12Qq3c= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.10.0/go.mod h1:PC5UzAmDEkAmkfaknstTYbNpgE49HAgW2J1gcgUfmdM= +cloud.google.com/go/datastore v1.11.0/go.mod h1:TvGxBIHCS50u8jzG+AW/ppf87v1of8nwzFNgEZU1D3c= cloud.google.com/go/datastream v1.2.0/go.mod h1:i/uTP8/fZwgATHS/XFu0TcNUhuA0twZxxQ3EyCUQMwo= cloud.google.com/go/datastream v1.3.0/go.mod h1:cqlOX8xlyYF/uxhiKn6Hbv6WjwPPuI9W2M9SAXwaLLQ= +cloud.google.com/go/datastream v1.4.0/go.mod h1:h9dpzScPhDTs5noEMQVWP8Wx8AFBRyS0s8KWPx/9r0g= +cloud.google.com/go/datastream v1.5.0/go.mod h1:6TZMMNPwjUqZHBKPQ1wwXpb0d5VDVPl2/XoS5yi88q4= +cloud.google.com/go/datastream v1.6.0/go.mod h1:6LQSuswqLa7S4rPAOZFVjHIG3wJIjZcZrw8JDEDJuIs= +cloud.google.com/go/datastream v1.7.0/go.mod h1:uxVRMm2elUSPuh65IbZpzJNMbuzkcvu5CjMqVIUHrww= +cloud.google.com/go/deploy v1.4.0/go.mod h1:5Xghikd4VrmMLNaF6FiRFDlHb59VM59YoDQnOUdsH/c= +cloud.google.com/go/deploy v1.5.0/go.mod h1:ffgdD0B89tToyW/U/D2eL0jN2+IEV/3EMuXHA0l4r+s= +cloud.google.com/go/deploy v1.6.0/go.mod h1:f9PTHehG/DjCom3QH0cntOVRm93uGBDt2vKzAPwpXQI= +cloud.google.com/go/deploy v1.8.0/go.mod h1:z3myEJnA/2wnB4sgjqdMfgxCA0EqC3RBTNcVPs93mtQ= cloud.google.com/go/dialogflow v1.15.0/go.mod h1:HbHDWs33WOGJgn6rfzBW1Kv807BE3O1+xGbn59zZWI4= cloud.google.com/go/dialogflow v1.16.1/go.mod h1:po6LlzGfK+smoSmTBnbkIZY2w8ffjz/RcGSS+sh1el0= cloud.google.com/go/dialogflow v1.17.0/go.mod h1:YNP09C/kXA1aZdBgC/VtXX74G/TKn7XVCcVumTflA+8= +cloud.google.com/go/dialogflow v1.18.0/go.mod h1:trO7Zu5YdyEuR+BhSNOqJezyFQ3aUzz0njv7sMx/iek= +cloud.google.com/go/dialogflow v1.19.0/go.mod h1:JVmlG1TwykZDtxtTXujec4tQ+D8SBFMoosgy+6Gn0s0= +cloud.google.com/go/dialogflow v1.29.0/go.mod h1:b+2bzMe+k1s9V+F2jbJwpHPzrnIyHihAdRFMtn2WXuM= +cloud.google.com/go/dialogflow v1.31.0/go.mod h1:cuoUccuL1Z+HADhyIA7dci3N5zUssgpBJmCzI6fNRB4= +cloud.google.com/go/dialogflow v1.32.0/go.mod h1:jG9TRJl8CKrDhMEcvfcfFkkpp8ZhgPz3sBGmAUYJ2qE= +cloud.google.com/go/dlp v1.6.0/go.mod h1:9eyB2xIhpU0sVwUixfBubDoRwP+GjeUoxxeueZmqvmM= +cloud.google.com/go/dlp v1.7.0/go.mod h1:68ak9vCiMBjbasxeVD17hVPxDEck+ExiHavX8kiHG+Q= +cloud.google.com/go/dlp v1.9.0/go.mod h1:qdgmqgTyReTz5/YNSSuueR8pl7hO0o9bQ39ZhtgkWp4= cloud.google.com/go/documentai v1.7.0/go.mod h1:lJvftZB5NRiFSX4moiye1SMxHx0Bc3x1+p9e/RfXYiU= cloud.google.com/go/documentai v1.8.0/go.mod h1:xGHNEB7CtsnySCNrCFdCyyMz44RhFEEX2Q7UD0c5IhU= +cloud.google.com/go/documentai v1.9.0/go.mod h1:FS5485S8R00U10GhgBC0aNGrJxBP8ZVpEeJ7PQDZd6k= +cloud.google.com/go/documentai v1.10.0/go.mod h1:vod47hKQIPeCfN2QS/jULIvQTugbmdc0ZvxxfQY1bg4= +cloud.google.com/go/documentai v1.16.0/go.mod h1:o0o0DLTEZ+YnJZ+J4wNfTxmDVyrkzFvttBXXtYRMHkM= +cloud.google.com/go/documentai v1.18.0/go.mod h1:F6CK6iUH8J81FehpskRmhLq/3VlwQvb7TvwOceQ2tbs= cloud.google.com/go/domains v0.6.0/go.mod h1:T9Rz3GasrpYk6mEGHh4rymIhjlnIuB4ofT1wTxDeT4Y= cloud.google.com/go/domains v0.7.0/go.mod h1:PtZeqS1xjnXuRPKE/88Iru/LdfoRyEHYA9nFQf4UKpg= +cloud.google.com/go/domains v0.8.0/go.mod h1:M9i3MMDzGFXsydri9/vW+EWz9sWb4I6WyHqdlAk0idE= cloud.google.com/go/edgecontainer v0.1.0/go.mod h1:WgkZ9tp10bFxqO8BLPqv2LlfmQF1X8lZqwW4r1BTajk= cloud.google.com/go/edgecontainer v0.2.0/go.mod h1:RTmLijy+lGpQ7BXuTDa4C4ssxyXT34NIuHIgKuP4s5w= +cloud.google.com/go/edgecontainer v0.3.0/go.mod h1:FLDpP4nykgwwIfcLt6zInhprzw0lEi2P1fjO6Ie0qbc= +cloud.google.com/go/edgecontainer v1.0.0/go.mod h1:cttArqZpBB2q58W/upSG++ooo6EsblxDIolxa3jSjbY= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.3.0/go.mod h1:r+OnHa5jfj90qIfZDO/VztSFqbQan7HV75p8sA+mdGI= +cloud.google.com/go/essentialcontacts v1.4.0/go.mod h1:8tRldvHYsmnBCHdFpvU+GL75oWiBKl80BiqlFh9tp+8= +cloud.google.com/go/essentialcontacts v1.5.0/go.mod h1:ay29Z4zODTuwliK7SnX8E86aUF2CTzdNtvv42niCX0M= +cloud.google.com/go/eventarc v1.7.0/go.mod h1:6ctpF3zTnaQCxUjHUdcfgcA1A2T309+omHZth7gDfmc= +cloud.google.com/go/eventarc v1.8.0/go.mod h1:imbzxkyAU4ubfsaKYdQg04WS1NvncblHEup4kvF+4gw= +cloud.google.com/go/eventarc v1.10.0/go.mod h1:u3R35tmZ9HvswGRBnF48IlYgYeBcPUCjkr4BTdem2Kw= +cloud.google.com/go/eventarc v1.11.0/go.mod h1:PyUjsUKPWoRBCHeOxZd/lbOOjahV41icXyUY5kSTvVY= +cloud.google.com/go/filestore v1.3.0/go.mod h1:+qbvHGvXU1HaKX2nD0WEPo92TP/8AQuCVEBXNY9z0+w= +cloud.google.com/go/filestore v1.4.0/go.mod h1:PaG5oDfo9r224f8OYXURtAsY+Fbyq/bLYoINEK8XQAI= +cloud.google.com/go/filestore v1.5.0/go.mod h1:FqBXDWBp4YLHqRnVGveOkHDf8svj9r5+mUDLupOWEDs= +cloud.google.com/go/filestore v1.6.0/go.mod h1:di5unNuss/qfZTw2U9nhFqo8/ZDSc466dre85Kydllg= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/firestore v1.9.0/go.mod h1:HMkjKHNTtRyZNiMzu7YAsLr9K3X2udY2AMwDaMEQiiE= cloud.google.com/go/functions v1.6.0/go.mod h1:3H1UA3qiIPRWD7PeZKLvHZ9SaQhR26XIJcC0A5GbvAk= cloud.google.com/go/functions v1.7.0/go.mod h1:+d+QBcWM+RsrgZfV9xo6KfA1GlzJfxcfZcRPEhDDfzg= +cloud.google.com/go/functions v1.8.0/go.mod h1:RTZ4/HsQjIqIYP9a9YPbU+QFoQsAlYgrwOXJWHn1POY= +cloud.google.com/go/functions v1.9.0/go.mod h1:Y+Dz8yGguzO3PpIjhLTbnqV1CWmgQ5UwtlpzoyquQ08= +cloud.google.com/go/functions v1.10.0/go.mod h1:0D3hEOe3DbEvCXtYOZHQZmD+SzYsi1YbI7dGvHfldXw= +cloud.google.com/go/functions v1.12.0/go.mod h1:AXWGrF3e2C/5ehvwYo/GH6O5s09tOPksiKhz+hH8WkA= +cloud.google.com/go/functions v1.13.0/go.mod h1:EU4O007sQm6Ef/PwRsI8N2umygGqPBS/IZQKBQBcJ3c= cloud.google.com/go/gaming v1.5.0/go.mod h1:ol7rGcxP/qHTRQE/RO4bxkXq+Fix0j6D4LFPzYTIrDM= cloud.google.com/go/gaming v1.6.0/go.mod h1:YMU1GEvA39Qt3zWGyAVA9bpYz/yAhTvaQ1t2sK4KPUA= +cloud.google.com/go/gaming v1.7.0/go.mod h1:LrB8U7MHdGgFG851iHAfqUdLcKBdQ55hzXy9xBJz0+w= +cloud.google.com/go/gaming v1.8.0/go.mod h1:xAqjS8b7jAVW0KFYeRUxngo9My3f33kFmua++Pi+ggM= +cloud.google.com/go/gaming v1.9.0/go.mod h1:Fc7kEmCObylSWLO334NcO+O9QMDyz+TKC4v1D7X+Bc0= +cloud.google.com/go/gkebackup v0.2.0/go.mod h1:XKvv/4LfG829/B8B7xRkk8zRrOEbKtEam6yNfuQNH60= +cloud.google.com/go/gkebackup v0.3.0/go.mod h1:n/E671i1aOQvUxT541aTkCwExO/bTer2HDlj4TsBRAo= +cloud.google.com/go/gkebackup v0.4.0/go.mod h1:byAyBGUwYGEEww7xsbnUTBHIYcOPy/PgUWUtOeRm9Vg= cloud.google.com/go/gkeconnect v0.5.0/go.mod h1:c5lsNAg5EwAy7fkqX/+goqFsU1Da/jQFqArp+wGNr/o= cloud.google.com/go/gkeconnect v0.6.0/go.mod h1:Mln67KyU/sHJEBY8kFZ0xTeyPtzbq9StAVvEULYK16A= +cloud.google.com/go/gkeconnect v0.7.0/go.mod h1:SNfmVqPkaEi3bF/B3CNZOAYPYdg7sU+obZ+QTky2Myw= cloud.google.com/go/gkehub v0.9.0/go.mod h1:WYHN6WG8w9bXU0hqNxt8rm5uxnk8IH+lPY9J2TV7BK0= cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y977wO+hBH0= +cloud.google.com/go/gkehub v0.11.0/go.mod h1:JOWHlmN+GHyIbuWQPl47/C2RFhnFKH38jH9Ascu3n0E= +cloud.google.com/go/gkehub v0.12.0/go.mod h1:djiIwwzTTBrF5NaXCGv3mf7klpEMcST17VBTVVDcuaw= +cloud.google.com/go/gkemulticloud v0.3.0/go.mod h1:7orzy7O0S+5kq95e4Hpn7RysVA7dPs8W/GgfUtsPbrA= +cloud.google.com/go/gkemulticloud v0.4.0/go.mod h1:E9gxVBnseLWCk24ch+P9+B2CoDFJZTyIgLKSalC7tuI= +cloud.google.com/go/gkemulticloud v0.5.0/go.mod h1:W0JDkiyi3Tqh0TJr//y19wyb1yf8llHVto2Htf2Ja3Y= cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= +cloud.google.com/go/gsuiteaddons v1.3.0/go.mod h1:EUNK/J1lZEZO8yPtykKxLXI6JSVN2rg9bN8SXOa0bgM= +cloud.google.com/go/gsuiteaddons v1.4.0/go.mod h1:rZK5I8hht7u7HxFQcFei0+AtfS9uSushomRlg+3ua1o= +cloud.google.com/go/gsuiteaddons v1.5.0/go.mod h1:TFCClYLd64Eaa12sFVmUyG62tk4mdIsI7pAnSXRkcFo= cloud.google.com/go/iam v0.1.0/go.mod h1:vcUNEa0pEm0qRVpmWepWaFMIAI8/hjB9mO8rNCJtF6c= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= +cloud.google.com/go/iam v0.6.0/go.mod h1:+1AH33ueBne5MzYccyMHtEKqLE4/kJOibtffMHDMFMc= +cloud.google.com/go/iam v0.7.0/go.mod h1:H5Br8wRaDGNc8XP3keLc4unfUUZeyH3Sfl9XpQEYOeg= cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= +cloud.google.com/go/iam v0.11.0/go.mod h1:9PiLDanza5D+oWFZiH1uG+RnRCfEGKoyl6yo4cgWZGY= +cloud.google.com/go/iam v0.12.0/go.mod h1:knyHGviacl11zrtZUoDuYpDgLjvr28sLQaG0YB2GYAY= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/iam v1.1.1 h1:lW7fzj15aVIXYHREOqjRBV9PsH0Z6u8Y46a1YGvQP4Y= +cloud.google.com/go/iam v1.1.1/go.mod h1:A5avdyVL2tCppe4unb0951eI9jreack+RJ0/d+KUZOU= +cloud.google.com/go/iap v1.4.0/go.mod h1:RGFwRJdihTINIe4wZ2iCP0zF/qu18ZwyKxrhMhygBEc= +cloud.google.com/go/iap v1.5.0/go.mod h1:UH/CGgKd4KyohZL5Pt0jSKE4m3FR51qg6FKQ/z/Ix9A= +cloud.google.com/go/iap v1.6.0/go.mod h1:NSuvI9C/j7UdjGjIde7t7HBz+QTwBcapPE07+sSRcLk= +cloud.google.com/go/iap v1.7.0/go.mod h1:beqQx56T9O1G1yNPph+spKpNibDlYIiIixiqsQXxLIo= +cloud.google.com/go/iap v1.7.1/go.mod h1:WapEwPc7ZxGt2jFGB/C/bm+hP0Y6NXzOYGjpPnmMS74= +cloud.google.com/go/ids v1.1.0/go.mod h1:WIuwCaYVOzHIj2OhN9HAwvW+DBdmUAdcWlFxRl+KubM= +cloud.google.com/go/ids v1.2.0/go.mod h1:5WXvp4n25S0rA/mQWAg1YEEBBq6/s+7ml1RDCW1IrcY= +cloud.google.com/go/ids v1.3.0/go.mod h1:JBdTYwANikFKaDP6LtW5JAi4gubs57SVNQjemdt6xV4= +cloud.google.com/go/iot v1.3.0/go.mod h1:r7RGh2B61+B8oz0AGE+J72AhA0G7tdXItODWsaA2oLs= +cloud.google.com/go/iot v1.4.0/go.mod h1:dIDxPOn0UvNDUMD8Ger7FIaTuvMkj+aGk94RPP0iV+g= +cloud.google.com/go/iot v1.5.0/go.mod h1:mpz5259PDl3XJthEmh9+ap0affn/MqNSP4My77Qql9o= +cloud.google.com/go/iot v1.6.0/go.mod h1:IqdAsmE2cTYYNO1Fvjfzo9po179rAtJeVGUvkLN3rLE= cloud.google.com/go/kms v1.4.0/go.mod h1:fajBHndQ+6ubNw6Ss2sSd+SWvjL26RNo/dr7uxsnnOA= -cloud.google.com/go/kms v1.6.0 h1:OWRZzrPmOZUzurjI2FBGtgY2mB1WaJkqhw6oIwSj0Yg= +cloud.google.com/go/kms v1.5.0/go.mod h1:QJS2YY0eJGBg3mnDfuaCyLauWwBJiHRboYxJ++1xJNg= cloud.google.com/go/kms v1.6.0/go.mod h1:Jjy850yySiasBUDi6KFUwUv2n1+o7QZFyuUJg6OgjA0= +cloud.google.com/go/kms v1.8.0/go.mod h1:4xFEhYFqvW+4VMELtZyxomGSYtSQKzM178ylFW4jMAg= +cloud.google.com/go/kms v1.9.0/go.mod h1:qb1tPTgfF9RQP8e1wq4cLFErVuTJv7UsSC915J8dh3w= +cloud.google.com/go/kms v1.10.0/go.mod h1:ng3KTUtQQU9bPX3+QGLsflZIHlkbn8amFAMY63m8d24= +cloud.google.com/go/kms v1.10.1/go.mod h1:rIWk/TryCkR59GMC3YtHtXeLzd634lBbKenvyySAyYI= +cloud.google.com/go/kms v1.12.1 h1:xZmZuwy2cwzsocmKDOPu4BL7umg8QXagQx6fKVmf45U= +cloud.google.com/go/kms v1.12.1/go.mod h1:c9J991h5DTl+kg7gi3MYomh12YEENGrf48ee/N/2CDM= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= +cloud.google.com/go/language v1.7.0/go.mod h1:DJ6dYN/W+SQOjF8e1hLQXMF21AkH2w9wiPzPCJa2MIE= +cloud.google.com/go/language v1.8.0/go.mod h1:qYPVHf7SPoNNiCL2Dr0FfEFNil1qi3pQEyygwpgVKB8= +cloud.google.com/go/language v1.9.0/go.mod h1:Ns15WooPM5Ad/5no/0n81yUetis74g3zrbeJBE+ptUY= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= cloud.google.com/go/lifesciences v0.6.0/go.mod h1:ddj6tSX/7BOnhxCSd3ZcETvtNr8NZ6t/iPhY2Tyfu08= -cloud.google.com/go/logging v1.6.1 h1:ZBsZK+JG+oCDT+vaxwqF2egKNRjz8soXiS6Xv79benI= +cloud.google.com/go/lifesciences v0.8.0/go.mod h1:lFxiEOMqII6XggGbOnKiyZ7IBwoIqA84ClvoezaA/bo= cloud.google.com/go/logging v1.6.1/go.mod h1:5ZO0mHHbvm8gEmeEUHrmDlTDSu5imF6MUP9OfilNXBw= -cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/logging v1.7.0 h1:CJYxlNNNNAMkHp9em/YEXcfJg+rPDg7YfwoRpMU+t5I= +cloud.google.com/go/logging v1.7.0/go.mod h1:3xjP2CjkM3ZkO73aj4ASA5wRPGGCRrPIAeNqVNkzY8M= +cloud.google.com/go/longrunning v0.1.1/go.mod h1:UUFxuDWkv22EuY93jjmDMFT5GPQKeFVJBIF6QlTqdsE= cloud.google.com/go/longrunning v0.3.0/go.mod h1:qth9Y41RRSUE69rDcOn6DdK3HfQfsUI0YSmW3iIlLJc= +cloud.google.com/go/longrunning v0.4.1/go.mod h1:4iWDqhBZ70CvZ6BfETbvam3T8FMvLK+eFj0E6AaRQTo= +cloud.google.com/go/longrunning v0.5.1 h1:Fr7TXftcqTudoyRJa113hyaqlGdiBQkp0Gq7tErFDWI= +cloud.google.com/go/longrunning v0.5.1/go.mod h1:spvimkwdz6SPWKEt/XBij79E9fiTkHSQl/fRUUQJYJc= +cloud.google.com/go/managedidentities v1.3.0/go.mod h1:UzlW3cBOiPrzucO5qWkNkh0w33KFtBJU281hacNvsdE= +cloud.google.com/go/managedidentities v1.4.0/go.mod h1:NWSBYbEMgqmbZsLIyKvxrYbtqOsxY1ZrGM+9RgDqInM= +cloud.google.com/go/managedidentities v1.5.0/go.mod h1:+dWcZ0JlUmpuxpIDfyP5pP5y0bLdRwOS4Lp7gMni/LA= +cloud.google.com/go/maps v0.1.0/go.mod h1:BQM97WGyfw9FWEmQMpZ5T6cpovXXSd1cGmFma94eubI= +cloud.google.com/go/maps v0.6.0/go.mod h1:o6DAMMfb+aINHz/p/jbcY+mYeXBoZoxTfdSQ8VAJaCw= +cloud.google.com/go/maps v0.7.0/go.mod h1:3GnvVl3cqeSvgMcpRlQidXsPYuDGQ8naBis7MVzpXsY= cloud.google.com/go/mediatranslation v0.5.0/go.mod h1:jGPUhGTybqsPQn91pNXw0xVHfuJ3leR1wj37oU3y1f4= cloud.google.com/go/mediatranslation v0.6.0/go.mod h1:hHdBCTYNigsBxshbznuIMFNe5QXEowAuNmmC7h8pu5w= +cloud.google.com/go/mediatranslation v0.7.0/go.mod h1:LCnB/gZr90ONOIQLgSXagp8XUW1ODs2UmUMvcgMfI2I= cloud.google.com/go/memcache v1.4.0/go.mod h1:rTOfiGZtJX1AaFUrOgsMHX5kAzaTQ8azHiuDoTPzNsE= cloud.google.com/go/memcache v1.5.0/go.mod h1:dk3fCK7dVo0cUU2c36jKb4VqKPS22BTkf81Xq617aWM= +cloud.google.com/go/memcache v1.6.0/go.mod h1:XS5xB0eQZdHtTuTF9Hf8eJkKtR3pVRCcvJwtm68T3rA= +cloud.google.com/go/memcache v1.7.0/go.mod h1:ywMKfjWhNtkQTxrWxCkCFkoPjLHPW6A7WOTVI8xy3LY= +cloud.google.com/go/memcache v1.9.0/go.mod h1:8oEyzXCu+zo9RzlEaEjHl4KkgjlNDaXbCQeQWlzNFJM= cloud.google.com/go/metastore v1.5.0/go.mod h1:2ZNrDcQwghfdtCwJ33nM0+GrBGlVuh8rakL3vdPY3XY= cloud.google.com/go/metastore v1.6.0/go.mod h1:6cyQTls8CWXzk45G55x57DVQ9gWg7RiH65+YgPsNh9s= +cloud.google.com/go/metastore v1.7.0/go.mod h1:s45D0B4IlsINu87/AsWiEVYbLaIMeUSoxlKKDqBGFS8= +cloud.google.com/go/metastore v1.8.0/go.mod h1:zHiMc4ZUpBiM7twCIFQmJ9JMEkDSyZS9U12uf7wHqSI= +cloud.google.com/go/metastore v1.10.0/go.mod h1:fPEnH3g4JJAk+gMRnrAnoqyv2lpUCqJPWOodSaf45Eo= cloud.google.com/go/monitoring v1.1.0/go.mod h1:L81pzz7HKn14QCMaCs6NTQkdBnE87TElyanS95vIcl4= cloud.google.com/go/monitoring v1.5.0/go.mod h1:/o9y8NYX5j91JjD/JvGLYbi86kL11OjyJXq2XziLJu4= +cloud.google.com/go/monitoring v1.7.0/go.mod h1:HpYse6kkGo//7p6sT0wsIC6IBDET0RhIsnmlA53dvEk= +cloud.google.com/go/monitoring v1.8.0/go.mod h1:E7PtoMJ1kQXWxPjB6mv2fhC5/15jInuulFdYYtlcvT4= +cloud.google.com/go/monitoring v1.12.0/go.mod h1:yx8Jj2fZNEkL/GYZyTLS4ZtZEZN8WtDEiEqG4kLK50w= +cloud.google.com/go/monitoring v1.13.0/go.mod h1:k2yMBAB1H9JT/QETjNkgdCGD9bPF712XiLTVr+cBrpw= cloud.google.com/go/networkconnectivity v1.4.0/go.mod h1:nOl7YL8odKyAOtzNX73/M5/mGZgqqMeryi6UPZTk/rA= cloud.google.com/go/networkconnectivity v1.5.0/go.mod h1:3GzqJx7uhtlM3kln0+x5wyFvuVH1pIBJjhCpjzSt75o= +cloud.google.com/go/networkconnectivity v1.6.0/go.mod h1:OJOoEXW+0LAxHh89nXd64uGG+FbQoeH8DtxCHVOMlaM= +cloud.google.com/go/networkconnectivity v1.7.0/go.mod h1:RMuSbkdbPwNMQjB5HBWD5MpTBnNm39iAVpC3TmsExt8= +cloud.google.com/go/networkconnectivity v1.10.0/go.mod h1:UP4O4sWXJG13AqrTdQCD9TnLGEbtNRqjuaaA7bNjF5E= +cloud.google.com/go/networkconnectivity v1.11.0/go.mod h1:iWmDD4QF16VCDLXUqvyspJjIEtBR/4zq5hwnY2X3scM= +cloud.google.com/go/networkmanagement v1.4.0/go.mod h1:Q9mdLLRn60AsOrPc8rs8iNV6OHXaGcDdsIQe1ohekq8= +cloud.google.com/go/networkmanagement v1.5.0/go.mod h1:ZnOeZ/evzUdUsnvRt792H0uYEnHQEMaz+REhhzJRcf4= +cloud.google.com/go/networkmanagement v1.6.0/go.mod h1:5pKPqyXjB/sgtvB5xqOemumoQNB7y95Q7S+4rjSOPYY= cloud.google.com/go/networksecurity v0.5.0/go.mod h1:xS6fOCoqpVC5zx15Z/MqkfDwH4+m/61A3ODiDV1xmiQ= cloud.google.com/go/networksecurity v0.6.0/go.mod h1:Q5fjhTr9WMI5mbpRYEbiexTzROf7ZbDzvzCrNl14nyU= +cloud.google.com/go/networksecurity v0.7.0/go.mod h1:mAnzoxx/8TBSyXEeESMy9OOYwo1v+gZ5eMRnsT5bC8k= +cloud.google.com/go/networksecurity v0.8.0/go.mod h1:B78DkqsxFG5zRSVuwYFRZ9Xz8IcQ5iECsNrPn74hKHU= cloud.google.com/go/notebooks v1.2.0/go.mod h1:9+wtppMfVPUeJ8fIWPOq1UnATHISkGXGqTkxeieQ6UY= cloud.google.com/go/notebooks v1.3.0/go.mod h1:bFR5lj07DtCPC7YAAJ//vHskFBxA5JzYlH68kXVdk34= +cloud.google.com/go/notebooks v1.4.0/go.mod h1:4QPMngcwmgb6uw7Po99B2xv5ufVoIQ7nOGDyL4P8AgA= +cloud.google.com/go/notebooks v1.5.0/go.mod h1:q8mwhnP9aR8Hpfnrc5iN5IBhrXUy8S2vuYs+kBJ/gu0= +cloud.google.com/go/notebooks v1.7.0/go.mod h1:PVlaDGfJgj1fl1S3dUwhFMXFgfYGhYQt2164xOMONmE= +cloud.google.com/go/notebooks v1.8.0/go.mod h1:Lq6dYKOYOWUCTvw5t2q1gp1lAp0zxAxRycayS0iJcqQ= +cloud.google.com/go/optimization v1.1.0/go.mod h1:5po+wfvX5AQlPznyVEZjGJTMr4+CAkJf2XSTQOOl9l4= +cloud.google.com/go/optimization v1.2.0/go.mod h1:Lr7SOHdRDENsh+WXVmQhQTrzdu9ybg0NecjHidBq6xs= +cloud.google.com/go/optimization v1.3.1/go.mod h1:IvUSefKiwd1a5p0RgHDbWCIbDFgKuEdB+fPPuP0IDLI= +cloud.google.com/go/orchestration v1.3.0/go.mod h1:Sj5tq/JpWiB//X/q3Ngwdl5K7B7Y0KZ7bfv0wL6fqVA= +cloud.google.com/go/orchestration v1.4.0/go.mod h1:6W5NLFWs2TlniBphAViZEVhrXRSMgUGDfW7vrWKvsBk= +cloud.google.com/go/orchestration v1.6.0/go.mod h1:M62Bevp7pkxStDfFfTuCOaXgaaqRAga1yKyoMtEoWPQ= +cloud.google.com/go/orgpolicy v1.4.0/go.mod h1:xrSLIV4RePWmP9P3tBl8S93lTmlAxjm06NSm2UTmKvE= +cloud.google.com/go/orgpolicy v1.5.0/go.mod h1:hZEc5q3wzwXJaKrsx5+Ewg0u1LxJ51nNFlext7Tanwc= +cloud.google.com/go/orgpolicy v1.10.0/go.mod h1:w1fo8b7rRqlXlIJbVhOMPrwVljyuW5mqssvBtU18ONc= cloud.google.com/go/osconfig v1.7.0/go.mod h1:oVHeCeZELfJP7XLxcBGTMBvRO+1nQ5tFG9VQTmYS2Fs= cloud.google.com/go/osconfig v1.8.0/go.mod h1:EQqZLu5w5XA7eKizepumcvWx+m8mJUhEwiPqWiZeEdg= +cloud.google.com/go/osconfig v1.9.0/go.mod h1:Yx+IeIZJ3bdWmzbQU4fxNl8xsZ4amB+dygAwFPlvnNo= +cloud.google.com/go/osconfig v1.10.0/go.mod h1:uMhCzqC5I8zfD9zDEAfvgVhDS8oIjySWh+l4WK6GnWw= +cloud.google.com/go/osconfig v1.11.0/go.mod h1:aDICxrur2ogRd9zY5ytBLV89KEgT2MKB2L/n6x1ooPw= cloud.google.com/go/oslogin v1.4.0/go.mod h1:YdgMXWRaElXz/lDk1Na6Fh5orF7gvmJ0FGLIs9LId4E= cloud.google.com/go/oslogin v1.5.0/go.mod h1:D260Qj11W2qx/HVF29zBg+0fd6YCSjSqLUkY/qEenQU= +cloud.google.com/go/oslogin v1.6.0/go.mod h1:zOJ1O3+dTU8WPlGEkFSh7qeHPPSoxrcMbbK1Nm2iX70= +cloud.google.com/go/oslogin v1.7.0/go.mod h1:e04SN0xO1UNJ1M5GP0vzVBFicIe4O53FOfcixIqTyXo= +cloud.google.com/go/oslogin v1.9.0/go.mod h1:HNavntnH8nzrn8JCTT5fj18FuJLFJc4NaZJtBnQtKFs= cloud.google.com/go/phishingprotection v0.5.0/go.mod h1:Y3HZknsK9bc9dMi+oE8Bim0lczMU6hrX0UpADuMefr0= cloud.google.com/go/phishingprotection v0.6.0/go.mod h1:9Y3LBLgy0kDTcYET8ZH3bq/7qni15yVUoAxiFxnlSUA= +cloud.google.com/go/phishingprotection v0.7.0/go.mod h1:8qJI4QKHoda/sb/7/YmMQ2omRLSLYSu9bU0EKCNI+Lk= +cloud.google.com/go/policytroubleshooter v1.3.0/go.mod h1:qy0+VwANja+kKrjlQuOzmlvscn4RNsAc0e15GGqfMxg= +cloud.google.com/go/policytroubleshooter v1.4.0/go.mod h1:DZT4BcRw3QoO8ota9xw/LKtPa8lKeCByYeKTIf/vxdE= +cloud.google.com/go/policytroubleshooter v1.5.0/go.mod h1:Rz1WfV+1oIpPdN2VvvuboLVRsB1Hclg3CKQ53j9l8vw= +cloud.google.com/go/policytroubleshooter v1.6.0/go.mod h1:zYqaPTsmfvpjm5ULxAyD/lINQxJ0DDsnWOP/GZ7xzBc= cloud.google.com/go/privatecatalog v0.5.0/go.mod h1:XgosMUvvPyxDjAVNDYxJ7wBW8//hLDDYmnsNcMGq1K0= cloud.google.com/go/privatecatalog v0.6.0/go.mod h1:i/fbkZR0hLN29eEWiiwue8Pb+GforiEIBnV9yrRUOKI= +cloud.google.com/go/privatecatalog v0.7.0/go.mod h1:2s5ssIFO69F5csTXcwBP7NPFTZvps26xGzvQ2PQaBYg= +cloud.google.com/go/privatecatalog v0.8.0/go.mod h1:nQ6pfaegeDAq/Q5lrfCQzQLhubPiZhSaNhIgfJlnIXs= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= cloud.google.com/go/pubsub v1.24.0/go.mod h1:rWv09Te1SsRpRGPiWOMDKraMQTJyJps4MkUCoMGUgqw= +cloud.google.com/go/pubsub v1.26.0/go.mod h1:QgBH3U/jdJy/ftjPhTkyXNj543Tin1pRYcdcPRnFIRI= +cloud.google.com/go/pubsub v1.27.1/go.mod h1:hQN39ymbV9geqBnfQq6Xf63yNhUAhv9CZhzp5O6qsW0= +cloud.google.com/go/pubsub v1.28.0/go.mod h1:vuXFpwaVoIPQMGXqRyUQigu/AX1S3IWugR9xznmcXX8= +cloud.google.com/go/pubsub v1.30.0/go.mod h1:qWi1OPS0B+b5L+Sg6Gmc9zD1Y+HaM0MdUr7LsupY1P4= +cloud.google.com/go/pubsublite v1.5.0/go.mod h1:xapqNQ1CuLfGi23Yda/9l4bBCKz/wC3KIJ5gKcxveZg= +cloud.google.com/go/pubsublite v1.6.0/go.mod h1:1eFCS0U11xlOuMFV/0iBqw3zP12kddMeCbj/F3FSj9k= +cloud.google.com/go/pubsublite v1.7.0/go.mod h1:8hVMwRXfDfvGm3fahVbtDbiLePT3gpoiJYJY+vxWxVM= cloud.google.com/go/recaptchaenterprise v1.3.1/go.mod h1:OdD+q+y4XGeAlxRaMn1Y7/GveP6zmq76byL6tjPE7d4= cloud.google.com/go/recaptchaenterprise/v2 v2.1.0/go.mod h1:w9yVqajwroDNTfGuhmOjPDN//rZGySaf6PtFVcSCa7o= cloud.google.com/go/recaptchaenterprise/v2 v2.2.0/go.mod h1:/Zu5jisWGeERrd5HnlS3EUGb/D335f9k51B/FVil0jk= cloud.google.com/go/recaptchaenterprise/v2 v2.3.0/go.mod h1:O9LwGCjrhGHBQET5CA7dd5NwwNQUErSgEDit1DLNTdo= +cloud.google.com/go/recaptchaenterprise/v2 v2.4.0/go.mod h1:Am3LHfOuBstrLrNCBrlI5sbwx9LBg3te2N6hGvHn2mE= +cloud.google.com/go/recaptchaenterprise/v2 v2.5.0/go.mod h1:O8LzcHXN3rz0j+LBC91jrwI3R+1ZSZEWrfL7XHgNo9U= +cloud.google.com/go/recaptchaenterprise/v2 v2.6.0/go.mod h1:RPauz9jeLtB3JVzg6nCbe12qNoaa8pXc4d/YukAmcnA= +cloud.google.com/go/recaptchaenterprise/v2 v2.7.0/go.mod h1:19wVj/fs5RtYtynAPJdDTb69oW0vNHYDBTbB4NvMD9c= cloud.google.com/go/recommendationengine v0.5.0/go.mod h1:E5756pJcVFeVgaQv3WNpImkFP8a+RptV6dDLGPILjvg= cloud.google.com/go/recommendationengine v0.6.0/go.mod h1:08mq2umu9oIqc7tDy8sx+MNJdLG0fUi3vaSVbztHgJ4= +cloud.google.com/go/recommendationengine v0.7.0/go.mod h1:1reUcE3GIu6MeBz/h5xZJqNLuuVjNg1lmWMPyjatzac= cloud.google.com/go/recommender v1.5.0/go.mod h1:jdoeiBIVrJe9gQjwd759ecLJbxCDED4A6p+mqoqDvTg= cloud.google.com/go/recommender v1.6.0/go.mod h1:+yETpm25mcoiECKh9DEScGzIRyDKpZ0cEhWGo+8bo+c= +cloud.google.com/go/recommender v1.7.0/go.mod h1:XLHs/W+T8olwlGOgfQenXBTbIseGclClff6lhFVe9Bs= +cloud.google.com/go/recommender v1.8.0/go.mod h1:PkjXrTT05BFKwxaUxQmtIlrtj0kph108r02ZZQ5FE70= +cloud.google.com/go/recommender v1.9.0/go.mod h1:PnSsnZY7q+VL1uax2JWkt/UegHssxjUVVCrX52CuEmQ= cloud.google.com/go/redis v1.7.0/go.mod h1:V3x5Jq1jzUcg+UNsRvdmsfuFnit1cfe3Z/PGyq/lm4Y= cloud.google.com/go/redis v1.8.0/go.mod h1:Fm2szCDavWzBk2cDKxrkmWBqoCiL1+Ctwq7EyqBCA/A= +cloud.google.com/go/redis v1.9.0/go.mod h1:HMYQuajvb2D0LvMgZmLDZW8V5aOC/WxstZHiy4g8OiA= +cloud.google.com/go/redis v1.10.0/go.mod h1:ThJf3mMBQtW18JzGgh41/Wld6vnDDc/F/F35UolRZPM= +cloud.google.com/go/redis v1.11.0/go.mod h1:/X6eicana+BWcUda5PpwZC48o37SiFVTFSs0fWAJ7uQ= +cloud.google.com/go/resourcemanager v1.3.0/go.mod h1:bAtrTjZQFJkiWTPDb1WBjzvc6/kifjj4QBYuKCCoqKA= +cloud.google.com/go/resourcemanager v1.4.0/go.mod h1:MwxuzkumyTX7/a3n37gmsT3py7LIXwrShilPh3P1tR0= +cloud.google.com/go/resourcemanager v1.5.0/go.mod h1:eQoXNAiAvCf5PXxWxXjhKQoTMaUSNrEfg+6qdf/wots= +cloud.google.com/go/resourcemanager v1.6.0/go.mod h1:YcpXGRs8fDzcUl1Xw8uOVmI8JEadvhRIkoXXUNVYcVo= +cloud.google.com/go/resourcemanager v1.7.0/go.mod h1:HlD3m6+bwhzj9XCouqmeiGuni95NTrExfhoSrkC/3EI= +cloud.google.com/go/resourcesettings v1.3.0/go.mod h1:lzew8VfESA5DQ8gdlHwMrqZs1S9V87v3oCnKCWoOuQU= +cloud.google.com/go/resourcesettings v1.4.0/go.mod h1:ldiH9IJpcrlC3VSuCGvjR5of/ezRrOxFtpJoJo5SmXg= +cloud.google.com/go/resourcesettings v1.5.0/go.mod h1:+xJF7QSG6undsQDfsCJyqWXyBwUoJLhetkRMDRnIoXA= cloud.google.com/go/retail v1.8.0/go.mod h1:QblKS8waDmNUhghY2TI9O3JLlFk8jybHeV4BF19FrE4= cloud.google.com/go/retail v1.9.0/go.mod h1:g6jb6mKuCS1QKnH/dpu7isX253absFl6iE92nHwlBUY= +cloud.google.com/go/retail v1.10.0/go.mod h1:2gDk9HsL4HMS4oZwz6daui2/jmKvqShXKQuB2RZ+cCc= +cloud.google.com/go/retail v1.11.0/go.mod h1:MBLk1NaWPmh6iVFSz9MeKG/Psyd7TAgm6y/9L2B4x9Y= +cloud.google.com/go/retail v1.12.0/go.mod h1:UMkelN/0Z8XvKymXFbD4EhFJlYKRx1FGhQkVPU5kF14= +cloud.google.com/go/run v0.2.0/go.mod h1:CNtKsTA1sDcnqqIFR3Pb5Tq0usWxJJvsWOCPldRU3Do= +cloud.google.com/go/run v0.3.0/go.mod h1:TuyY1+taHxTjrD0ZFk2iAR+xyOXEA0ztb7U3UNA0zBo= +cloud.google.com/go/run v0.8.0/go.mod h1:VniEnuBwqjigv0A7ONfQUaEItaiCRVujlMqerPPiktM= +cloud.google.com/go/run v0.9.0/go.mod h1:Wwu+/vvg8Y+JUApMwEDfVfhetv30hCG4ZwDR/IXl2Qg= cloud.google.com/go/scheduler v1.4.0/go.mod h1:drcJBmxF3aqZJRhmkHQ9b3uSSpQoltBPGPxGAWROx6s= cloud.google.com/go/scheduler v1.5.0/go.mod h1:ri073ym49NW3AfT6DZi21vLZrG07GXr5p3H1KxN5QlI= +cloud.google.com/go/scheduler v1.6.0/go.mod h1:SgeKVM7MIwPn3BqtcBntpLyrIJftQISRrYB5ZtT+KOk= +cloud.google.com/go/scheduler v1.7.0/go.mod h1:jyCiBqWW956uBjjPMMuX09n3x37mtyPJegEWKxRsn44= +cloud.google.com/go/scheduler v1.8.0/go.mod h1:TCET+Y5Gp1YgHT8py4nlg2Sew8nUHMqcpousDgXJVQc= +cloud.google.com/go/scheduler v1.9.0/go.mod h1:yexg5t+KSmqu+njTIh3b7oYPheFtBWGcbVUYF1GGMIc= cloud.google.com/go/secretmanager v1.5.0/go.mod h1:5C9kM+RwSpkURNovKySkNvGQLUaOgyoR5W0RUx2SyHQ= cloud.google.com/go/secretmanager v1.6.0/go.mod h1:awVa/OXF6IiyaU1wQ34inzQNc4ISIDIrId8qE5QGgKA= +cloud.google.com/go/secretmanager v1.8.0/go.mod h1:hnVgi/bN5MYHd3Gt0SPuTPPp5ENina1/LxM+2W9U9J4= +cloud.google.com/go/secretmanager v1.9.0/go.mod h1:b71qH2l1yHmWQHt9LC80akm86mX8AL6X1MA01dW8ht4= +cloud.google.com/go/secretmanager v1.10.0/go.mod h1:MfnrdvKMPNra9aZtQFvBcvRU54hbPD8/HayQdlUgJpU= cloud.google.com/go/security v1.5.0/go.mod h1:lgxGdyOKKjHL4YG3/YwIL2zLqMFCKs0UbQwgyZmfJl4= cloud.google.com/go/security v1.7.0/go.mod h1:mZklORHl6Bg7CNnnjLH//0UlAlaXqiG7Lb9PsPXLfD0= cloud.google.com/go/security v1.8.0/go.mod h1:hAQOwgmaHhztFhiQ41CjDODdWP0+AE1B3sX4OFlq+GU= +cloud.google.com/go/security v1.9.0/go.mod h1:6Ta1bO8LXI89nZnmnsZGp9lVoVWXqsVbIq/t9dzI+2Q= +cloud.google.com/go/security v1.10.0/go.mod h1:QtOMZByJVlibUT2h9afNDWRZ1G96gVywH8T5GUSb9IA= +cloud.google.com/go/security v1.12.0/go.mod h1:rV6EhrpbNHrrxqlvW0BWAIawFWq3X90SduMJdFwtLB8= +cloud.google.com/go/security v1.13.0/go.mod h1:Q1Nvxl1PAgmeW0y3HTt54JYIvUdtcpYKVfIB8AOMZ+0= cloud.google.com/go/securitycenter v1.13.0/go.mod h1:cv5qNAqjY84FCN6Y9z28WlkKXyWsgLO832YiWwkCWcU= cloud.google.com/go/securitycenter v1.14.0/go.mod h1:gZLAhtyKv85n52XYWt6RmeBdydyxfPeTrpToDPw4Auc= +cloud.google.com/go/securitycenter v1.15.0/go.mod h1:PeKJ0t8MoFmmXLXWm41JidyzI3PJjd8sXWaVqg43WWk= +cloud.google.com/go/securitycenter v1.16.0/go.mod h1:Q9GMaLQFUD+5ZTabrbujNWLtSLZIZF7SAR0wWECrjdk= +cloud.google.com/go/securitycenter v1.18.1/go.mod h1:0/25gAzCM/9OL9vVx4ChPeM/+DlfGQJDwBy/UC8AKK0= +cloud.google.com/go/securitycenter v1.19.0/go.mod h1:LVLmSg8ZkkyaNy4u7HCIshAngSQ8EcIRREP3xBnyfag= +cloud.google.com/go/servicecontrol v1.4.0/go.mod h1:o0hUSJ1TXJAmi/7fLJAedOovnujSEvjKCAFNXPQ1RaU= +cloud.google.com/go/servicecontrol v1.5.0/go.mod h1:qM0CnXHhyqKVuiZnGKrIurvVImCs8gmqWsDoqe9sU1s= +cloud.google.com/go/servicecontrol v1.10.0/go.mod h1:pQvyvSRh7YzUF2efw7H87V92mxU8FnFDawMClGCNuAA= +cloud.google.com/go/servicecontrol v1.11.0/go.mod h1:kFmTzYzTUIuZs0ycVqRHNaNhgR+UMUpw9n02l/pY+mc= +cloud.google.com/go/servicecontrol v1.11.1/go.mod h1:aSnNNlwEFBY+PWGQ2DoM0JJ/QUXqV5/ZD9DOLB7SnUk= cloud.google.com/go/servicedirectory v1.4.0/go.mod h1:gH1MUaZCgtP7qQiI+F+A+OpeKF/HQWgtAddhTbhL2bs= cloud.google.com/go/servicedirectory v1.5.0/go.mod h1:QMKFL0NUySbpZJ1UZs3oFAmdvVxhhxB6eJ/Vlp73dfg= +cloud.google.com/go/servicedirectory v1.6.0/go.mod h1:pUlbnWsLH9c13yGkxCmfumWEPjsRs1RlmJ4pqiNjVL4= +cloud.google.com/go/servicedirectory v1.7.0/go.mod h1:5p/U5oyvgYGYejufvxhgwjL8UVXjkuw7q5XcG10wx1U= +cloud.google.com/go/servicedirectory v1.8.0/go.mod h1:srXodfhY1GFIPvltunswqXpVxFPpZjf8nkKQT7XcXaY= +cloud.google.com/go/servicedirectory v1.9.0/go.mod h1:29je5JjiygNYlmsGz8k6o+OZ8vd4f//bQLtvzkPPT/s= +cloud.google.com/go/servicemanagement v1.4.0/go.mod h1:d8t8MDbezI7Z2R1O/wu8oTggo3BI2GKYbdG4y/SJTco= +cloud.google.com/go/servicemanagement v1.5.0/go.mod h1:XGaCRe57kfqu4+lRxaFEAuqmjzF0r+gWHjWqKqBvKFo= +cloud.google.com/go/servicemanagement v1.6.0/go.mod h1:aWns7EeeCOtGEX4OvZUWCCJONRZeFKiptqKf1D0l/Jc= +cloud.google.com/go/servicemanagement v1.8.0/go.mod h1:MSS2TDlIEQD/fzsSGfCdJItQveu9NXnUniTrq/L8LK4= +cloud.google.com/go/serviceusage v1.3.0/go.mod h1:Hya1cozXM4SeSKTAgGXgj97GlqUvF5JaoXacR1JTP/E= +cloud.google.com/go/serviceusage v1.4.0/go.mod h1:SB4yxXSaYVuUBYUml6qklyONXNLt83U0Rb+CXyhjEeU= +cloud.google.com/go/serviceusage v1.5.0/go.mod h1:w8U1JvqUqwJNPEOTQjrMHkw3IaIFLoLsPLvsE3xueec= +cloud.google.com/go/serviceusage v1.6.0/go.mod h1:R5wwQcbOWsyuOfbP9tGdAnCAc6B9DRwPG1xtWMDeuPA= +cloud.google.com/go/shell v1.3.0/go.mod h1:VZ9HmRjZBsjLGXusm7K5Q5lzzByZmJHf1d0IWHEN5X4= +cloud.google.com/go/shell v1.4.0/go.mod h1:HDxPzZf3GkDdhExzD/gs8Grqk+dmYcEjGShZgYa9URw= +cloud.google.com/go/shell v1.6.0/go.mod h1:oHO8QACS90luWgxP3N9iZVuEiSF84zNyLytb+qE2f9A= +cloud.google.com/go/spanner v1.41.0/go.mod h1:MLYDBJR/dY4Wt7ZaMIQ7rXOTLjYrmxLE/5ve9vFfWos= +cloud.google.com/go/spanner v1.44.0/go.mod h1:G8XIgYdOK+Fbcpbs7p2fiprDw4CaZX63whnSMLVBxjk= +cloud.google.com/go/spanner v1.45.0/go.mod h1:FIws5LowYz8YAE1J8fOS7DJup8ff7xJeetWEo5REA2M= cloud.google.com/go/speech v1.6.0/go.mod h1:79tcr4FHCimOp56lwC01xnt/WPJZc4v3gzyT7FoBkCM= cloud.google.com/go/speech v1.7.0/go.mod h1:KptqL+BAQIhMsj1kOP2la5DSEEerPDuOP/2mmkhHhZQ= +cloud.google.com/go/speech v1.8.0/go.mod h1:9bYIl1/tjsAnMgKGHKmBZzXKEkGgtU+MpdDPTE9f7y0= +cloud.google.com/go/speech v1.9.0/go.mod h1:xQ0jTcmnRFFM2RfX/U+rk6FQNUF6DQlydUSyoooSpco= +cloud.google.com/go/speech v1.14.1/go.mod h1:gEosVRPJ9waG7zqqnsHpYTOoAS4KouMRLDFMekpJ0J0= +cloud.google.com/go/speech v1.15.0/go.mod h1:y6oH7GhqCaZANH7+Oe0BhgIogsNInLlz542tg3VqeYI= cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= @@ -193,21 +546,78 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.24.0/go.mod h1:3xrJEFMXBsQLgxwThyjuD3aYlroL0TMRec1ypGUQ0KE= -cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.29.0/go.mod h1:4puEjyTKnku6gfKoTfNOU/W+a9JyuVNxjpS5GBrB8h4= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.5.0/go.mod h1:dxNzUopWy7RQevYFHewchb29POFv3/AaBgnhqzqiK0w= +cloud.google.com/go/storagetransfer v1.6.0/go.mod h1:y77xm4CQV/ZhFZH75PLEXY0ROiS7Gh6pSKrM8dJyg6I= +cloud.google.com/go/storagetransfer v1.7.0/go.mod h1:8Giuj1QNb1kfLAiWM1bN6dHzfdlDAVC9rv9abHot2W4= +cloud.google.com/go/storagetransfer v1.8.0/go.mod h1:JpegsHHU1eXg7lMHkvf+KE5XDJ7EQu0GwNJbbVGanEw= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= +cloud.google.com/go/talent v1.3.0/go.mod h1:CmcxwJ/PKfRgd1pBjQgU6W3YBwiewmUzQYH5HHmSCmM= +cloud.google.com/go/talent v1.4.0/go.mod h1:ezFtAgVuRf8jRsvyE6EwmbTK5LKciD4KVnHuDEFmOOA= +cloud.google.com/go/talent v1.5.0/go.mod h1:G+ODMj9bsasAEJkQSzO2uHQWXHHXUomArjWQQYkqK6c= +cloud.google.com/go/texttospeech v1.4.0/go.mod h1:FX8HQHA6sEpJ7rCMSfXuzBcysDAuWusNNNvN9FELDd8= +cloud.google.com/go/texttospeech v1.5.0/go.mod h1:oKPLhR4n4ZdQqWKURdwxMy0uiTS1xU161C8W57Wkea4= +cloud.google.com/go/texttospeech v1.6.0/go.mod h1:YmwmFT8pj1aBblQOI3TfKmwibnsfvhIBzPXcW4EBovc= +cloud.google.com/go/tpu v1.3.0/go.mod h1:aJIManG0o20tfDQlRIej44FcwGGl/cD0oiRyMKG19IQ= +cloud.google.com/go/tpu v1.4.0/go.mod h1:mjZaX8p0VBgllCzF6wcU2ovUXN9TONFLd7iz227X2Xg= +cloud.google.com/go/tpu v1.5.0/go.mod h1:8zVo1rYDFuW2l4yZVY0R0fb/v44xLh3llq7RuV61fPM= cloud.google.com/go/trace v1.0.0/go.mod h1:4iErSByzxkyHWzzlAj63/Gmjz0NH1ASqhJguHpGcr6A= cloud.google.com/go/trace v1.2.0/go.mod h1:Wc8y/uYyOhPy12KEnXG9XGrvfMz5F5SrYecQlbW1rwM= +cloud.google.com/go/trace v1.3.0/go.mod h1:FFUE83d9Ca57C+K8rDl/Ih8LwOzWIV1krKgxg6N0G28= +cloud.google.com/go/trace v1.4.0/go.mod h1:UG0v8UBqzusp+z63o7FK74SdFE+AXpCLdFb1rshXG+Y= +cloud.google.com/go/trace v1.8.0/go.mod h1:zH7vcsbAhklH8hWFig58HvxcxyQbaIqMarMg9hn5ECA= +cloud.google.com/go/trace v1.9.0/go.mod h1:lOQqpE5IaWY0Ixg7/r2SjixMuc6lfTFeO4QGM4dQWOk= +cloud.google.com/go/translate v1.3.0/go.mod h1:gzMUwRjvOqj5i69y/LYLd8RrNQk+hOmIXTi9+nb3Djs= +cloud.google.com/go/translate v1.4.0/go.mod h1:06Dn/ppvLD6WvA5Rhdp029IX2Mi3Mn7fpMRLPvXT5Wg= +cloud.google.com/go/translate v1.5.0/go.mod h1:29YDSYveqqpA1CQFD7NQuP49xymq17RXNaUDdc0mNu0= +cloud.google.com/go/translate v1.6.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/translate v1.7.0/go.mod h1:lMGRudH1pu7I3n3PETiOB2507gf3HnfLV8qlkHZEyos= +cloud.google.com/go/video v1.8.0/go.mod h1:sTzKFc0bUSByE8Yoh8X0mn8bMymItVGPfTuUBUyRgxk= +cloud.google.com/go/video v1.9.0/go.mod h1:0RhNKFRF5v92f8dQt0yhaHrEuH95m068JYOvLZYnJSw= +cloud.google.com/go/video v1.12.0/go.mod h1:MLQew95eTuaNDEGriQdcYn0dTwf9oWiA4uYebxM5kdg= +cloud.google.com/go/video v1.13.0/go.mod h1:ulzkYlYgCp15N2AokzKjy7MQ9ejuynOJdf1tR5lGthk= +cloud.google.com/go/video v1.14.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= +cloud.google.com/go/video v1.15.0/go.mod h1:SkgaXwT+lIIAKqWAJfktHT/RbgjSuY6DobxEp0C5yTQ= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= cloud.google.com/go/videointelligence v1.7.0/go.mod h1:k8pI/1wAhjznARtVT9U1llUaFNPh7muw8QyOUpavru4= +cloud.google.com/go/videointelligence v1.8.0/go.mod h1:dIcCn4gVDdS7yte/w+koiXn5dWVplOZkE+xwG9FgK+M= +cloud.google.com/go/videointelligence v1.9.0/go.mod h1:29lVRMPDYHikk3v8EdPSaL8Ku+eMzDljjuvRs105XoU= +cloud.google.com/go/videointelligence v1.10.0/go.mod h1:LHZngX1liVtUhZvi2uNS0VQuOzNi2TkY1OakiuoUOjU= cloud.google.com/go/vision v1.2.0/go.mod h1:SmNwgObm5DpFBme2xpyOyasvBc1aPdjvMk2bBk0tKD0= cloud.google.com/go/vision/v2 v2.2.0/go.mod h1:uCdV4PpN1S0jyCyq8sIM42v2Y6zOLkZs+4R9LrGYwFo= cloud.google.com/go/vision/v2 v2.3.0/go.mod h1:UO61abBx9QRMFkNBbf1D8B1LXdS2cGiiCRx0vSpZoUo= +cloud.google.com/go/vision/v2 v2.4.0/go.mod h1:VtI579ll9RpVTrdKdkMzckdnwMyX2JILb+MhPqRbPsY= +cloud.google.com/go/vision/v2 v2.5.0/go.mod h1:MmaezXOOE+IWa+cS7OhRRLK2cNv1ZL98zhqFFZaaH2E= +cloud.google.com/go/vision/v2 v2.6.0/go.mod h1:158Hes0MvOS9Z/bDMSFpjwsUrZ5fPrdwuyyvKSGAGMY= +cloud.google.com/go/vision/v2 v2.7.0/go.mod h1:H89VysHy21avemp6xcf9b9JvZHVehWbET0uT/bcuY/0= +cloud.google.com/go/vmmigration v1.2.0/go.mod h1:IRf0o7myyWFSmVR1ItrBSFLFD/rJkfDCUTO4vLlJvsE= +cloud.google.com/go/vmmigration v1.3.0/go.mod h1:oGJ6ZgGPQOFdjHuocGcLqX4lc98YQ7Ygq8YQwHh9A7g= +cloud.google.com/go/vmmigration v1.5.0/go.mod h1:E4YQ8q7/4W9gobHjQg4JJSgXXSgY21nA5r8swQV+Xxc= +cloud.google.com/go/vmmigration v1.6.0/go.mod h1:bopQ/g4z+8qXzichC7GW1w2MjbErL54rk3/C843CjfY= +cloud.google.com/go/vmwareengine v0.1.0/go.mod h1:RsdNEf/8UDvKllXhMz5J40XxDrNJNN4sagiox+OI208= +cloud.google.com/go/vmwareengine v0.2.2/go.mod h1:sKdctNJxb3KLZkE/6Oui94iw/xs9PRNC2wnNLXsHvH8= +cloud.google.com/go/vmwareengine v0.3.0/go.mod h1:wvoyMvNWdIzxMYSpH/R7y2h5h3WFkx6d+1TIsP39WGY= +cloud.google.com/go/vpcaccess v1.4.0/go.mod h1:aQHVbTWDYUR1EbTApSVvMq1EnT57ppDmQzZ3imqIk4w= +cloud.google.com/go/vpcaccess v1.5.0/go.mod h1:drmg4HLk9NkZpGfCmZ3Tz0Bwnm2+DKqViEpeEpOq0m8= +cloud.google.com/go/vpcaccess v1.6.0/go.mod h1:wX2ILaNhe7TlVa4vC5xce1bCnqE3AeH27RV31lnmZes= cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xXZmFiHmGE= cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= +cloud.google.com/go/webrisk v1.6.0/go.mod h1:65sW9V9rOosnc9ZY7A7jsy1zoHS5W9IAXv6dGqhMQMc= +cloud.google.com/go/webrisk v1.7.0/go.mod h1:mVMHgEYH0r337nmt1JyLthzMr6YxwN1aAIEc2fTcq7A= +cloud.google.com/go/webrisk v1.8.0/go.mod h1:oJPDuamzHXgUc+b8SiHRcVInZQuybnvEW72PqTc7sSg= +cloud.google.com/go/websecurityscanner v1.3.0/go.mod h1:uImdKm2wyeXQevQJXeh8Uun/Ym1VqworNDlBXQevGMo= +cloud.google.com/go/websecurityscanner v1.4.0/go.mod h1:ebit/Fp0a+FWu5j4JOmJEV8S8CzdTkAS77oDsiSqYWQ= +cloud.google.com/go/websecurityscanner v1.5.0/go.mod h1:Y6xdCPy81yi0SQnDY1xdNTNpfY1oAgXUlcfN3B3eSng= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= +cloud.google.com/go/workflows v1.8.0/go.mod h1:ysGhmEajwZxGn1OhGOGKsTXc5PyxOc0vfKf5Af+to4M= +cloud.google.com/go/workflows v1.9.0/go.mod h1:ZGkj1aFIOd9c8Gerkjjq7OW7I5+l6cSvT3ujaO/WwSA= +cloud.google.com/go/workflows v1.10.0/go.mod h1:fZ8LmRmZQWacon9UCX1r/g/DfAXx5VcPALq2CxzdePw= code.cloudfoundry.org/clock v0.0.0-20180518195852-02e53af36e6c/go.mod h1:QD9Lzhd/ux6eNQVUDVRJX/RKTigpewimNYBi7ivZKY8= code.cloudfoundry.org/gofileutils v0.0.0-20170111115228-4d0c80011a0f/go.mod h1:sk5LnIjB/nIEU7yP5sDQExVm62wu0pBh3yrElngUisI= contrib.go.opencensus.io/exporter/aws v0.0.0-20200617204711-c478e41e60e9/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= @@ -215,7 +625,9 @@ contrib.go.opencensus.io/exporter/ocagent v0.4.12/go.mod h1:450APlNTSR6FrvC3CTRq contrib.go.opencensus.io/exporter/stackdriver v0.13.13/go.mod h1:5pSSGY0Bhuk7waTHuDf4aQ8D2DrhgETRo9fy6k3Xlzc= contrib.go.opencensus.io/integrations/ocsql v0.1.7/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.apache.org/thrift.git v0.12.0/go.mod h1:fPE2ZNJGynbRyZ4dJvy6G277gSllfV2HJqblrnkyeyg= +git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20210715213245-6c3934b029d8/go.mod h1:CzsSbkDixRphAF5hS6wbMKq0eI6ccJRb7/A0M6JBnwg= github.com/AlecAivazis/survey/v2 v2.0.5 h1:xpZp+Q55wi5C7Iaze+40onHnEkex1jSc34CltJjOoPM= github.com/AlecAivazis/survey/v2 v2.0.5/go.mod h1:WYBhg6f0y/fNYUuesWQc0PKbJcEliGcYHB9sNT3Bg74= @@ -294,18 +706,19 @@ github.com/GoogleCloudPlatform/cloudsql-proxy v1.31.2/go.mod h1:qR6jVnZTKDCW3j+f github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Jeffail/gabs v1.1.1/go.mod h1:6xMvQMK4k33lb7GUUpaAPh6nKMmemQeg5d4gn7/bOXc= +github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig/v3 v3.2.1 h1:n6EPaDyLSvCEa3frruQvAiHuNp2dhBlMSmkEr+HuzGc= +github.com/Masterminds/semver/v3 v3.2.0 h1:3MEsd0SM6jqZojhjLWWeBY+Kcjy9i6MQAeY7YgDP83g= +github.com/Masterminds/semver/v3 v3.2.0/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= github.com/Masterminds/sprig/v3 v3.2.1/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= +github.com/Masterminds/sprig/v3 v3.2.3 h1:eL2fZNezLomi0uOLqjQoN6BfsDD+fyLtgbJMAj9n6YA= +github.com/Masterminds/sprig/v3 v3.2.3/go.mod h1:rXcFaZ2zZbLRJv/xSysmlgIM1u11eBaRMhvYXJNkGuM= github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.12/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= @@ -339,8 +752,9 @@ github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2 h1:+vx7roKuyA63n github.com/Netflix/go-expect v0.0.0-20220104043353-73e0943537d2/go.mod h1:HBCaDeC1lPdgDeDbhX8XFpy1jqjK0IBG8W5K+xYqA0w= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= -github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= +github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8 h1:wPbRQzjjwFc0ih8puEVAOFGELsn1zoIIYdxvML7mDxA= +github.com/ProtonMail/go-crypto v0.0.0-20230217124315-7d5c6f04bbb8/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= @@ -351,8 +765,9 @@ github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWX github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/abdullin/seq v0.0.0-20160510034733-d5467c17e7af/go.mod h1:5Jv4cbFiHJMsVxt52+i0Ha45fjshj6wxYr1r19tB9bw= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/acomagu/bufpipe v1.0.4 h1:e3H4WUzM3npvo5uv95QuJM3cQspFNtFBzvJ2oNjKIDQ= +github.com/acomagu/bufpipe v1.0.4/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= @@ -361,7 +776,10 @@ github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo= github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= +github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY= +github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b/go.mod h1:1KcenG0jGWcpt8ov532z81sp/kMMUG485J2InIOyADM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -373,13 +791,16 @@ github.com/alexflint/go-filemutex v1.1.0/go.mod h1:7P4iRhttt/nUvUOrYIhcpMzv2G6CY github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190412020505-60e2075261b6/go.mod h1:T9M45xf79ahXVelWoOBmH0y4aC1t5kXO5BxwyakgIGA= github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190620160927-9418d7b0cd0f/go.mod h1:myCDvQSzCW+wB1WAlocEru4wMGJxy+vlxHdhegi1CDQ= github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8= -github.com/andybalholm/crlf v0.0.0-20171020200849-670099aa064f/go.mod h1:k8feO4+kXDxro6ErPXBRTJ/ro2mf0SsFG8s7doP9kJE= +github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= +github.com/apache/arrow/go/v11 v11.0.0/go.mod h1:Eg5OsL5H+e299f7u5ssuXsuHQVEGC4xei5aX110hRiI= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= +github.com/apache/thrift v0.16.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU= github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= @@ -411,6 +832,8 @@ github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:l github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= github.com/aws/aws-sdk-go v1.15.27/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= @@ -418,15 +841,14 @@ github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3A github.com/aws/aws-sdk-go v1.19.39/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.43.11/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.43.31/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.45/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.68/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go v1.44.122/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= -github.com/aws/aws-sdk-go v1.44.184 h1:/MggyE66rOImXJKl1HqhLQITvWvqIV7w1Q4MaG6FHUo= -github.com/aws/aws-sdk-go v1.44.184/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go v1.44.298 h1:5qTxdubgV7PptZJmp/2qDwD2JL187ePL7VOxsSh1i3g= +github.com/aws/aws-sdk-go v1.44.298/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/aws/aws-sdk-go-v2 v1.16.8/go.mod h1:6CpKuLXg2w7If3ABZCl/qZ6rEgwtjZTn4eAf4RcEyuw= github.com/aws/aws-sdk-go-v2 v1.17.3 h1:shN7NlnVzvDUgPQ+1rLMSxY8OWRNDRYtiqe0p/PgrhY= @@ -476,6 +898,8 @@ github.com/aws/aws-sdk-go-v2/service/sts v1.16.10/go.mod h1:cftkHYN6tCDNfkSasAmc github.com/aws/smithy-go v1.12.0/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f/go.mod h1:AuiFmCCPBSrqvVMvuqFuk0qogytodnVFVSN5CeJB8Gc= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= @@ -499,6 +923,7 @@ github.com/bmatcuk/doublestar v1.1.5/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9 github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/briankassouf/jose v0.9.2-0.20180619214549-d2569464773f/go.mod h1:HQhVmdUf7dBNwIIdBTivnCDxcf6IZY3/zrb+uKSJz6Y= github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= @@ -507,6 +932,7 @@ github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8n github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/cenkalti/backoff v2.1.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= @@ -519,12 +945,20 @@ github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInq github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/centrify/cloud-golang-sdk v0.0.0-20190214225812-119110094d0f/go.mod h1:C0rtzmGXgN78pYR0tGJFhtHgkbAs0lIbHwkB81VxDQE= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= @@ -556,12 +990,15 @@ github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGX github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20220314180256-7f1daf1720fc/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230105202645-06c439db220b/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c/go.mod h1:XGLbWH/ujMcbPbhZq52Nv6UrCghb1yGn//133kEsvDk= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -591,6 +1028,8 @@ github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4g github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= @@ -745,8 +1184,9 @@ github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZ github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74/go.mod h1:UqXY1lYT/ERa4OEAywUqdok1T4RCRdArkhic1Opuavo= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= +github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= @@ -773,8 +1213,11 @@ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go. github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/go-control-plane v0.10.3/go.mod h1:fJJn/j26vwOu972OllsvAgJJM//w9BV6Fxbg2LuVd34= +github.com/envoyproxy/go-control-plane v0.11.1-0.20230524094728-9239064ad72f/go.mod h1:sfYdkwUW4BA3PbKjySwjJy+O4Pu0h62rlqCMHNk+K+Q= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.6.7/go.mod h1:dyJXwwfPK2VSqiB9Klm1J6romD608Ba7Hij42vrOBCo= +github.com/envoyproxy/protoc-gen-validate v0.9.1/go.mod h1:OKNgG7TCp5pF4d6XftA0++PMirau2/yoOwVac3AbF2w= +github.com/envoyproxy/protoc-gen-validate v0.10.1/go.mod h1:DRjgyB0I43LtJapqN6NiRwroiAU2PaFuvk/vjgh61ss= github.com/ettle/strcase v0.1.1 h1:htFueZyVeE1XNnMEfbqp5r67qAN/4r6ya1ysq8Q+Zcw= github.com/ettle/strcase v0.1.1/go.mod h1:hzDLsPC7/lwKyBOywSHEP89nt2pDgdy+No1NBA9o9VY= github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= @@ -785,14 +1228,17 @@ github.com/evanphx/json-patch/v5 v5.5.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2Vvl github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.2/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= @@ -800,8 +1246,9 @@ github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVB github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.13.0 h1:yNZif1OkDfNoDfb9zZa9aXIpejNR4F23Wely0c+Qdqk= github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU= +github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= @@ -825,21 +1272,23 @@ github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= +github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= +github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/liberation v0.2.0/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= +github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= +github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= -github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= -github.com/go-git/go-git-fixtures/v4 v4.0.1/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= -github.com/go-git/go-git-fixtures/v4 v4.0.2-0.20200613231340-f56387b50c12/go.mod h1:m+ICp2rF3jDhFgEZ/8yziagdT1C+ZpZcrJjappBCDSw= +github.com/go-git/go-billy/v5 v5.4.1 h1:Uwp5tDRkPr+l/TnbHOQzp+tmJfLceOlbVucgpTz8ix4= +github.com/go-git/go-billy/v5 v5.4.1/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= -github.com/go-git/go-git/v5 v5.1.0/go.mod h1:ZKfuPUoY1ZqIG4QG9BDBh3G4gLM5zvPuSJAozQrZuyM= -github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4X+lNVprw= -github.com/go-git/go-git/v5 v5.6.0 h1:JvBdYfcttd+0kdpuWO7KTu0FYgCf5W0t5VwkWGobaa4= -github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE= +github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git/v5 v5.6.1 h1:q4ZRqQl4pR/ZJHc1L5CFjGA1a10u76aV1iC+nh+bHsk= +github.com/go-git/go-git/v5 v5.6.1/go.mod h1:mvyoL6Unz0PiTQrGQfSfiLFhBH1c1e84ylC2MDs4ee8= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -850,6 +1299,8 @@ github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgO github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-latex/latex v0.0.0-20210823091927-c0d11ff05a81/go.mod h1:SX0U8uGpxhq9o2S/CELCSUxEWWAuoCUcVCQWv7G2OCk= github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= @@ -894,6 +1345,8 @@ github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/ github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= +github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= @@ -939,6 +1392,7 @@ github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY9 github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= +github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-yaml v1.9.5/go.mod h1:U/jl18uSupI5rdI2jmuCswEA2htH9eXfferR3KfscvA= github.com/gocql/gocql v0.0.0-20190402132108-0e1d5de854df/go.mod h1:4Fw1eo5iaEhDUs8XyuhSVCVy52Jq3L+/3GJgYkwc+/0= github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= @@ -973,9 +1427,11 @@ github.com/golang-jwt/jwt/v4 v4.4.3 h1:Hxl6lhQFj4AnOX6MLrsCb/+7tCj7DxP7VA+2rDIq5 github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang-sql/sqlexp v0.1.0/go.mod h1:J4ad9Vo8ZCWQ2GMrC4UCQy1JpCbwU9m3EOqtpKwwwHI= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -992,7 +1448,6 @@ github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -1018,12 +1473,12 @@ github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8l github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180124185431-e89373fe6b4a/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -1080,6 +1535,8 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20220318212150-b2ab0324ddda/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= github.com/google/pprof v0.0.0-20220608213341-c488b8fa1db3/go.mod h1:gSuNB+gJaOiQKLEZ+q+PK9Mq3SOzhRcw2GsGS/FhYDk= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= @@ -1093,8 +1550,10 @@ github.com/google/wire v0.5.0 h1:I7ELFeVBr3yfPIcc8+MWvrjk+3VjbcSzoXm3JVa+jD8= github.com/google/wire v0.5.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= github.com/googleapis/enterprise-certificate-proxy v0.0.0-20220520183353-fd19c99a87aa/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= github.com/googleapis/enterprise-certificate-proxy v0.1.0/go.mod h1:17drOmN3MwGY7t0e+Ei9b45FFGA3fBs3x36SsCg1hq8= -github.com/googleapis/enterprise-certificate-proxy v0.2.0 h1:y8Yozv7SZtlU//QXbezB6QkpuE6jMD2/gfzk4AftXjs= github.com/googleapis/enterprise-certificate-proxy v0.2.0/go.mod h1:8C0jb7/mgJe/9KK8Lm7X9ctZC2t60YyIpYEI16jx0Qg= +github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= @@ -1104,8 +1563,10 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= @@ -1144,6 +1605,7 @@ github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.10.2/go.mod h1:chrfS3YoLAlKTRE5cFWvCbt8uGAjshktT4PveTUpsFQ= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3/go.mod h1:o//XUCC/F+yRGJoPO/VU0GSB0f8Nhgmxx0VIRUvaC0w= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= @@ -1160,8 +1622,9 @@ github.com/hashicorp/consul/sdk v0.1.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyN github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/cronexpr v1.1.1 h1:NJZDd87hGXjoZBdvyCF9mX4DCq5Wy7+A/w+A7q0wn6c= github.com/hashicorp/cronexpr v1.1.1/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= +github.com/hashicorp/cronexpr v1.1.2 h1:wG/ZYIKT+RT3QkOdgYc+xsKWVRgnxJ1OJtjjy84fJ9A= +github.com/hashicorp/cronexpr v1.1.2/go.mod h1:P4wA0KBl9C5q2hABiMO7cp6jcIg96CDh1Efb3g1PWA4= github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= @@ -1178,8 +1641,6 @@ github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840 h1:kgvybwEe github.com/hashicorp/go-cty-funcs v0.0.0-20200930094925-2721b1e36840/go.mod h1:Abjk0jbRkDaNCzsRhOv2iDCofYpX1eVsjozoiK63qLA= github.com/hashicorp/go-gcp-common v0.5.0/go.mod h1:IDGUI2N/OS3PiU4qZcXJeWKPI6O/9Y8hOrbSiMcqyYw= github.com/hashicorp/go-getter v1.4.0/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= -github.com/hashicorp/go-getter v1.4.2-0.20200106182914-9813cbd4eb02/go.mod h1:7qxyCd8rBfcShwsvxgIguu4KbS3l8bUCwg2Umn7RjeY= -github.com/hashicorp/go-getter v1.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI= github.com/hashicorp/go-getter v1.7.1 h1:SWiSWN/42qdpR0MdhaOc/bLR48PLuP1ZQtYLRlM69uY= github.com/hashicorp/go-getter v1.7.1/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= @@ -1191,8 +1652,8 @@ github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39 github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.2/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= -github.com/hashicorp/go-hclog v1.4.0 h1:ctuWFGrhFha8BnnzxqeRGidlEcQkDyL5u8J8t5eA11I= -github.com/hashicorp/go-hclog v1.4.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= +github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c= +github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= @@ -1208,17 +1669,17 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-plugin v1.0.0/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-plugin v1.3.0/go.mod h1:F9eH4LrE/ZsRdbwhfjs9k9HoDUwAHnYtXdgmf1AVNs0= github.com/hashicorp/go-plugin v1.4.3/go.mod h1:5fGEH17QVwTTcR0zV7yhDPLLmFX9YSZ38b18Udy6vYQ= github.com/hashicorp/go-plugin v1.4.4/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= -github.com/hashicorp/go-plugin v1.4.9 h1:ESiK220/qE0aGxWdzKIvRH69iLiuN/PjoLTm69RoWtU= -github.com/hashicorp/go-plugin v1.4.9/go.mod h1:viDMjcLJuDui6pXb8U4HVfb8AamCWhHGUjr2IrTF67s= +github.com/hashicorp/go-plugin v1.4.10 h1:xUbmA4jC6Dq163/fWcp8P3JuHilrHHMLNRxzGQJ9hNk= +github.com/hashicorp/go-plugin v1.4.10/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= github.com/hashicorp/go-raftchunking v0.6.2/go.mod h1:cGlg3JtDy7qy6c/3Bu660Mic1JF+7lWqIwCFSb08fX0= github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= -github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.7.2 h1:AcYqCvkpalPnPF2pn0KamgwamS42TqUDDYFRKq/RAd0= +github.com/hashicorp/go-retryablehttp v0.7.2/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= @@ -1227,11 +1688,11 @@ github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhE github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I= github.com/hashicorp/go-secure-stdlib/base62 v0.1.1/go.mod h1:EdWO6czbmthiwZ3/PUsDV+UD1D5IRU4ActiaWGwt0Yw= github.com/hashicorp/go-secure-stdlib/mlock v0.1.1/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= -github.com/hashicorp/go-secure-stdlib/mlock v0.1.2 h1:p4AKXPPS24tO8Wc8i1gLvSKdmkiSY5xuju57czJ/IJQ= github.com/hashicorp/go-secure-stdlib/mlock v0.1.2/go.mod h1:zq93CJChV6L9QTfGKtfBxKqD7BqqXx5O04A/ns2p5+I= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.1/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= -github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6 h1:om4Al8Oy7kCm/B86rLCLah4Dt5Aa0Fr5rYBG60OzwHQ= github.com/hashicorp/go-secure-stdlib/parseutil v0.1.6/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 h1:UpiO20jno/eV1eVZcxqWnUohyKRe1g8FPV/xH1s/2qs= +github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8= github.com/hashicorp/go-secure-stdlib/password v0.1.1/go.mod h1:9hH302QllNwu1o2TGYtSk8I8kTAN0ca1EHpwhm5Mmzo= github.com/hashicorp/go-secure-stdlib/strutil v0.1.1/go.mod h1:gKOamz3EwoIoJq7mlMIRBpVTAUn8qPCrEclOKKWhD3U= github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts= @@ -1248,8 +1709,6 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= @@ -1257,10 +1716,15 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.1-0.20201016140508-a07e7d50bbee h1:8B4HqvMUtYSjsGkYjiQGStc9pXffY2J+Z2SPQAj+wMY= -github.com/hashicorp/hcl v1.0.1-0.20201016140508-a07e7d50bbee/go.mod h1:gwlu9+/P9MmKtYrMsHeFRZPXj2CTPm11TDnMeaRHS7g= -github.com/hashicorp/hcl/v2 v2.9.2-0.20210407182552-eb14f8319bdc h1:x0m+f0NSbNCz1z+mkBiD3MIThn3OJ8elHtF7pCMvyJ8= -github.com/hashicorp/hcl/v2 v2.9.2-0.20210407182552-eb14f8319bdc/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg= +github.com/hashicorp/hc-install v0.5.0/go.mod h1:JyzMfbzfSBSjoDCRPna1vi/24BEDxFaCPfdHtM5SCdo= +github.com/hashicorp/hc-install v0.5.2 h1:SfwMFnEXVVirpwkDuSF5kymUOhrUxrTq3udEseZdOD0= +github.com/hashicorp/hc-install v0.5.2/go.mod h1:9QISwe6newMWIfEiXpzuu1k9HAGtQYgnSH8H9T8wmoI= +github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl v1.0.1-vault-3 h1:V95v5KSTu6DB5huDSKiq4uAfILEuNigK/+qPET6H/Mg= +github.com/hashicorp/hcl v1.0.1-vault-3/go.mod h1:XYhtn6ijBSAj6n4YqAaf7RBPS4I06AItNorpy+MoQNM= +github.com/hashicorp/hcl/v2 v2.9.2-0.20220525143345-ab3cae0737bc h1:32lGaCPq5JPYNgFFTjl/cTIar9UWWxCbimCs5G2hMHg= +github.com/hashicorp/hcl/v2 v2.9.2-0.20220525143345-ab3cae0737bc/go.mod h1:odKNpEeZv3COD+++SQcPyACuKOlM5eBoQlzRyN5utIQ= github.com/hashicorp/hil v0.0.0-20210521165536-27a72121fd40 h1:ExwaL+hUy1ys2AWDbsbh/lxQS2EVCYxuj0LoyLTdB3Y= github.com/hashicorp/hil v0.0.0-20210521165536-27a72121fd40/go.mod h1:n2TSygSNwsLJ76m8qFXTSc7beTb+auJxYdqrnoqwZWE= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= @@ -1270,12 +1734,12 @@ github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/ github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.3.1/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/nomad v1.5.2 h1:4dHbKF2UZEYXoXPUfG1VdSDaOaGpuqZUiCnuKuna83o= -github.com/hashicorp/nomad v1.5.2/go.mod h1:ywYvhApBI9mRlmS8qMhoaWUbzeVGiJHKMjwy8l7fHRY= +github.com/hashicorp/nomad v1.6.0 h1:HFR2+jfBN2LASqV+qP+p0Uzsxq3WobsO6y886cmZeSo= +github.com/hashicorp/nomad v1.6.0/go.mod h1:QGS113yr5cSkixiYcp5zO1ojJkHgzVfg49Rto1LVGi4= github.com/hashicorp/nomad/api v0.0.0-20190412184103-1c38ced33adf/go.mod h1:BDngVi1f4UA6aJq9WYTgxhfWSE1+42xshvstLU2fRGk= github.com/hashicorp/nomad/api v0.0.0-20220629141207-c2428e1673ec/go.mod h1:jP79oXjopTyH6E8LF0CEMq67STgrlmBRIyijA0tuR5o= -github.com/hashicorp/nomad/api v0.0.0-20230321225438-9a2fdb5f53dc h1:XhUHxwOMmGbSun7xsszFLsBqGz3WbWhi5zWVAEo+c8M= -github.com/hashicorp/nomad/api v0.0.0-20230321225438-9a2fdb5f53dc/go.mod h1:bKUb1ytds5KwUioHdvdq9jmrDqCThv95si0Ub7iNeBg= +github.com/hashicorp/nomad/api v0.0.0-20230718185111-87d411f4e3a6 h1:JUh2y7d/gQqK3fCBdm8XxF+KZsazLShQQCv2sMb80ig= +github.com/hashicorp/nomad/api v0.0.0-20230718185111-87d411f4e3a6/go.mod h1:O23qLAZuCx4htdY9zBaO4cJPXgleSFEdq6D/sezGgYE= github.com/hashicorp/raft v1.0.1/go.mod h1:DVSAWItjLjTOkVbSpWQ0j0kUADIvDaCtBxIcbNAQLkI= github.com/hashicorp/raft v1.1.1/go.mod h1:vPAJM8Asw6u8LxC3eJCUZmRP/E4QmUGE1R7g7k8sG/8= github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea/go.mod h1:pNv7Wc3ycL6F5oOWn+tPGo2gWD4a5X+yp/ntwdKLjRk= @@ -1285,34 +1749,26 @@ github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpT github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk= -github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.9.0/go.mod h1:tOT8j1J8rP05bZBGWXfMyU3HkLi1LWyqL3Bzsc3CJjo= -github.com/hashicorp/terraform-exec v0.13.3 h1:R6L2mNpDGSEqtLrSONN8Xth0xYwNrnEVzDz6LF/oJPk= -github.com/hashicorp/terraform-exec v0.13.3/go.mod h1:SSg6lbUsVB3DmFyCPjBPklqf6EYGX0TlQ6QTxOlikDU= +github.com/hashicorp/terraform-exec v0.18.1 h1:LAbfDvNQU1l0NOQlTuudjczVhHj061fNX5H8XZxHlH4= +github.com/hashicorp/terraform-exec v0.18.1/go.mod h1:58wg4IeuAJ6LVsLUeD2DWZZoc/bYi6dzhLHzxM41980= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.5.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.10.0 h1:9syPD/Y5t+3uFjG8AiWVPu1bklJD8QB8iTCaJASc8oQ= -github.com/hashicorp/terraform-json v0.10.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= -github.com/hashicorp/terraform-plugin-go v0.14.1 h1:cwZzPYla82XwAqpLhSzdVsOMU+6H29tczAwrB0z9Zek= -github.com/hashicorp/terraform-plugin-go v0.14.1/go.mod h1:Bc/K6K26BQ2FHqIELPbpKtt2CzzbQou+0UQF3/0NsCQ= -github.com/hashicorp/terraform-plugin-log v0.7.0 h1:SDxJUyT8TwN4l5b5/VkiTIaQgY6R+Y2BQ0sRZftGKQs= -github.com/hashicorp/terraform-plugin-log v0.7.0/go.mod h1:p4R1jWBXRTvL4odmEkFfDdhUjHf9zcs/BCoNHAc7IK4= +github.com/hashicorp/terraform-json v0.15.0/go.mod h1:+L1RNzjDU5leLFZkHTFTbJXaoqUC6TqXlFgDoOXrtvk= +github.com/hashicorp/terraform-json v0.17.0 h1:EiA1Wp07nknYQAiv+jIt4dX4Cq5crgP+TsTE45MjMmM= +github.com/hashicorp/terraform-json v0.17.0/go.mod h1:Huy6zt6euxaY9knPAFKjUITn8QxUFIe9VuSzb4zn/0o= +github.com/hashicorp/terraform-plugin-go v0.16.0 h1:DSOQ0rz5FUiVO4NUzMs8ln9gsPgHMTsfns7Nk+6gPuE= +github.com/hashicorp/terraform-plugin-go v0.16.0/go.mod h1:4sn8bFuDbt+2+Yztt35IbOrvZc0zyEi87gJzsTgCES8= +github.com/hashicorp/terraform-plugin-log v0.9.0 h1:i7hOA+vdAItN1/7UrfBqBwvYPQ9TFvymaRGZED3FCV0= +github.com/hashicorp/terraform-plugin-log v0.9.0/go.mod h1:rKL8egZQ/eXSyDqzLUuwUYLVdlYeamldAHSxjUFADow= +github.com/hashicorp/terraform-plugin-sdk v1.7.0 h1:B//oq0ZORG+EkVrIJy0uPGSonvmXqxSzXe8+GhknoW0= github.com/hashicorp/terraform-plugin-sdk v1.7.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= -github.com/hashicorp/terraform-plugin-sdk v1.17.2 h1:V7DUR3yBWFrVB9z3ddpY7kiYVSsq4NYR67NiTs93NQo= -github.com/hashicorp/terraform-plugin-sdk v1.17.2/go.mod h1:wkvldbraEMkz23NxkkAsFS88A1R9eUiooiaUZyS6TLw= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.0.2/go.mod h1:pVZLnLuSe/yv0XqTHFPb8xRGWPwgANT77jHeHqjXS5o= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0 h1:7gDAcfto/C4Cjtf90SdukQshsxdMxJ/P69QxiF3digI= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.19.0/go.mod h1:/WYikYjhKB7c2j1HmXZhRsAARldRb4M38bLCLOhC3so= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= -github.com/hashicorp/terraform-plugin-test/v2 v2.1.1/go.mod h1:HaW2G5cDTVyiEKt7PHC85YSM5BwvYl/rIko1g8Lg7qE= -github.com/hashicorp/terraform-plugin-test/v2 v2.2.1 h1:d3Rzmi5bnRzcAZon91FY4TDCMUYdU8c5vpPpf2Tz+c8= -github.com/hashicorp/terraform-plugin-test/v2 v2.2.1/go.mod h1:eZ9JL3O69Cb71Skn6OhHyj17sLmHRb+H6VrDcJjKrYU= -github.com/hashicorp/terraform-provider-nomad v1.4.20 h1:mEJTCtlguE1p9BfxTOFrgji5v+gFD39Q+tv5GbD/6nQ= -github.com/hashicorp/terraform-provider-nomad v1.4.20/go.mod h1:iKlELXrj7nO7xtXS8WbzM91PSeVwc+Q8f6A4ABsFqK0= +github.com/hashicorp/terraform-provider-nomad v1.4.21-0.20230828192727-f173c57d416d h1:Ri/tlCv0Xub51fTUKnoPSjSNTuRFeOe+HWBQ+yvG8ic= +github.com/hashicorp/terraform-provider-nomad v1.4.21-0.20230828192727-f173c57d416d/go.mod h1:2fmTGBMTwM1Doz7mE3T92OkMqa6rWMOjyi25z/UfENQ= +github.com/hashicorp/terraform-registry-address v0.2.1 h1:QuTf6oJ1+WSflJw6WYOHhLgwUiQ0FrROpHPYFtwTYWM= +github.com/hashicorp/terraform-registry-address v0.2.1/go.mod h1:BSE9fIFzp0qWsJUUyGquo4ldV9k2n+psif6NYkBRS3Y= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= -github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKLsbzeOsfXmKNpr3GiT18XAblV0BjCbzL8KQAMZGa0= -github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= +github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= +github.com/hashicorp/terraform-svchost v0.1.1/go.mod h1:mNsjQfZyf/Jhz35v6/0LWcv26+X7JPS+buii2c9/ctc= github.com/hashicorp/vault v1.2.0 h1:Daa0PtdqucVNuQ9KbvOk0XjbsGvPoFKv9X9fdKHQTrk= github.com/hashicorp/vault v1.2.0/go.mod h1:HIOD/sbdZJ+KKX2/d/a4m/KDsBRjns8YDVnFUdcJjFc= github.com/hashicorp/vault-plugin-auth-alicloud v0.5.2-0.20190730042457-c395df6cf9ad/go.mod h1:gGDuTBheAxJNRSuMP9GXYaZG6fcmJwZmeCDnkeGh1dY= @@ -1334,16 +1790,16 @@ github.com/hashicorp/vault/api v1.0.1/go.mod h1:AV/+M5VPDpB90arloVX0rVDUIHkONiwz github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= github.com/hashicorp/vault/api v1.0.5-0.20190730042357-746c0b111519/go.mod h1:i9PKqwFko/s/aihU1uuHGh/FaQS+Xcgvd9dvnfAvQb0= github.com/hashicorp/vault/api v1.7.2/go.mod h1:xbfA+1AvxFseDzxxdWaL0uO99n1+tndus4GCrtouy0M= -github.com/hashicorp/vault/api v1.8.3 h1:cHQOLcMhBR+aVI0HzhPxO62w2+gJhIrKguQNONPzu6o= -github.com/hashicorp/vault/api v1.8.3/go.mod h1:4g/9lj9lmuJQMtT6CmVMHC5FW1yENaVv+Nv4ZfG8fAg= +github.com/hashicorp/vault/api v1.9.1 h1:LtY/I16+5jVGU8rufyyAkwopgq/HpUnxFBg+QLOAV38= +github.com/hashicorp/vault/api v1.9.1/go.mod h1:78kktNcQYbBGSrOjQfHjXN32OhhxXnbYl3zxpd2uPUs= github.com/hashicorp/vault/sdk v0.1.8/go.mod h1:tHZfc6St71twLizWNHvnnbiGFo1aq0eD2jGPLtP8kAU= github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/vault/sdk v0.1.14-0.20190729200543-e88721c7db1e/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/vault/sdk v0.1.14-0.20190730042320-0dc007d98cc8/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/vault/sdk v0.5.1/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= github.com/hashicorp/vault/sdk v0.5.3/go.mod h1:DoGraE9kKGNcVgPmTuX357Fm6WAx1Okvde8Vp3dPDoU= -github.com/hashicorp/vault/sdk v0.7.0 h1:2pQRO40R1etpKkia5fb4kjrdYMx3BHklPxl1pxpxDHg= -github.com/hashicorp/vault/sdk v0.7.0/go.mod h1:KyfArJkhooyba7gYCKSq8v66QdqJmnbAxtV/OX1+JTs= +github.com/hashicorp/vault/sdk v0.9.0 h1:Cbu9ezaZafZTXnen98QKVmufEPquhZ+r1ORZ7csNLFU= +github.com/hashicorp/vault/sdk v0.9.0/go.mod h1:VX9d+xF62YBNtiEc4l3Z2aea9HVtAS49EoniuXzHtC4= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/hashicorp/yamux v0.1.1 h1:yrQxtgseBDrq9Y652vSRDvsKCJKOUD+GzTS4Y0Y8pvE= @@ -1357,12 +1813,14 @@ github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSo github.com/hexops/valast v1.4.0 h1:sFzyxPDP0riFQUzSBXTCCrAbbIndHPWMndxuEjXdZlc= github.com/hexops/valast v1.4.0/go.mod h1:uVjKZ0smVuYlgCSPz9NRi5A04sl7lp6GtFWsROKDgEs= github.com/hinshun/vt10x v0.0.0-20180616224451-1954e6464174/go.mod h1:DqJ97dSdRW1W22yXSB90986pcOyQ7r45iio1KN2ez1A= -github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec h1:qv2VnGeEQHchGaZ/u7lxST/RaJw+cv273q79D81Xbog= -github.com/hinshun/vt10x v0.0.0-20220119200601-820417d04eec/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= +github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02 h1:AgcIVYPa6XJnU3phs104wLj8l5GEththEw6+F79YsIY= +github.com/hinshun/vt10x v0.0.0-20220301184237-5011da428d02/go.mod h1:Q48J4R4DvxnHolD5P8pOtXigYlRuPLGl6moFx3ulM68= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= +github.com/huandu/xstrings v1.4.0 h1:D17IlohoQq4UcpqD7fDk80P7l+lwAmlFaBHgOipl2FU= +github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/iancoleman/strcase v0.2.0 h1:05I4QRnGpI0m37iZQRuskXh+w77mr6Z41lwQzuHLwW0= github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= @@ -1374,7 +1832,6 @@ github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+ github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= @@ -1468,11 +1925,12 @@ github.com/jtolds/gls v4.2.1+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVY github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= @@ -1482,14 +1940,16 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/asmfmt v1.3.2/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.15.9/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/compress v1.15.11 h1:Lcadnb3RKGin4FYM/orgq0qde+nc15E5Cbqg4B9Sx9c= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= +github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b/go.mod h1:pcaDhQK0/NJZEvtCO0qQPPropqV0sJOJ6YW7X+9kRwM= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -1524,7 +1984,11 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U github.com/linode/linodego v1.4.0/go.mod h1:PVsRxSlOiJyvG4/scTszpmZDTdgS+to3X6eS8pRrWI8= github.com/linode/linodego v1.8.0/go.mod h1:heqhl91D8QTPVm2k9qZHP78zzbOdTFLXE9NJc3bcc50= github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= +github.com/lyft/protoc-gen-star/v2 v2.0.1/go.mod h1:RcCdONR2ScXaYnQC5tUzxzlpA3WVYF7/opLeUgcQs/o= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -1559,15 +2023,20 @@ github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcME github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= -github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.0/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= @@ -1582,14 +2051,13 @@ github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJys github.com/miekg/dns v1.1.48/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= +github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/cli v1.1.1/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= github.com/mitchellh/cli v1.1.5 h1:OxRIeJXpAMztws/XHlN2vu6imG5Dpq+j61AzAX5fLng= github.com/mitchellh/cli v1.1.5/go.mod h1:v8+iFts2sPIKUV1ltktPXMCC8fumSKFItNcD2cLtRR4= -github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db h1:62I3jR2EmQ4l5rM/4FEfDWcRD+abF5XlKShorW5LRoQ= github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db/go.mod h1:l0dey0ia/Uv7NcFFVbCLtqEBQbrT4OCwCSKTEv6enCw= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -1601,7 +2069,6 @@ github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-testing-interface v1.0.4/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.14.1/go.mod h1:gfgS7OtZj6MA4U1UrDRp04twqAjfvlZyCfX3sDjEym8= github.com/mitchellh/go-testing-interface v1.14.2-0.20210821155943-2d9075ca8770 h1:drhDO54gdT/a15GBcMRmunZiNcLgPiFIJa23KzmcvcU= github.com/mitchellh/go-testing-interface v1.14.2-0.20210821155943-2d9075ca8770/go.mod h1:SO/iHr6q2EzbqRApt+8/E9wqebTwQn5y+UlB04bxzo0= @@ -1651,8 +2118,14 @@ github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJ github.com/montanaflynn/stats v0.6.6/go.mod h1:etXPPgVO6n31NxCd9KQUMvCM+ve0ruNzt6R8Bnaayow= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b h1:1XF24mVaiu7u+CFywTdcDo2ie1pzzhwjt6RHqzpMU34= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho= github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs= +github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= @@ -1749,7 +2222,6 @@ github.com/ory/dockertest v3.3.4+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnh github.com/oxtoacart/bpool v0.0.0-20150712133111-4e1c5567d7c2/go.mod h1:L3UMQOThbttwfYRNFOWLLVXMhk5Lkio4GGOtw5UrxS0= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0MwY= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -1761,16 +2233,20 @@ github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9 github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386 h1:LoCV5cscNVWyK5ChN/uCoIFJz8jZD63VQiGJIRgr6uo= github.com/pgavlin/goldmark v1.1.33-0.20200616210433-b5eb04559386/go.mod h1:MRxHTJrf9FhdfNQ8Hdeh9gmHevC9RJE/fu8M3JIGjoE= +github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= +github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= +github.com/phpdave11/gofpdi v1.0.13/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/browser v0.0.0-20180916011732-0a3d74bf9ce4/go.mod h1:4OwLy04Bl9Ef3GJJCoec+30X3LQs/0/m4HFRt/2LUSA= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI= github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4/go.mod h1:N6UoU20jOqggOuDwUaBQpluzLNDqif3kq9z2wpdYEfQ= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -1812,6 +2288,7 @@ github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1: github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20180518154759-7600349dcfe1/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= @@ -1851,26 +2328,30 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/prometheus v0.35.0/go.mod h1:7HaLx5kEPKJ0GDgbODG0fZgXbQ8K/XjZNJXQmbmgQlY= github.com/prometheus/prometheus v0.37.0/go.mod h1:egARUgz+K93zwqsVIAneFlLZefyGOON44WyAp4Xqbbk= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/pulumi/pulumi-java/pkg v0.9.2 h1:fpBwf1NHf3j5YuigOWsXPvJCAFivEp1D6aOlYIrSbr0= -github.com/pulumi/pulumi-java/pkg v0.9.2/go.mod h1:+5V4jggi3063hksi28zYvLm42UWVg3VqpR6qGZraIdM= +github.com/pulumi/pulumi-java/pkg v0.9.6 h1:UJrOAsYHRchwb4QlfI9Q224qg1TOI3rIsI6DDTUnn30= +github.com/pulumi/pulumi-java/pkg v0.9.6/go.mod h1:c6rSw/+q4O0IImgJ9axxoC6QesbPYWBaG5gimbHouUQ= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1 h1:SCg1gjfY9N4yn8U8peIUYATifjoDABkyR7H9lmefsfc= github.com/pulumi/pulumi-terraform-bridge/testing v0.0.1/go.mod h1:7OeUPH8rpt5ipyj9EFcnXpuzQ8SHL0dyqdfa8nOacdk= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.49.0 h1:bjPwHGfMFdX/UjEX0VCjuQAD6eQvn1tI42atlixECC8= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.49.0/go.mod h1:QdMHrg7J/OnXdm68lQROGLivbJlwMpHq75kdnigDSWw= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0 h1:55mlXQtnYo2Pa1y0VeILi1W382vK10raX4z69LX2jn0= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.59.0/go.mod h1:o0Vfch2UXtHOnGYpNElzGg4htT6B8X8hS9fa5AguP7g= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4 h1:rIzMmtcVpPX8ynaz6/nW5AHNY63DiNfCohqmxWvMpM4= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.4/go.mod h1:Kt8RIZWa/N8rW3+0g6NrqCBmF3o+HuIhFaZpssEkG6w= -github.com/pulumi/pulumi-yaml v1.1.1 h1:8pyBNIU8+ym0wYpjhsCqN+cutygfK1XbhY2YEeNfyXY= -github.com/pulumi/pulumi-yaml v1.1.1/go.mod h1:GhpdS6rFpwqvUtKdA+fQy8P28iNvncng39IXh5q68vE= -github.com/pulumi/pulumi/pkg/v3 v3.69.0 h1:IP9WCBFYRXWzbEFNsSquBoHKF5ux32XImKpRdju8HjU= -github.com/pulumi/pulumi/pkg/v3 v3.69.0/go.mod h1:GbsJqE2bGotPY+mj07LKlpps9ZzAlV7qRQ/u77kw9yk= -github.com/pulumi/pulumi/sdk/v3 v3.69.0 h1:WENc7menQMT10I34kVg1ZatQTMlifovuZ9i8CcTrk7A= -github.com/pulumi/pulumi/sdk/v3 v3.69.0/go.mod h1:BUUBfQZsH0FPuznRfFHkR+b96VlXELnn+DgidFj4XSQ= +github.com/pulumi/pulumi-yaml v1.2.2 h1:W6BeUBLhDrJ2GSU0em1AUVelG9PBI4ABY61DdhJOO3E= +github.com/pulumi/pulumi-yaml v1.2.2/go.mod h1:EgakC7b/4+VBNnlgM1RZIea2gUstV8s/7bdFJZt0P64= +github.com/pulumi/pulumi/pkg/v3 v3.81.0 h1:6rf2farQLszi8inHCu9YdJtDvK0fqNguix51b3FEDRQ= +github.com/pulumi/pulumi/pkg/v3 v3.81.0/go.mod h1:URXozJB/abhxb2yOwa5ywHjT2dqt9SmAX2iLkdcOOl0= +github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= +github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= -github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk= -github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= +github.com/pulumi/terraform-diff-reader v0.0.2/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d h1:DfAVBLi3G5hXbqiWs9wIGYZXF1VZu6+9kbl2CQO6cOE= +github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20230710100801-03a71d0fca3d/go.mod h1:cUEP4ly/nxlHy5HzD6YRrHydtlheGvGRJDhiWqqVik4= github.com/rakyll/embedmd v0.0.0-20171029212350-c8060a0752a2/go.mod h1:7jOTMgqac46PZcF54q6l2hkLEG8op93fZu61KmxWDV4= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -1889,6 +2370,8 @@ github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThC github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= +github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk= @@ -1906,6 +2389,7 @@ github.com/scaleway/scaleway-sdk-go v1.0.0-beta.9/go.mod h1:fCa7OJZ/9DRTnOKmxvT6 github.com/sclevine/agouti v3.0.0+incompatible/go.mod h1:b4WX9W9L1sfQKXeJf1mUTLZKJ48R1S7H23Ji7oFO5Bw= github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sebdah/goldie v1.0.0/go.mod h1:jXP4hmWywNEwZzhMuv2ccnqTSFpuq8iyQhtQdkkZBH4= github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= @@ -1914,13 +2398,15 @@ github.com/segmentio/encoding v0.3.5 h1:UZEiaZ55nlXGDL92scoVuw00RmiRCazIEmvPSbSv github.com/segmentio/encoding v0.3.5/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shoenig/test v0.6.3 h1:GVXWJFk9PiOjN0KoJ7VrJGH6uLPnqxR7/fe3HUPfE0c= -github.com/shoenig/test v0.6.3/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= +github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= +github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shoenig/test v0.6.6 h1:Oe8TPH9wAbv++YPNDKJWUnI8Q4PPWCx3UbOfH+FxiMU= +github.com/shoenig/test v0.6.6/go.mod h1:byHiCGXqrVaflBLAMq/srcZIHynQPQgeyvkvXnjqq0k= github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= +github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17 h1:lRAUE0dIvigSSFAmaM2dfg7OH8T+a8zJ5smEh09a/GI= github.com/shurcooL/go-goon v0.0.0-20210110234559-7585751d9a17/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= @@ -1951,8 +2437,8 @@ github.com/spf13/afero v1.2.2 h1:5jhuqJyZCZf2JRofRvN/nIFgIWNzPa3/Vz8mYylgbWc= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= +github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= @@ -1994,8 +2480,9 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= -github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.3/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -2022,8 +2509,6 @@ github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVM github.com/ugorji/go/codec v0.0.0-20190204201341-e444a5086c43/go.mod h1:iT03XoTwV7xq/+UGwKO3UbC1nNNlopQiY61beSdrtOA= github.com/ugorji/go/codec v1.1.7/go.mod h1:Ax+UKWsSmolVDwsd+7N3ZtXu+yMGCf907BLYF3GoBXY= github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8= -github.com/ulikunitz/xz v0.5.7/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8= github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= @@ -2042,18 +2527,15 @@ github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6Ac github.com/vmihailenco/msgpack v4.0.1+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= github.com/vmihailenco/msgpack v4.0.4+incompatible h1:dSLoQfGFAo3F6OoNhwUmLwVgaUXK79GlxNBwueZn0xI= github.com/vmihailenco/msgpack v4.0.4+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= -github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U= github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4= github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser v0.1.1 h1:quXMXlA39OCbd2wAdTsGDlK9RkOk6Wuw+x37wVyIuWY= github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI= github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/vultr/govultr/v2 v2.17.2/go.mod h1:ZFOKGWmgjytfyjeyAdhQlSWwTjh2ig+X49cAp50dzXI= github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= @@ -2087,14 +2569,17 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= github.com/zclconf/go-cty v1.4.0/go.mod h1:nHzOclRkoj++EU9ZjSrZvRG0BXIWt8c7loYc0qXAFGQ= github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= -github.com/zclconf/go-cty v1.13.1 h1:0a6bRwuiSHtAmqCqNOE+c2oHgepv0ctoxU4FUe43kwc= +github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk= +github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty v1.13.1/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= +github.com/zclconf/go-cty v1.13.2 h1:4GvrUxe/QUDYuJKAav4EYqdM47/kZa672LwmXFmEKT0= +github.com/zclconf/go-cty v1.13.2/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0= github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= github.com/zclconf/go-cty-yaml v1.0.1/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= -github.com/zclconf/go-cty-yaml v1.0.2/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0= github.com/zclconf/go-cty-yaml v1.0.3 h1:og/eOQ7lvA/WWhHGFETVWNduJM7Rjsv2RRpx1sdFMLc= github.com/zclconf/go-cty-yaml v1.0.3/go.mod h1:9YLUH4g7lOhVWqUbctnVlZ5KLpg7JAprQNgxSZ1Gyxs= +github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -2172,6 +2657,7 @@ go.opentelemetry.io/proto/otlp v0.11.0/go.mod h1:QpEjXPrNQzrFDZgoTo49dgHR9RYRSrg go.opentelemetry.io/proto/otlp v0.12.1/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.15.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v0.16.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -2209,7 +2695,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190513172903-22d7a77e9e5f/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -2231,6 +2716,7 @@ golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWP golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= @@ -2238,29 +2724,51 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20211202192323-5770296d904e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= +golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= +golang.org/x/crypto v0.8.0/go.mod h1:mRqEX+O9/h5TFCrQhkgjo2yKi0yYA+9ecGkdQoHrywE= +golang.org/x/crypto v0.10.0 h1:LKqV2xt9+kDzSTfOhx4FrkEBcMrAgHSYgzywV9zcGmM= +golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a h1:tlXy25amD5A7gOfbXdqCGN5k8ESEed/Ee1E5RcrYnqU= -golang.org/x/exp v0.0.0-20230108222341-4b8118a2686a/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/exp v0.0.0-20220827204233-334a2380cb91/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29 h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug= +golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/image v0.0.0-20210607152325-775e3b0c77b9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20210628002857-a66eb6448b8d/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20211028202545-6944b10bf410/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= +golang.org/x/image v0.0.0-20220302094943-723b81ca9867/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/lint v0.0.0-20180702182130-06c8688daad7/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181217174547-8f45f776aaf1/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -2291,6 +2799,9 @@ golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0 h1:lFO9qtOdlre5W1jxS3r/4szv2/6iXxScdzjoBMXNhYk= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -2379,11 +2890,19 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220802222814-0bcc04d9c69b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.0.0-20221012135044-0b7e1fb9d458/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ= +golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= +golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.11.0 h1:Gi2tvZIJyBtO9SDr1q9h5hEQCp/4L2RQ+ar0qjx2oNU= +golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190130055435-99b60b757ec1/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -2415,10 +2934,15 @@ golang.org/x/oauth2 v0.0.0-20220628200809-02e64fa58f26/go.mod h1:jaDAt6Dkxork7Lm golang.org/x/oauth2 v0.0.0-20220722155238-128564f6959c/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.0.0-20221006150949-b44042a4b9c1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.4.0 h1:NF0gk8LVPg1Ml7SSbGyySuoxdsXitj7TvgvuRxIMc/M= golang.org/x/oauth2 v0.4.0/go.mod h1:RznEsdpjGAINPTOF0UH/t+xJ75L18YO3Ho6Pyn+uRec= +golang.org/x/oauth2 v0.5.0/go.mod h1:9/XBHVqLaWO3/BRHs5jbpYCnOZVjj5V0ndyaAM7KB4I= +golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -2433,9 +2957,11 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0 h1:PUR+T4wwASmuSTYdKjYHI5TD22Wy5ogLU5qZCOLxBrI= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -2447,7 +2973,6 @@ golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181218192612-074acd46bca6/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2456,7 +2981,6 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2532,6 +3056,7 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -2542,6 +3067,7 @@ golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -2588,11 +3114,17 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220731174439-a90be440212d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220829200755-d48e67d00261/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ= +golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.9.0 h1:KS/R3tvhPqvJvwcKfnBHJwwthS11LRhmM5D59eEXa0s= +golang.org/x/sys v0.9.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -2601,8 +3133,14 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.6.0 h1:clScbb1cHjoCkyRbWwBEUZ5H/tIFu5TAXIqaZD0Gcjw= +golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= +golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= +golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.9.0 h1:GRRCnKYhdQrD8kfRAdQ6Zcw1P0OcELxGLKJvtjVMZ28= +golang.org/x/term v0.9.0/go.mod h1:M6DEAAIenWoTxdKrOltXcmDY3rSplQUkrvaDU5FcQyo= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -2613,9 +3151,15 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68= +golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.10.0 h1:UpjohKhiEgNc0CSauXmwYftY1+LlaC75SJwh0SgCX58= +golang.org/x/text v0.10.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -2627,15 +3171,20 @@ golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220224211638-0e9765cccd65/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20220609170525-579cf78fd858/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9 h1:ftMN5LMiBFjbzleLqtoBZk7KdJwhuybIU+FckUHgoyQ= golang.org/x/time v0.0.0-20220722155302-e5dcc9cfc0b9/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20220922220347-f3bd1da661af/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.1.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181219222714-6e267b5cc78e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= @@ -2660,6 +3209,7 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -2691,14 +3241,13 @@ golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200616133436-c1934b75d054/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200713011307-fd294ab11aed/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= -golang.org/x/tools v0.0.0-20201028111035-eafbe7b904eb/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201124115921-2c860bdd6e78/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -2716,8 +3265,11 @@ golang.org/x/tools v0.1.10/go.mod h1:Uh6Zz+xoGYZom868N8YTex3t7RhtHDBrE8Gzo9bV56E golang.org/x/tools v0.1.11/go.mod h1:SgwaegtQh8clINPpECJMqnxLv9I09HLqnW3RMqW0CA4= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= +golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM= +golang.org/x/tools v0.9.3/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -2729,6 +3281,14 @@ golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNq golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= +gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= +gonum.org/v1/gonum v0.11.0/go.mod h1:fSG4YDCxxUZQJ7rKsQrj0gMOg00Il0Z96/qMA4bVQhA= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= +gonum.org/v1/plot v0.10.1/go.mod h1:VZW5OlhkL1mysU9vaqNHnsy86inf6Ot+jB3r+BczCEo= google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.0.0-20181220000619-583d854617af/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= google.golang.org/api v0.2.0/go.mod h1:IfRCZScioGtypHNTlz3gFk67J8uePVW7uDTBzXuIkhU= @@ -2752,7 +3312,6 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.34.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= @@ -2789,9 +3348,18 @@ google.golang.org/api v0.95.0/go.mod h1:eADj+UBuxkh5zlrSntJghuNeg8HwQ1w5lTKkuqaE google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= +google.golang.org/api v0.99.0/go.mod h1:1YOf74vkVndF7pG6hIHuINsM7eWwpVTAfNMNiL91A08= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.103.0 h1:9yuVqlu2JCvcLg9p8S3fcFLZij8EPSyvODIY1rkMizQ= +google.golang.org/api v0.102.0/go.mod h1:3VFl6/fzoA+qNuS1N1/VfXY4LjoXN/wzeIp7TweWwGo= google.golang.org/api v0.103.0/go.mod h1:hGtW6nK1AC+d9si/UBhw8Xli+QMOf6xyNAyJw4qU9w0= +google.golang.org/api v0.106.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.108.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.110.0/go.mod h1:7FC4Vvx1Mooxh8C5HWjzZHcavuS2f6pmJpZx60ca7iI= +google.golang.org/api v0.111.0/go.mod h1:qtFHvU9mhgTJegR31csQ+rwxyUTHOKFqCKWp1J0fdw0= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -2842,7 +3410,6 @@ google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1m google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200711021454-869866162049/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -2928,9 +3495,42 @@ google.golang.org/genproto v0.0.0-20220926220553-6981cbe3cfce/go.mod h1:woMGP53B google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqwhZAwq4wsRUaVG555sVgsNmIjRtO7t/JH29U= google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= +google.golang.org/genproto v0.0.0-20221024153911-1573dae28c9c/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= +google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= +google.golang.org/genproto v0.0.0-20221027153422-115e99e71e1c/go.mod h1:CGI5F/G+E5bKwmfYo09AXuVN4dD894kIKUFmVbP2/Fo= +google.golang.org/genproto v0.0.0-20221109142239-94d6d90a7d66/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221114212237-e4508ebdbee1/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221201204527-e3fa12d562f3/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= +google.golang.org/genproto v0.0.0-20221202195650-67e5cbc046fd/go.mod h1:cTsE614GARnxrLsqKREzmNYJACSWWpAWdNMwnD7c2BE= +google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230112194545-e10362b5ecf9/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230113154510-dbe35b8444a5/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230123190316-2c411cf9d197/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230124163310-31e0e69b6fc2/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230127162408-596548ed4efa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230209215440-0dfe4f8abfcc/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230222225845-10f96fb3dbec/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230223222841-637eb2293923/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= +google.golang.org/genproto v0.0.0-20230303212802-e74f57abe488/go.mod h1:TvhZT5f700eVlTNwND1xoEZQeWTB2RY/65kplwl/bFA= +google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230320184635-7606e756e683/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s= +google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230330154414-c0448cd141ea/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e h1:xIXmWJ303kJCuogpj0bHq+dcjcZHU+XFyc1I0Yl9cRg= +google.golang.org/genproto v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:0ggbjUrZYpy1q+ANUS30SEoGZ53cdfwtbuG7Ptgy108= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130 h1:XVeBY8d/FaK4848myy41HBqnDwvxeV3zMZhwN1TvAMU= +google.golang.org/genproto/googleapis/api v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:mPBs5jNgx2GuQGvFwUvVKqtn6HsUw9nP64BedgvqEsQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= @@ -2956,7 +3556,6 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.32.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= @@ -2982,8 +3581,13 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.54.0 h1:EhTqbhiYeixwWQtAEZAxmV9MGqcjEU2mFx52xCzNyag= +google.golang.org/grpc v1.51.0/go.mod h1:wgNDFcnuBGmxLKI/qn4T+m5BtEBYXJPvibbUPsAIPww= +google.golang.org/grpc v1.52.3/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= google.golang.org/grpc v1.54.0/go.mod h1:PUSEXI6iWghWaB6lXM4knEgpJNu2qUcKfDtNci3EC2g= +google.golang.org/grpc v1.56.0/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -3000,8 +3604,10 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.29.1 h1:7QBf+IK2gx70Ap/hDsOmam3GE0v9HicjfEdAxE62UoM= google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= @@ -3067,6 +3673,7 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= k8s.io/api v0.0.0-20190409092523-d687e77c8ae9/go.mod h1:FQEUn50aaytlU65qqBn/w+5ugllHwrBzKm7DzbnXdzE= k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= @@ -3133,11 +3740,45 @@ k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/ layeh.com/radius v0.0.0-20190322222518-890bc1058917/go.mod h1:fywZKyu//X7iRzaxLgPWsvc0L26IUpVvE/aeIL2JtIQ= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= +lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk= +modernc.org/cc/v3 v3.36.0/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.2/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/cc/v3 v3.36.3/go.mod h1:NFUHyPn4ekoC/JHeZFfZurN6ixxawE1BnVonP/oahEI= +modernc.org/ccgo/v3 v3.0.0-20220428102840-41399a37e894/go.mod h1:eI31LL8EwEBKPpNpA4bU1/i+sKOwOrQy8D87zWUcRZc= +modernc.org/ccgo/v3 v3.0.0-20220430103911-bc99d88307be/go.mod h1:bwdAnOoaIt8Ax9YdWGjxWsdkPcZyRPHqrOvJxaKAKGw= +modernc.org/ccgo/v3 v3.16.4/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.6/go.mod h1:tGtX0gE9Jn7hdZFeU88slbTh1UtCYKusWOoCJuvkWsQ= +modernc.org/ccgo/v3 v3.16.8/go.mod h1:zNjwkizS+fIFDrDjIAgBSCLkWbJuHF+ar3QRn+Z9aws= +modernc.org/ccgo/v3 v3.16.9/go.mod h1:zNMzC9A9xeNUepy6KuZBbugn3c0Mc9TeiJO4lgvkJDo= +modernc.org/ccorpus v1.11.6/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= +modernc.org/libc v0.0.0-20220428101251-2d5f3daf273b/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.16.0/go.mod h1:N4LD6DBE9cf+Dzf9buBlzVJndKr/iJHG97vGLHYnb5A= +modernc.org/libc v1.16.1/go.mod h1:JjJE0eu4yeK7tab2n4S1w8tlWd9MxXLRzheaRnAKymU= +modernc.org/libc v1.16.17/go.mod h1:hYIV5VZczAmGZAnG15Vdngn5HSF5cSkbvfz2B7GRuVU= +modernc.org/libc v1.16.19/go.mod h1:p7Mg4+koNjc8jkqwcoFBJx7tXkpj00G77X7A72jXPXA= +modernc.org/libc v1.17.0/go.mod h1:XsgLldpP4aWlPlsjqKRdHPqCxCjISdHfM/yeWC5GyW0= +modernc.org/libc v1.17.1/go.mod h1:FZ23b+8LjxZs7XtFMbSzL/EhPxNbfZbErxEHc7cbD9s= +modernc.org/mathutil v1.2.2/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.4.1/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E= +modernc.org/memory v1.1.1/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.0/go.mod h1:/0wo5ibyrQiaoUoH7f9D8dnglAmILJ5/cxZlRECf+Nw= +modernc.org/memory v1.2.1/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU= +modernc.org/opt v0.1.1/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0= +modernc.org/sqlite v1.18.1/go.mod h1:6ho+Gow7oX5V+OiOQ6Tr4xeqbx13UZ6t+Fw9IRUG4d4= +modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw= +modernc.org/tcl v1.13.1/go.mod h1:XOLfOwzhkljL4itZkK6T72ckMgvj0BDsnKNdZVUOecw= +modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.5.1/go.mod h1:eWFB510QWW5Th9YGZT81s+LwvaAs3Q2yr4sP0rmLkv8= mvdan.cc/gofumpt v0.1.0 h1:hsVv+Y9UsZ/mFZTxJZuHVI6shSQCtzZ11h1JEFPAZLw= mvdan.cc/gofumpt v0.1.0/go.mod h1:yXG1r1WqZVKWbVRtBWKWX9+CxGYfA51nSomhM0woR48= nhooyr.io/websocket v1.8.6/go.mod h1:B70DZP8IakI65RVQ51MsWP/8jndNma26DVA/nFSCgW0= -pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= -pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +pgregory.net/rapid v0.6.1 h1:4eyrDxyht86tT4Ztm+kvlyNBLIk071gR+ZQdhphc9dQ= +pgregory.net/rapid v0.6.1/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/provider/resources.go b/provider/resources.go index 7a30a098..8a4191e0 100644 --- a/provider/resources.go +++ b/provider/resources.go @@ -22,10 +22,10 @@ import ( "unicode" "github.com/hashicorp/terraform-provider-nomad/nomad" - "github.com/pulumi/pulumi-nomad/provider/pkg/version" + "github.com/pulumi/pulumi-nomad/provider/v2/pkg/version" "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge" - "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/x" - shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1" + tfbridgetokens "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/tokens" + shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2" "github.com/pulumi/pulumi/sdk/v3/go/common/tokens" "github.com/pulumi/pulumi/sdk/v3/go/common/util/contract" ) @@ -67,7 +67,7 @@ func makeResource(mod string, res string) tokens.Type { // Provider returns additional overlaid schema and metadata associated with the provider.. func Provider() tfbridge.ProviderInfo { // Instantiate the Terraform provider - p := shimv1.NewProvider(nomad.Provider()) + p := shimv2.NewProvider(nomad.Provider()) // Create a Pulumi provider mapping prov := tfbridge.ProviderInfo{ @@ -143,9 +143,8 @@ func Provider() tfbridge.ProviderInfo { }, MetadataInfo: tfbridge.NewProviderMetadata(metadata), } - err := x.ComputeDefaults(&prov, x.TokensSingleModule("nomad_", mainMod, x.MakeStandardToken(mainPkg))) - contract.AssertNoErrorf(err, "failed to compute token mappings") - err = x.AutoAliasing(&prov, prov.GetMetadata()) + prov.MustComputeTokens(tfbridgetokens.SingleModule("nomad_", mainMod, tfbridgetokens.MakeStandard(mainPkg))) + err := prov.ApplyAutoAliases() contract.AssertNoErrorf(err, "auto aliasing apply failed") prov.SetAutonaming(255, "-") diff --git a/sdk/go.mod b/sdk/go.mod index 8e7ef137..c88f71dc 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,63 +4,82 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.40.1 + github.com/pulumi/pulumi/sdk/v3 v3.81.0 ) require ( github.com/Microsoft/go-winio v0.5.2 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 // indirect + github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da // indirect - github.com/cheggaaa/pb v1.0.18 // indirect - github.com/djherbis/times v1.2.0 // indirect - github.com/emirpasic/gods v1.12.0 // indirect + github.com/agext/levenshtein v1.2.1 // indirect + github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect + github.com/atotto/clipboard v0.1.4 // indirect + github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect + github.com/charmbracelet/bubbles v0.16.1 // indirect + github.com/charmbracelet/bubbletea v0.24.2 // indirect + github.com/charmbracelet/lipgloss v0.7.1 // indirect + github.com/cheggaaa/pb v1.0.29 // indirect + github.com/cloudflare/circl v1.3.3 // indirect + github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 // indirect + github.com/djherbis/times v1.5.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect github.com/go-git/gcfg v1.5.0 // indirect - github.com/go-git/go-billy/v5 v5.3.1 // indirect - github.com/go-git/go-git/v5 v5.4.2 // indirect - github.com/gofrs/uuid v3.3.0+incompatible // indirect + github.com/go-git/go-billy/v5 v5.4.0 // indirect + github.com/go-git/go-git/v5 v5.6.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/glog v1.1.0 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 // indirect - github.com/hashicorp/errwrap v1.0.0 // indirect - github.com/hashicorp/go-multierror v1.0.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/inconshreveable/mousetrap v1.0.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/hcl/v2 v2.16.1 // indirect + github.com/imdario/mergo v0.3.13 // indirect + github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 // indirect - github.com/mattn/go-isatty v0.0.16 // indirect - github.com/mattn/go-runewidth v0.0.8 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/lucasb-eyer/go-colorful v1.2.0 // indirect + github.com/mattn/go-isatty v0.0.18 // indirect + github.com/mattn/go-localereader v0.0.1 // indirect + github.com/mattn/go-runewidth v0.0.14 // indirect github.com/mitchellh/go-ps v1.0.0 // indirect - github.com/opentracing/basictracer-go v1.0.0 // indirect - github.com/opentracing/opentracing-go v1.1.0 // indirect + github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 // indirect + github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b // indirect + github.com/muesli/cancelreader v0.2.2 // indirect + github.com/muesli/reflow v0.3.0 // indirect + github.com/muesli/termenv v0.15.1 // indirect + github.com/opentracing/basictracer-go v1.1.0 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pkg/term v1.1.0 // indirect - github.com/rivo/uniseg v0.2.0 // indirect - github.com/rogpeppe/go-internal v1.8.1 // indirect - github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 // indirect + github.com/rivo/uniseg v0.4.4 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect + github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 // indirect - github.com/sergi/go-diff v1.1.0 // indirect - github.com/spf13/cast v1.3.1 // indirect - github.com/spf13/cobra v1.4.0 // indirect + github.com/sergi/go-diff v1.2.0 // indirect + github.com/skeema/knownhosts v1.1.0 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/cobra v1.6.1 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 // indirect + github.com/texttheater/golang-levenshtein v1.0.1 // indirect github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 // indirect - github.com/uber/jaeger-client-go v2.22.1+incompatible // indirect - github.com/uber/jaeger-lib v2.2.0+incompatible // indirect - github.com/xanzy/ssh-agent v0.3.2 // indirect - go.uber.org/atomic v1.6.0 // indirect - golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 // indirect - golang.org/x/net v0.7.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/term v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect - google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect - google.golang.org/grpc v1.53.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + github.com/uber/jaeger-client-go v2.30.0+incompatible // indirect + github.com/uber/jaeger-lib v2.4.1+incompatible // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect + github.com/zclconf/go-cty v1.12.1 // indirect + go.uber.org/atomic v1.9.0 // indirect + golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a // indirect + golang.org/x/net v0.10.0 // indirect + golang.org/x/sync v0.1.0 // indirect + golang.org/x/sys v0.8.0 // indirect + golang.org/x/term v0.8.0 // indirect + golang.org/x/text v0.9.0 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/grpc v1.57.0 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect lukechampine.com/frand v1.4.2 // indirect - sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 // indirect + sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 // indirect ) diff --git a/sdk/go.sum b/sdk/go.sum index 45850103..22c9c047 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -1,249 +1,316 @@ -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM= +github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= github.com/Microsoft/go-winio v0.5.2 h1:a9IhgEQBCUEk6QCdml9CiJGhAws+YwffDHEMp1VMrpA= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7 h1:YoJbenK9C67SkzkDfmQuVln04ygHj3vjZfd9FL+GmQQ= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4 h1:ra2OtmuW0AE5csawV4YXMNGNQQXvLRps3z2Z59OPO+I= +github.com/ProtonMail/go-crypto v0.0.0-20221026131551-cf6655e29de4/go.mod h1:UBYPn8k0D56RtnR8RFQMjmh4KrZzWJ5o7Z9SYjossQ8= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da h1:KjTM2ks9d14ZYCvmHS9iAKVt9AyzRSqNU1qabPih5BY= github.com/aead/chacha20 v0.0.0-20180709150244-8b13a72661da/go.mod h1:eHEWzANqSiWQsof+nXEI9bUVUyV6F53Fp89EuCh2EAA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= +github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw= +github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/atotto/clipboard v0.1.4 h1:EH0zSVneZPSuFR11BlR9YppQTVDbh5+16AmcJi4g1z4= +github.com/atotto/clipboard v0.1.4/go.mod h1:ZY9tmq7sm5xIbd9bOK4onWV4S6X0u6GY7Vn0Yu86PYI= +github.com/aymanbagabas/go-osc52/v2 v2.0.1 h1:HwpRHbFMcZLEVr42D4p7XBqjyuxQH5SMiErDT4WkJ2k= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/cheggaaa/pb v1.0.18 h1:G/DgkKaBP0V5lnBg/vx61nVxxAU+VqU5yMzSc0f2PPE= -github.com/cheggaaa/pb v1.0.18/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd h1:qMd81Ts1T2OTKmB4acZcyKaMtRnY5Y44NuXGX2GFJ1w= -github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/charmbracelet/bubbles v0.16.1 h1:6uzpAAaT9ZqKssntbvZMlksWHruQLNxg49H5WdeuYSY= +github.com/charmbracelet/bubbles v0.16.1/go.mod h1:2QCp9LFlEsBQMvIYERr7Ww2H2bA7xen1idUDIzm/+Xc= +github.com/charmbracelet/bubbletea v0.24.2 h1:uaQIKx9Ai6Gdh5zpTbGiWpytMU+CfsPp06RaW2cx/SY= +github.com/charmbracelet/bubbletea v0.24.2/go.mod h1:XdrNrV4J8GiyshTtx3DNuYkR1FDaJmO3l2nejekbsgg= +github.com/charmbracelet/lipgloss v0.7.1 h1:17WMwi7N1b1rVWOjMT+rCh7sQkvDU75B2hbZpc5Kc1E= +github.com/charmbracelet/lipgloss v0.7.1/go.mod h1:yG0k3giv8Qj8edTCbbg6AlQ5e8KNWpFujkNawKNhE2c= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= +github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= +github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81 h1:q2hJAaP1k2wIvVRd/hEHD7lacgqrCPS+k8g1MndzfWY= +github.com/containerd/console v1.0.4-0.20230313162750-1ae8d489ac81/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/djherbis/times v1.2.0 h1:xANXjsC/iBqbO00vkWlYwPWgBgEVU6m6AFYg0Pic+Mc= -github.com/djherbis/times v1.2.0/go.mod h1:CGMZlo255K5r4Yw0b9RRfFQpM2y7uOmxg4jm9HsaVf8= -github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= -github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/djherbis/times v1.5.0 h1:79myA211VwPhFTqUk8xehWrsEO+zcIZj0zT8mXPVARU= +github.com/djherbis/times v1.5.0/go.mod h1:5q7FDLvbNg1L/KaBmPcWlVR9NmoKo3+ucqUA3ijQhA0= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-git/gcfg v1.5.0 h1:Q5ViNfGF8zFgyJWPqYwA7qGFoMTEiBmdlkcfRmpIMa4= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.3.1 h1:CPiOUAzKtMRvolEKw+bG1PLRpT7D3LIs3/3ey4Aiu34= github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/gofrs/uuid v3.3.0+incompatible h1:8K4tyRfvU1CYPgJsveYFQMhpFd/wXNM7iK6rR7UHz84= -github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/go-git/go-billy/v5 v5.4.0 h1:Vaw7LaSTRJOUric7pe4vnzBSgyuf2KrLsu2Y4ZpQBDE= +github.com/go-git/go-billy/v5 v5.4.0/go.mod h1:vjbugF6Fz7JIflbVpl1hJsGjSHNltrSw45YK/ukIvQg= +github.com/go-git/go-git-fixtures/v4 v4.3.1 h1:y5z6dd3qi8Hl+stezc8p3JxDkoTRqMAlKnXHuzrfjTQ= +github.com/go-git/go-git-fixtures/v4 v4.3.1/go.mod h1:8LHG1a3SRW71ettAD/jW13h8c6AqjVSeL11RAdgaqpo= +github.com/go-git/go-git/v5 v5.6.0 h1:JvBdYfcttd+0kdpuWO7KTu0FYgCf5W0t5VwkWGobaa4= +github.com/go-git/go-git/v5 v5.6.0/go.mod h1:6nmJ0tJ3N4noMV1Omv7rC5FG3/o8Cm51TB4CJp7mRmE= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645 h1:MJG/KsmcqMwFAkh8mTnAwhyKoB+sTAnY4CACC110tbU= github.com/grpc-ecosystem/grpc-opentracing v0.0.0-20180507213350-8e809c8a8645/go.mod h1:6iZfnjpejD4L/4DwD7NryNaJyCQdzwWwH2MWhCA90Kw= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-multierror v1.0.0 h1:iVjPR7a6H0tWELX5NxNe7bYopibicUzc7uPribsnS6o= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/hcl/v2 v2.16.1 h1:BwuxEMD/tsYgbhIW7UuI3crjovf3MzuFWiVgiv57iHg= +github.com/hashicorp/hcl/v2 v2.16.1/go.mod h1:JRmR89jycNkrrqnMmvPDMd56n1rQJ2Q6KocSLCMCXng= +github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= +github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= +github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351 h1:DowS9hvgyYSX4TO5NpyC606/Z4SxnNYbT+WX27or6Ck= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-runewidth v0.0.8 h1:3tS41NlGYSmhhe/8fhGRzc+z3AYCw1Fe1WAyLuujKs0= -github.com/mattn/go-runewidth v0.0.8/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.18 h1:DOKFKCQ7FNG2L1rbrmstDN4QVRdS89Nkh85u68Uwp98= +github.com/mattn/go-isatty v0.0.18/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-localereader v0.0.1 h1:ygSAOl7ZXTx4RdPYinUpg6W99U8jWvWi9Ye2JC/oIi4= +github.com/mattn/go-localereader v0.0.1/go.mod h1:8fBrzywKY7BI3czFoHkuzRoWE9C+EiG4R1k4Cjx5p88= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= +github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 h1:DpOJ2HYzCv8LZP15IdmG+YdwD2luVPHITV96TkirNBM= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mmcloughlin/avo v0.5.0/go.mod h1:ChHFdoV7ql95Wi7vuq2YT1bwCJqiWdZrQ1im3VujLYM= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b h1:1XF24mVaiu7u+CFywTdcDo2ie1pzzhwjt6RHqzpMU34= +github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b/go.mod h1:fQuZ0gauxyBcmsdE3ZT4NasjaRdxmbCS0jRHsrWu3Ho= +github.com/muesli/cancelreader v0.2.2 h1:3I4Kt4BQjOR54NavqnDogx/MIoWBFa0StPA8ELUXHmA= +github.com/muesli/cancelreader v0.2.2/go.mod h1:3XuTXfFS2VjM+HTLZY9Ak0l6eUKfijIfMUZ4EgX0QYo= +github.com/muesli/reflow v0.3.0 h1:IFsN6K9NfGtjeggFP+68I4chLZV2yIKsXJFNZ+eWh6s= +github.com/muesli/reflow v0.3.0/go.mod h1:pbwTDkVPibjO2kyvBQRBxTWEEGDGq0FlB1BIKtnHY/8= +github.com/muesli/termenv v0.15.1 h1:UzuTb/+hhlBugQz28rpzey4ZuKcZ03MeKsoG7IJZIxs= +github.com/muesli/termenv v0.15.1/go.mod h1:HeAQPTzpfs016yGtA4g00CsdYnVLJvxsS4ANqrZs2sQ= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= -github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= -github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= +github.com/opentracing/basictracer-go v1.1.0 h1:Oa1fTSBvAl8pa3U+IJYqrKm0NALwH9OsgwOqDv4xJW0= +github.com/opentracing/basictracer-go v1.1.0/go.mod h1:V2HZueSJEp879yv285Aap1BS69fQMD+MNP1mRs6mBQc= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/term v1.1.0 h1:xIAAdCMh3QIAy+5FrE8Ad8XoDhEU4ufwbaSozViP9kk= github.com/pkg/term v1.1.0/go.mod h1:E25nymQcrSllhX42Ok8MRm1+hyBdHY0dCeiKZ9jpNGw= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pulumi/pulumi/sdk/v3 v3.40.1 h1:PLKYHyRffrO9nNfidDGGr2xkf8G0wjtSZx1Zj7OwyyA= -github.com/pulumi/pulumi/sdk/v3 v3.40.1/go.mod h1:tSNA8Z+GnEjMxH+qtrfcwpmOQj7mTPTAmJUhwvuox5I= -github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= +github.com/pulumi/pulumi/sdk/v3 v3.81.0 h1:d711GUpjZK1beNpIKFReC1LBmHXYE684sYWntJWQ4Q0= +github.com/pulumi/pulumi/sdk/v3 v3.81.0/go.mod h1:RMilNNVMlmK1h4Nl/qylb9vzbgh4F3mufZoUOnPy98o= +github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg= -github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 h1:G04eS0JkAIVZfaJLjla9dNxkJCPiKIGZlw9AfOhzOD0= -github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= +github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0 h1:TToq11gyfNlrMFZiYujSekIsPd9AmsA2Bj/iv+s4JHE= github.com/santhosh-tekuri/jsonschema/v5 v5.0.0/go.mod h1:FKdcjfQW6rpZSnxxUvEA5H/cDPdvJ/SZJQLWWXWGrZ0= -github.com/sergi/go-diff v1.1.0 h1:we8PVUC3FE2uYfodKH/nBHMSetSfHDR6scGdBi+erh0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= +github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= -github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g= +github.com/skeema/knownhosts v1.1.0 h1:Wvr9V0MxhjRbl3f9nMnKnFfiWTJmtECJ9Njkea3ysW0= +github.com/skeema/knownhosts v1.1.0/go.mod h1:sKFq3RD6/TKZkSWn8boUbDC7Qkgcv+8XXijpFO6roag= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= +github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6 h1:9VTskZOIRf2vKF3UL8TuWElry5pgUpV1tFSe/e/0m/E= -github.com/texttheater/golang-levenshtein v0.0.0-20191208221605-eb6844b05fc6/go.mod h1:XDKHRm5ThF8YJjx001LtgelzsoaEcvnA7lVWz9EeX3g= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/texttheater/golang-levenshtein v1.0.1 h1:+cRNoVrfiwufQPhoMzB6N0Yf/Mqajr6t1lOv8GyGE2U= +github.com/texttheater/golang-levenshtein v1.0.1/go.mod h1:PYAKrbF5sAiq9wd+H82hs7gNaen0CplQ9uvm6+enD/8= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7 h1:X9dsIWPuuEJlPX//UmRKophhOKCGXc46RVIGuttks68= github.com/tweekmonster/luser v0.0.0-20161003172636-3fa38070dbd7/go.mod h1:UxoP3EypF8JfGEjAII8jx1q8rQyDnX8qdTCs/UQBVIE= -github.com/uber/jaeger-client-go v2.22.1+incompatible h1:NHcubEkVbahf9t3p75TOCR83gdUHXjRJvjoBh1yACsM= -github.com/uber/jaeger-client-go v2.22.1+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.2.0+incompatible h1:MxZXOiR2JuoANZ3J6DE/U0kSFv/eJ/GfSYVCjK7dyaw= -github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= -github.com/xanzy/ssh-agent v0.3.2 h1:eKj4SX2Fe7mui28ZgnFW5fmTz1EIr7ugo5s6wDxdHBM= -github.com/xanzy/ssh-agent v0.3.2/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= +github.com/uber/jaeger-client-go v2.30.0+incompatible h1:D6wyKGCecFaSRUpo8lCVbaOOb6ThwMmTEbhRwtKR97o= +github.com/uber/jaeger-client-go v2.30.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= +github.com/uber/jaeger-lib v2.4.1+incompatible h1:td4jdvLcExb4cBISKIpHuGoVXh+dVKhn2Um6rjCsSsg= +github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -go.uber.org/atomic v1.6.0 h1:Ezj3JGmsOnG1MoRWQkPBsKLe9DwWD9QeXzTRzzldNVk= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/zclconf/go-cty v1.12.1 h1:PcupnljUm9EIvbgSHQnHhUr3fO6oFmkOrvs2BAFNXXY= +github.com/zclconf/go-cty v1.12.1/go.mod h1:s9IfD1LK5ccNMSWCVFCE2rJfHiZgi7JijgeWIMfhLvA= +go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= +go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +golang.org/x/arch v0.1.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220525230936-793ad666bf5e/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503 h1:vJ2V3lFLg+bBhgroYuRfyN583UzVveQmIXjc8T/y3to= -golang.org/x/crypto v0.0.0-20220824171710-5757bc0c5503/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b h1:Wh+f8QHJXR411sJR8/vRBTZ7YapZaRvUcLFFJhusH0k= +golang.org/x/crypto v0.0.0-20220826181053-bd7e27e6170d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a h1:diz9pEYuTIuLMJLs3rGDkeaTsNyRs6duYdFyPAxzE/U= +golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= +golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= +golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= +golang.org/x/net v0.10.0 h1:X2//UzNDwYmtCLn7To6G58Wr6f5ahEAQgKNzv9Y951M= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220825204002-c680a09ffe64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0 h1:EBmGv8NaZBZTWvrbjNoL6HVt+IVy3QDQpJs7VRIw3tU= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= +golang.org/x/term v0.8.0 h1:n5xxQn2i3PC0yLAbjTpNT85q/Kgzcr2gIoX9OrJUols= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.2.0/go.mod h1:y4OqIKeOV/fWJetJ8bXPU1sEVniLMIyDAZWeHdV+NTA= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f h1:BWUVssLB0HVOSY78gIdvk1dTVYtT1y8SBWtPYuTJ/6w= -google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.53.0 h1:LAv2ds7cmFV/XTS3XG1NneeENYrXGmorPxsBbptIjNc= -google.golang.org/grpc v1.53.0/go.mod h1:OnIrk0ipVdj4N5d9IUoFUx72/VlD7+jUsHwZgwSMQpw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130 h1:2FZP5XuJY9zQyGM5N0rtovnoXjiMUEIUMvw0m9wlpLc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:8mL13HKkDa+IuJ8yruA3ci0q+0vsUz4m//+ottjwS5o= +google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw= +google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo= 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.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/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/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/cheggaaa/pb.v1 v1.0.28 h1:n1tBJnnK2r7g9OW2btFH91V92STTUevLXYFb8gy9EMk= -gopkg.in/cheggaaa/pb.v1 v1.0.28/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= lukechampine.com/frand v1.4.2 h1:RzFIpOvkMXuPMBb9maa4ND4wjBn71E1Jpf8BzJHMaVw= lukechampine.com/frand v1.4.2/go.mod h1:4S/TM2ZgrKejMcKMbeLjISpJMO+/eZ1zu3vYX9dtj3s= -pgregory.net/rapid v0.4.7 h1:MTNRktPuv5FNqOO151TM9mDTa+XHcX6ypYeISDVD14g= -pgregory.net/rapid v0.4.7/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0 h1:ucqkfpjg9WzSUubAO62csmucvxl4/JeW3F4I4909XkM= -sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= +pgregory.net/rapid v0.5.5 h1:jkgx1TjbQPD/feRoK+S/mXw9e1uj6WilpHrXJowi6oA= +pgregory.net/rapid v0.5.5/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600 h1:hfyJ5ku9yFtLVOiSxa3IN+dx5eBQT9mPmKFypAmg8XM= +sourcegraph.com/sourcegraph/appdash v0.0.0-20211028080628-e2786a622600/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/sdk/python/README.md b/sdk/python/README.md index 280fcca1..2067aa76 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -3,7 +3,7 @@ [![NPM version](https://badge.fury.io/js/%40pulumi%2Fnomad.svg)](https://www.npmjs.com/package/@pulumi/nomad) [![Python version](https://badge.fury.io/py/pulumi-nomad.svg)](https://pypi.org/project/pulumi-nomad) [![NuGet version](https://badge.fury.io/nu/pulumi.nomad.svg)](https://badge.fury.io/nu/pulumi.nomad) -[![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-nomad/sdk/go)](https://pkg.go.dev/github.com/pulumi/pulumi-nomad/sdk/go) +[![PkgGoDev](https://pkg.go.dev/badge/github.com/pulumi/pulumi-nomad/sdk/v2/go)](https://pkg.go.dev/github.com/pulumi/pulumi-nomad/sdk/v2/go) [![License](https://img.shields.io/npm/l/%40pulumi%2Fpulumi.svg)](https://github.com/pulumi/pulumi-nomad/blob/master/LICENSE) # HashiCorp Nomad Resource Provider @@ -34,7 +34,7 @@ To use from Python, install using `pip`: To use from Go, use `go get` to grab the latest version of the library - $ go get github.com/pulumi/pulumi-nomad/sdk + $ go get github.com/pulumi/pulumi-nomad/sdk/v2 ### .NET From debcc45048d9f938fd4c903d1658cae197e0a436 Mon Sep 17 00:00:00 2001 From: Matthew Jeffryes Date: Tue, 12 Sep 2023 09:55:17 -0700 Subject: [PATCH 2/3] make tfgen --- .../bridge-metadata.json | 455 +++- .../cmd/pulumi-resource-nomad/schema.json | 1859 +++++++++++++++-- 2 files changed, 2142 insertions(+), 172 deletions(-) diff --git a/provider/cmd/pulumi-resource-nomad/bridge-metadata.json b/provider/cmd/pulumi-resource-nomad/bridge-metadata.json index ca10e2e8..8114dbdd 100644 --- a/provider/cmd/pulumi-resource-nomad/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-nomad/bridge-metadata.json @@ -32,7 +32,12 @@ "current": "nomad:index/aclBindingRule:AclBindingRule" }, "nomad_acl_policy": { - "current": "nomad:index/aclPolicy:AclPolicy" + "current": "nomad:index/aclPolicy:AclPolicy", + "fields": { + "job_acl": { + "maxItemsOne": true + } + } }, "nomad_acl_role": { "current": "nomad:index/aclRole:AclRole", @@ -53,6 +58,92 @@ } } }, + "nomad_csi_volume": { + "current": "nomad:index/csiVolume:CsiVolume", + "fields": { + "capability": { + "maxItemsOne": false + }, + "mount_options": { + "maxItemsOne": true, + "elem": { + "fields": { + "mount_flags": { + "maxItemsOne": false + } + } + } + }, + "topologies": { + "maxItemsOne": false + }, + "topology_request": { + "maxItemsOne": true, + "elem": { + "fields": { + "preferred": { + "maxItemsOne": true, + "elem": { + "fields": { + "topology": { + "maxItemsOne": false + } + } + } + }, + "required": { + "maxItemsOne": true, + "elem": { + "fields": { + "topology": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, + "nomad_csi_volume_registration": { + "current": "nomad:index/csiVolumeRegistration:CsiVolumeRegistration", + "fields": { + "capability": { + "maxItemsOne": false + }, + "mount_options": { + "maxItemsOne": true, + "elem": { + "fields": { + "mount_flags": { + "maxItemsOne": false + } + } + } + }, + "topologies": { + "maxItemsOne": false + }, + "topology_request": { + "maxItemsOne": true, + "elem": { + "fields": { + "required": { + "maxItemsOne": true, + "elem": { + "fields": { + "topology": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "nomad_external_volume": { "current": "nomad:index/externalVolume:ExternalVolume", "fields": { @@ -150,6 +241,27 @@ } } } + }, + "node_pool_config": { + "maxItemsOne": true, + "elem": { + "fields": { + "allowed": { + "maxItemsOne": false + }, + "denied": { + "maxItemsOne": false + } + } + } + } + } + }, + "nomad_node_pool": { + "current": "nomad:index/nodePool:NodePool", + "fields": { + "scheduler_config": { + "maxItemsOne": true } } }, @@ -174,6 +286,9 @@ "nomad_sentinel_policy": { "current": "nomad:index/sentinelPolicy:SentinelPolicy" }, + "nomad_variable": { + "current": "nomad:index/variable:Variable" + }, "nomad_volume": { "current": "nomad:index/volume:Volume", "fields": { @@ -215,52 +330,222 @@ }, "datasources": { "nomad_acl_policies": { - "current": "nomad:index/getAclPolicies:getAclPolicies" + "current": "nomad:index/getAclPolicies:getAclPolicies", + "fields": { + "policies": { + "maxItemsOne": false + } + } }, "nomad_acl_policy": { "current": "nomad:index/getAclPolicy:getAclPolicy" }, "nomad_acl_role": { - "current": "nomad:index/getAclRole:getAclRole" + "current": "nomad:index/getAclRole:getAclRole", + "fields": { + "policies": { + "maxItemsOne": false + } + } }, "nomad_acl_roles": { - "current": "nomad:index/getAclRoles:getAclRoles" + "current": "nomad:index/getAclRoles:getAclRoles", + "fields": { + "acl_roles": { + "maxItemsOne": false, + "elem": { + "fields": { + "policies": { + "maxItemsOne": false + } + } + } + } + } }, "nomad_acl_token": { - "current": "nomad:index/getAclToken:getAclToken" + "current": "nomad:index/getAclToken:getAclToken", + "fields": { + "policies": { + "maxItemsOne": false + }, + "roles": { + "maxItemsOne": false + } + } }, "nomad_acl_tokens": { - "current": "nomad:index/getAclTokens:getAclTokens" + "current": "nomad:index/getAclTokens:getAclTokens", + "fields": { + "acl_tokens": { + "maxItemsOne": false, + "elem": { + "fields": { + "policies": { + "maxItemsOne": false + }, + "roles": { + "maxItemsOne": false + } + } + } + } + } + }, + "nomad_allocations": { + "current": "nomad:index/getAllocations:getAllocations", + "fields": { + "allocations": { + "maxItemsOne": false + } + } }, "nomad_datacenters": { - "current": "nomad:index/getDatacenters:getDatacenters" + "current": "nomad:index/getDatacenters:getDatacenters", + "fields": { + "datacenters": { + "maxItemsOne": false + } + } }, "nomad_deployments": { - "current": "nomad:index/getDeployments:getDeployments" + "current": "nomad:index/getDeployments:getDeployments", + "fields": { + "deployments": { + "maxItemsOne": false + } + } }, "nomad_job": { - "current": "nomad:index/getJob:getJob" + "current": "nomad:index/getJob:getJob", + "fields": { + "constraints": { + "maxItemsOne": false + }, + "datacenters": { + "maxItemsOne": false + }, + "periodic_config": { + "maxItemsOne": false + }, + "task_groups": { + "maxItemsOne": false, + "elem": { + "fields": { + "task": { + "maxItemsOne": false, + "elem": { + "fields": { + "volume_mounts": { + "maxItemsOne": false + } + } + } + }, + "volumes": { + "maxItemsOne": false + } + } + } + } + } }, "nomad_job_parser": { "current": "nomad:index/getJobParser:getJobParser" }, "nomad_namespace": { - "current": "nomad:index/getNamespace:getNamespace" + "current": "nomad:index/getNamespace:getNamespace", + "fields": { + "capabilities": { + "maxItemsOne": false, + "elem": { + "fields": { + "disabled_task_drivers": { + "maxItemsOne": false + }, + "enabled_task_drivers": { + "maxItemsOne": false + } + } + } + }, + "node_pool_config": { + "maxItemsOne": false, + "elem": { + "fields": { + "allowed": { + "maxItemsOne": false + }, + "denied": { + "maxItemsOne": false + } + } + } + } + } }, "nomad_namespaces": { - "current": "nomad:index/getNamespaces:getNamespaces" + "current": "nomad:index/getNamespaces:getNamespaces", + "fields": { + "namespaces": { + "maxItemsOne": false + } + } + }, + "nomad_node_pool": { + "current": "nomad:index/getNodePool:getNodePool", + "fields": { + "scheduler_config": { + "maxItemsOne": false + } + } + }, + "nomad_node_pools": { + "current": "nomad:index/getNodePools:getNodePools", + "fields": { + "node_pools": { + "maxItemsOne": false, + "elem": { + "fields": { + "scheduler_config": { + "maxItemsOne": false + } + } + } + } + } }, "nomad_plugin": { - "current": "nomad:index/getPlugin:getPlugin" + "current": "nomad:index/getPlugin:getPlugin", + "fields": { + "nodes": { + "maxItemsOne": false + } + } }, "nomad_plugins": { - "current": "nomad:index/getPlugins:getPlugins" + "current": "nomad:index/getPlugins:getPlugins", + "fields": { + "plugins": { + "maxItemsOne": false + } + } }, "nomad_regions": { - "current": "nomad:index/getRegions:getRegions" + "current": "nomad:index/getRegions:getRegions", + "fields": { + "regions": { + "maxItemsOne": false + } + } }, "nomad_scaling_policies": { - "current": "nomad:index/getScalingPolicies:getScalingPolicies" + "current": "nomad:index/getScalingPolicies:getScalingPolicies", + "fields": { + "policies": { + "maxItemsOne": false + } + } }, "nomad_scaling_policy": { "current": "nomad:index/getScalingPolicy:getScalingPolicy" @@ -268,8 +553,16 @@ "nomad_scheduler_config": { "current": "nomad:index/getSchedulerPolicy:getSchedulerPolicy" }, + "nomad_variable": { + "current": "nomad:index/getVariable:getVariable" + }, "nomad_volumes": { - "current": "nomad:index/getVolumes:getVolumes" + "current": "nomad:index/getVolumes:getVolumes", + "fields": { + "volumes": { + "maxItemsOne": false + } + } } } }, @@ -280,12 +573,16 @@ "nomad:index/aclPolicy:AclPolicy": "nomad_acl_policy", "nomad:index/aclRole:AclRole": "nomad_acl_role", "nomad:index/aclToken:AclToken": "nomad_acl_token", + "nomad:index/csiVolume:CsiVolume": "nomad_csi_volume", + "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": "nomad_csi_volume_registration", "nomad:index/externalVolume:ExternalVolume": "nomad_external_volume", "nomad:index/job:Job": "nomad_job", "nomad:index/namespace:Namespace": "nomad_namespace", + "nomad:index/nodePool:NodePool": "nomad_node_pool", "nomad:index/quoteSpecification:QuoteSpecification": "nomad_quota_specification", "nomad:index/schedulerConfig:SchedulerConfig": "nomad_scheduler_config", "nomad:index/sentinelPolicy:SentinelPolicy": "nomad_sentinel_policy", + "nomad:index/variable:Variable": "nomad_variable", "nomad:index/volume:Volume": "nomad_volume" }, "functions": { @@ -295,18 +592,22 @@ "nomad:index/getAclRoles:getAclRoles": "nomad_acl_roles", "nomad:index/getAclToken:getAclToken": "nomad_acl_token", "nomad:index/getAclTokens:getAclTokens": "nomad_acl_tokens", + "nomad:index/getAllocations:getAllocations": "nomad_allocations", "nomad:index/getDatacenters:getDatacenters": "nomad_datacenters", "nomad:index/getDeployments:getDeployments": "nomad_deployments", "nomad:index/getJob:getJob": "nomad_job", "nomad:index/getJobParser:getJobParser": "nomad_job_parser", "nomad:index/getNamespace:getNamespace": "nomad_namespace", "nomad:index/getNamespaces:getNamespaces": "nomad_namespaces", + "nomad:index/getNodePool:getNodePool": "nomad_node_pool", + "nomad:index/getNodePools:getNodePools": "nomad_node_pools", "nomad:index/getPlugin:getPlugin": "nomad_plugin", "nomad:index/getPlugins:getPlugins": "nomad_plugins", "nomad:index/getRegions:getRegions": "nomad_regions", "nomad:index/getScalingPolicies:getScalingPolicies": "nomad_scaling_policies", "nomad:index/getScalingPolicy:getScalingPolicy": "nomad_scaling_policy", "nomad:index/getSchedulerPolicy:getSchedulerPolicy": "nomad_scheduler_config", + "nomad:index/getVariable:getVariable": "nomad_variable", "nomad:index/getVolumes:getVolumes": "nomad_volumes" }, "renamedProperties": { @@ -322,6 +623,34 @@ "oidcScopes": "oidc_scopes", "signingAlgs": "signing_algs" }, + "nomad:index/AclPolicyJobAcl:AclPolicyJobAcl": { + "jobId": "job_id" + }, + "nomad:index/CsiVolumeCapability:CsiVolumeCapability": { + "accessMode": "access_mode", + "attachmentMode": "attachment_mode" + }, + "nomad:index/CsiVolumeMountOptions:CsiVolumeMountOptions": { + "fsType": "fs_type", + "mountFlags": "mount_flags" + }, + "nomad:index/CsiVolumeRegistrationCapability:CsiVolumeRegistrationCapability": { + "accessMode": "access_mode", + "attachmentMode": "attachment_mode" + }, + "nomad:index/CsiVolumeRegistrationMountOptions:CsiVolumeRegistrationMountOptions": { + "fsType": "fs_type", + "mountFlags": "mount_flags" + }, + "nomad:index/CsiVolumeRegistrationTopologyRequestRequired:CsiVolumeRegistrationTopologyRequestRequired": { + "topologies": "topology" + }, + "nomad:index/CsiVolumeTopologyRequestPreferred:CsiVolumeTopologyRequestPreferred": { + "topologies": "topology" + }, + "nomad:index/CsiVolumeTopologyRequestRequired:CsiVolumeTopologyRequestRequired": { + "topologies": "topology" + }, "nomad:index/ExternalVolumeCapability:ExternalVolumeCapability": { "accessMode": "access_mode", "attachmentMode": "attachment_mode" @@ -355,6 +684,14 @@ "disabledTaskDrivers": "disabled_task_drivers", "enabledTaskDrivers": "enabled_task_drivers" }, + "nomad:index/NamespaceNodePoolConfig:NamespaceNodePoolConfig": { + "alloweds": "allowed", + "denieds": "denied" + }, + "nomad:index/NodePoolSchedulerConfig:NodePoolSchedulerConfig": { + "memoryOversubscription": "memory_oversubscription", + "schedulerAlgorithm": "scheduler_algorithm" + }, "nomad:index/QuoteSpecificationLimit:QuoteSpecificationLimit": { "regionLimit": "region_limit" }, @@ -382,6 +719,7 @@ "bindType": "bind_type" }, "nomad:index/aclPolicy:AclPolicy": { + "jobAcl": "job_acl", "rulesHcl": "rules_hcl" }, "nomad:index/aclRole:AclRole": { @@ -395,6 +733,40 @@ "roles": "role", "secretId": "secret_id" }, + "nomad:index/csiVolume:CsiVolume": { + "capabilities": "capability", + "capacityMax": "capacity_max", + "capacityMin": "capacity_min", + "cloneId": "clone_id", + "controllerRequired": "controller_required", + "controllersExpected": "controllers_expected", + "controllersHealthy": "controllers_healthy", + "mountOptions": "mount_options", + "nodesExpected": "nodes_expected", + "nodesHealthy": "nodes_healthy", + "pluginId": "plugin_id", + "pluginProvider": "plugin_provider", + "pluginProviderVersion": "plugin_provider_version", + "snapshotId": "snapshot_id", + "topologyRequest": "topology_request", + "volumeId": "volume_id" + }, + "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": { + "capabilities": "capability", + "controllerRequired": "controller_required", + "controllersExpected": "controllers_expected", + "controllersHealthy": "controllers_healthy", + "deregisterOnDestroy": "deregister_on_destroy", + "externalId": "external_id", + "mountOptions": "mount_options", + "nodesExpected": "nodes_expected", + "nodesHealthy": "nodes_healthy", + "pluginId": "plugin_id", + "pluginProvider": "plugin_provider", + "pluginProviderVersion": "plugin_provider_version", + "topologyRequest": "topology_request", + "volumeId": "volume_id" + }, "nomad:index/externalVolume:ExternalVolume": { "capabilities": "capability", "capacityMax": "capacity_max", @@ -431,6 +803,24 @@ "createTime": "create_time", "expirationTime": "expiration_time" }, + "nomad:index/getAllocationsAllocation:getAllocationsAllocation": { + "clientStatus": "client_status", + "createIndex": "create_index", + "createTime": "create_time", + "desiredStatus": "desired_status", + "evalId": "eval_id", + "followupEvalId": "followup_eval_id", + "jobId": "job_id", + "jobType": "job_type", + "jobVersion": "job_version", + "modifyIndex": "modify_index", + "modifyTime": "modify_time", + "nextAllocation": "next_allocation", + "nodeId": "node_id", + "nodeName": "node_name", + "preemptedByAllocation": "preempted_by_allocation", + "taskGroup": "task_group" + }, "nomad:index/getDatacenters:getDatacenters": { "ignoreDownNodes": "ignore_down_nodes" }, @@ -462,10 +852,34 @@ "nomad:index/getJobTaskGroupVolume:getJobTaskGroupVolume": { "readOnly": "read_only" }, + "nomad:index/getNamespace:getNamespace": { + "nodePoolConfigs": "node_pool_config" + }, "nomad:index/getNamespaceCapability:getNamespaceCapability": { "disabledTaskDrivers": "disabled_task_drivers", "enabledTaskDrivers": "enabled_task_drivers" }, + "nomad:index/getNamespaceNodePoolConfig:getNamespaceNodePoolConfig": { + "alloweds": "allowed", + "denieds": "denied" + }, + "nomad:index/getNodePool:getNodePool": { + "schedulerConfigs": "scheduler_config" + }, + "nomad:index/getNodePoolSchedulerConfig:getNodePoolSchedulerConfig": { + "memoryOversubscription": "memory_oversubscription", + "schedulerAlgorithm": "scheduler_algorithm" + }, + "nomad:index/getNodePools:getNodePools": { + "nodePools": "node_pools" + }, + "nomad:index/getNodePoolsNodePool:getNodePoolsNodePool": { + "schedulerConfigs": "scheduler_config" + }, + "nomad:index/getNodePoolsNodePoolSchedulerConfig:getNodePoolsNodePoolSchedulerConfig": { + "memoryOversubscription": "memory_oversubscription", + "schedulerAlgorithm": "scheduler_algorithm" + }, "nomad:index/getPlugin:getPlugin": { "controllerRequired": "controller_required", "controllersExpected": "controllers_expected", @@ -503,9 +917,16 @@ "modifyIndex": "modify_index", "policyOverride": "policy_override", "purgeOnDestroy": "purge_on_destroy", + "readAllocationIds": "read_allocation_ids", "taskGroups": "task_groups", "vaultToken": "vault_token" }, + "nomad:index/namespace:Namespace": { + "nodePoolConfig": "node_pool_config" + }, + "nomad:index/nodePool:NodePool": { + "schedulerConfig": "scheduler_config" + }, "nomad:index/schedulerConfig:SchedulerConfig": { "memoryOversubscriptionEnabled": "memory_oversubscription_enabled", "preemptionConfig": "preemption_config", @@ -543,6 +964,7 @@ "keyFile": "key_file", "keyPem": "key_pem", "secretId": "secret_id", + "skipVerify": "skip_verify", "vaultToken": "vault_token" } }, @@ -557,6 +979,7 @@ "keyFile": "key_file", "keyPem": "key_pem", "secretId": "secret_id", + "skipVerify": "skip_verify", "vaultToken": "vault_token" } } diff --git a/provider/cmd/pulumi-resource-nomad/schema.json b/provider/cmd/pulumi-resource-nomad/schema.json index dcb15e21..3fd9d6b2 100644 --- a/provider/cmd/pulumi-resource-nomad/schema.json +++ b/provider/cmd/pulumi-resource-nomad/schema.json @@ -14,19 +14,19 @@ }, "language": { "csharp": { - "compatibility": "tfbridge20", - "namespaces": null, "packageReferences": { "Pulumi": "3.*" - } + }, + "compatibility": "tfbridge20" }, "go": { - "generateExtraInputTypes": true, + "importBasePath": "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad", "generateResourceContainerTypes": true, - "importBasePath": "github.com/pulumi/pulumi-nomad/sdk/go/nomad" + "generateExtraInputTypes": true }, "nodejs": { - "compatibility": "tfbridge20", + "packageDescription": "A Pulumi package for creating and managing nomad cloud resources.", + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-nomad)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-nomad` repo](https://github.com/pulumi/pulumi-nomad/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nomad` repo](https://github.com/hashicorp/terraform-provider-nomad/issues).", "dependencies": { "@pulumi/pulumi": "^3.0.0" }, @@ -34,18 +34,16 @@ "@types/mime": "^2.0.0", "@types/node": "^10.0.0" }, - "disableUnionOutputTypes": true, - "packageDescription": "A Pulumi package for creating and managing nomad cloud resources.", - "packageName": "", - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-nomad)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-nomad` repo](https://github.com/pulumi/pulumi-nomad/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nomad` repo](https://github.com/hashicorp/terraform-provider-nomad/issues).", - "typescriptVersion": "" + "compatibility": "tfbridge20", + "disableUnionOutputTypes": true }, "python": { - "compatibility": "tfbridge20", - "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-nomad)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-nomad` repo](https://github.com/pulumi/pulumi-nomad/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nomad` repo](https://github.com/hashicorp/terraform-provider-nomad/issues).", "requires": { "pulumi": "\u003e=3.0.0,\u003c4.0.0" - } + }, + "readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-nomad)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-nomad` repo](https://github.com/pulumi/pulumi-nomad/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-nomad` repo](https://github.com/hashicorp/terraform-provider-nomad/issues).", + "compatibility": "tfbridge20", + "pyproject": {} } }, "config": { @@ -110,6 +108,10 @@ "type": "string", "description": "ACL token secret for API requests.\n" }, + "skipVerify": { + "type": "boolean", + "description": "Skip TLS verification on client side.\n" + }, "vaultToken": { "type": "string", "description": "Vault token if policies are specified in the job file.\n", @@ -204,6 +206,30 @@ "oidcDiscoveryUrl" ] }, + "nomad:index/AclPolicyJobAcl:AclPolicyJobAcl": { + "properties": { + "group": { + "type": "string", + "description": "`(string: \u003coptional\u003e` - The group to attach the policy. Required if\n`task` is set.\n" + }, + "jobId": { + "type": "string", + "description": "`(string: \u003coptional\u003e` - The job to attach the policy. Required if\n`group` is set.\n" + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace to attach the policy.\nRequired if `job_id` is set.\n" + }, + "task": { + "type": "string", + "description": "`(string: \u003coptional\u003e` - The task to attach the policy.\n\n[nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies\n" + } + }, + "type": "object", + "required": [ + "jobId" + ] + }, "nomad:index/AclRolePolicy:AclRolePolicy": { "properties": { "name": { @@ -239,6 +265,227 @@ } } }, + "nomad:index/CsiVolumeCapability:CsiVolumeCapability": { + "properties": { + "accessMode": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - Defines whether a volume should be available concurrently. Possible values are:\n- `single-node-reader-only`\n- `single-node-writer`\n- `multi-node-reader-only`\n- `multi-node-single-writer`\n- `multi-node-multi-writer`\n" + }, + "attachmentMode": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The storage API that will be used by the volume. Possible values are:\n- `block-device`\n- `file-system`\n" + } + }, + "type": "object", + "required": [ + "accessMode", + "attachmentMode" + ] + }, + "nomad:index/CsiVolumeMountOptions:CsiVolumeMountOptions": { + "properties": { + "fsType": { + "type": "string", + "description": "`(string: optional)` - The file system type.\n" + }, + "mountFlags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`[]string: optional` - The flags passed to `mount`.\n" + } + }, + "type": "object" + }, + "nomad:index/CsiVolumeRegistrationCapability:CsiVolumeRegistrationCapability": { + "properties": { + "accessMode": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - Defines whether a volume should be available concurrently. Possible values are:\n- `single-node-reader-only`\n- `single-node-writer`\n- `multi-node-reader-only`\n- `multi-node-single-writer`\n- `multi-node-multi-writer`\n" + }, + "attachmentMode": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The storage API that will be used by the volume. Possible values are:\n- `block-device`\n- `file-system`\n" + } + }, + "type": "object", + "required": [ + "accessMode", + "attachmentMode" + ] + }, + "nomad:index/CsiVolumeRegistrationMountOptions:CsiVolumeRegistrationMountOptions": { + "properties": { + "fsType": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The file system type.\n" + }, + "mountFlags": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`([]string: \u003coptional\u003e)` - The flags passed to `mount`.\n" + } + }, + "type": "object" + }, + "nomad:index/CsiVolumeRegistrationTopology:CsiVolumeRegistrationTopology": { + "properties": { + "segments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "segments" + ] + } + } + }, + "nomad:index/CsiVolumeRegistrationTopologyRequest:CsiVolumeRegistrationTopologyRequest": { + "properties": { + "required": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopologyRequestRequired:CsiVolumeRegistrationTopologyRequestRequired", + "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "nomad:index/CsiVolumeRegistrationTopologyRequestRequired:CsiVolumeRegistrationTopologyRequestRequired": { + "properties": { + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopologyRequestRequiredTopology:CsiVolumeRegistrationTopologyRequestRequiredTopology" + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "topologies" + ] + }, + "nomad:index/CsiVolumeRegistrationTopologyRequestRequiredTopology:CsiVolumeRegistrationTopologyRequestRequiredTopology": { + "properties": { + "segments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + } + }, + "type": "object", + "required": [ + "segments" + ] + }, + "nomad:index/CsiVolumeTopology:CsiVolumeTopology": { + "properties": { + "segments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "segments" + ] + } + } + }, + "nomad:index/CsiVolumeTopologyRequest:CsiVolumeTopologyRequest": { + "properties": { + "preferred": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequestPreferred:CsiVolumeTopologyRequestPreferred", + "description": "`(``Topology``: \u003coptional\u003e)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies.\n", + "willReplaceOnChanges": true + }, + "required": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequestRequired:CsiVolumeTopologyRequestRequired", + "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + }, + "nomad:index/CsiVolumeTopologyRequestPreferred:CsiVolumeTopologyRequestPreferred": { + "properties": { + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequestPreferredTopology:CsiVolumeTopologyRequestPreferredTopology" + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "topologies" + ] + }, + "nomad:index/CsiVolumeTopologyRequestPreferredTopology:CsiVolumeTopologyRequestPreferredTopology": { + "properties": { + "segments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "segments" + ] + }, + "nomad:index/CsiVolumeTopologyRequestRequired:CsiVolumeTopologyRequestRequired": { + "properties": { + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequestRequiredTopology:CsiVolumeTopologyRequestRequiredTopology" + }, + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "topologies" + ] + }, + "nomad:index/CsiVolumeTopologyRequestRequiredTopology:CsiVolumeTopologyRequestRequiredTopology": { + "properties": { + "segments": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true + } + }, + "type": "object", + "required": [ + "segments" + ] + }, "nomad:index/ExternalVolumeCapability:ExternalVolumeCapability": { "properties": { "accessMode": { @@ -295,11 +542,13 @@ "properties": { "preferred": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequestPreferred:ExternalVolumeTopologyRequestPreferred", - "description": "`(``Topology``: \u003coptional\u003e)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies.\n" + "description": "`(``Topology``: \u003coptional\u003e)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies.\n", + "willReplaceOnChanges": true }, "required": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequestRequired:ExternalVolumeTopologyRequestRequired", - "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n" + "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -310,7 +559,8 @@ "type": "array", "items": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequestPreferredTopology:ExternalVolumeTopologyRequestPreferredTopology" - } + }, + "willReplaceOnChanges": true } }, "type": "object", @@ -325,7 +575,8 @@ "additionalProperties": { "type": "string" }, - "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true } }, "type": "object", @@ -339,7 +590,8 @@ "type": "array", "items": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequestRequiredTopology:ExternalVolumeTopologyRequestRequiredTopology" - } + }, + "willReplaceOnChanges": true } }, "type": "object", @@ -354,7 +606,8 @@ "additionalProperties": { "type": "string" }, - "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true } }, "type": "object", @@ -370,7 +623,8 @@ }, "enabled": { "type": "boolean", - "description": "`(boolean: false)` - Set this to `true` if your jobspec uses the HCL2\nformat instead of the default HCL.\n" + "description": "`(boolean: false)` - **Deprecated** All HCL jobs are parsed as\nHCL2 by default.\n", + "deprecationMessage": "Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing." }, "vars": { "type": "object", @@ -523,17 +777,60 @@ }, "type": "object" }, - "nomad:index/ProviderHeader:ProviderHeader": { + "nomad:index/NamespaceNodePoolConfig:NamespaceNodePoolConfig": { "properties": { - "name": { - "type": "string" + "alloweds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`([]string: \u003coptional\u003e)` - The list of node pools that are allowed to be used in this namespace.\n" }, - "value": { - "type": "string" + "default": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The default node pool for jobs that don't define one.\n" + }, + "denieds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`([]string: \u003coptional\u003e)` - The list of node pools that are not allowed to be used in this namespace.\n" } }, "type": "object", - "required": [ + "language": { + "nodejs": { + "requiredOutputs": [ + "default" + ] + } + } + }, + "nomad:index/NodePoolSchedulerConfig:NodePoolSchedulerConfig": { + "properties": { + "memoryOversubscription": { + "type": "string", + "description": "`(string)` - Whether or not memory\noversubscription is enabled in the node pool. Possible values are\n`\"enabled\"` or `\"disabled\"`. If not defined the global cluster\nconfiguration is used.\n\n\u003e This option differs from Nomad, where it's represented as a boolean, to\nallow distinguishing between memory oversubscription being disabled in the\nnode pool and this property not being set.\n" + }, + "schedulerAlgorithm": { + "type": "string", + "description": "`(string)` - The scheduler algorithm used in the node\npool. Possible values are `binpack` or `spread`. If not defined the global\ncluster configuration is used.\n" + } + }, + "type": "object" + }, + "nomad:index/ProviderHeader:ProviderHeader": { + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object", + "required": [ "name", "value" ], @@ -629,7 +926,8 @@ "properties": { "required": { "$ref": "#/types/nomad:index/VolumeTopologyRequestRequired:VolumeTopologyRequestRequired", - "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n" + "description": "`(``Topology``: \u003coptional\u003e)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies.\n", + "willReplaceOnChanges": true } }, "type": "object" @@ -640,7 +938,8 @@ "type": "array", "items": { "$ref": "#/types/nomad:index/VolumeTopologyRequestRequiredTopology:VolumeTopologyRequestRequiredTopology" - } + }, + "willReplaceOnChanges": true } }, "type": "object", @@ -655,7 +954,8 @@ "additionalProperties": { "type": "string" }, - "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n" + "description": "`(map[string]string)` - Define the attributes for the topology request.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true } }, "type": "object", @@ -854,6 +1154,113 @@ } } }, + "nomad:index/getAllocationsAllocation:getAllocationsAllocation": { + "properties": { + "clientStatus": { + "type": "string", + "description": "`(string)` - The current client status of the allocation.\n" + }, + "createIndex": { + "type": "integer", + "description": "`(int)` - The Raft index in which the allocation was created.\n" + }, + "createTime": { + "type": "integer", + "description": "`(int)` - The timestamp of when the allocation was created.\n" + }, + "desiredStatus": { + "type": "string", + "description": "`(string)` - The current desired status of the allocation.\n" + }, + "evalId": { + "type": "string", + "description": "`(string)` - The ID of the evaluation that generated the allocation.\n" + }, + "followupEvalId": { + "type": "string", + "description": "`(string)` - The ID of the evaluation that succeeds the allocation evaluation.\n" + }, + "id": { + "type": "string", + "description": "`(string)` - The ID of the allocation.\n" + }, + "jobId": { + "type": "string", + "description": "`(string)` - The ID of the job related to the allocation.\n" + }, + "jobType": { + "type": "string", + "description": "`(string)` - The type of the job related to the allocation.\n" + }, + "jobVersion": { + "type": "integer", + "description": "`(int)` - The version of the job that generated the allocation.\n" + }, + "modifyIndex": { + "type": "integer", + "description": "`(int)` - The Raft index in which the allocation was last modified.\n" + }, + "modifyTime": { + "type": "integer", + "description": "`(int)` - The timestamp of when the allocation was last modified.\n" + }, + "name": { + "type": "string", + "description": "`(string)` - The name of the allocation.\n" + }, + "namespace": { + "type": "string", + "description": "`(string)` - The namespace the allocation belongs to.\n" + }, + "nextAllocation": { + "type": "string", + "description": "`(string)` - The ID of the allocation that succeeds the allocation.\n" + }, + "nodeId": { + "type": "string", + "description": "`(string)` - The ID of the node to which the allocation was scheduled.\n" + }, + "nodeName": { + "type": "string", + "description": "`(string)` - The ID of the node to which the allocation was scheduled.\n" + }, + "preemptedByAllocation": { + "type": "string", + "description": "`(string)` - The ID of the allocation that preempted the allocation.\n" + }, + "taskGroup": { + "type": "string", + "description": "`(string)` - The job task group related to the allocation.\n" + } + }, + "type": "object", + "required": [ + "clientStatus", + "createIndex", + "createTime", + "desiredStatus", + "evalId", + "followupEvalId", + "id", + "jobId", + "jobType", + "jobVersion", + "modifyIndex", + "modifyTime", + "name", + "namespace", + "nextAllocation", + "nodeId", + "nodeName", + "preemptedByAllocation", + "taskGroup" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "nomad:index/getJobConstraint:getJobConstraint": { "properties": { "ltarget": { @@ -1068,6 +1475,118 @@ }, "type": "object" }, + "nomad:index/getNamespaceNodePoolConfig:getNamespaceNodePoolConfig": { + "properties": { + "alloweds": { + "type": "array", + "items": { + "type": "string" + } + }, + "default": { + "type": "string" + }, + "denieds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object", + "required": [ + "alloweds", + "default", + "denieds" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "nomad:index/getNodePoolSchedulerConfig:getNodePoolSchedulerConfig": { + "properties": { + "memoryOversubscription": { + "type": "string", + "description": "`(string)` - Whether or not memory\noversubscription is enabled in the node pool. If empty or not defined the\nglobal cluster configuration is used.\n" + }, + "schedulerAlgorithm": { + "type": "string", + "description": "`(string)` - The scheduler algorithm used in the node\npool. If empty or not defined the global cluster configuration is used.\n" + } + }, + "type": "object", + "required": [ + "memoryOversubscription", + "schedulerAlgorithm" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "nomad:index/getNodePoolsNodePool:getNodePoolsNodePool": { + "properties": { + "description": { + "type": "string", + "description": "`(string)` - The description of the node pool.\n" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Arbitrary KV metadata associated with the\nnode pool.\n" + }, + "name": { + "type": "string", + "description": "`(string)` - The name of the node pool.\n" + }, + "schedulerConfigs": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/getNodePoolsNodePoolSchedulerConfig:getNodePoolsNodePoolSchedulerConfig" + }, + "description": "`(block)` - Scheduler configuration for the node pool.\n" + } + }, + "type": "object", + "required": [ + "description", + "meta", + "name", + "schedulerConfigs" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "nomad:index/getNodePoolsNodePoolSchedulerConfig:getNodePoolsNodePoolSchedulerConfig": { + "properties": { + "memoryOversubscription": { + "type": "string", + "description": "`(string)` - Whether or not memory\noversubscription is enabled in the node pool. If empty or not defined the\nglobal cluster configuration is used.\n" + }, + "schedulerAlgorithm": { + "type": "string", + "description": "`(string)` - The scheduler algorithm used in the node\npool. If empty or not defined the global cluster configuration is used.\n" + } + }, + "type": "object", + "required": [ + "memoryOversubscription", + "schedulerAlgorithm" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "nomad:index/getPluginNode:getPluginNode": { "properties": { "healthy": { @@ -1191,6 +1710,10 @@ "type": "string", "description": "ACL token secret for API requests.\n" }, + "skipVerify": { + "type": "boolean", + "description": "Skip TLS verification on client side.\n" + }, "vaultToken": { "type": "string", "description": "Vault token if policies are specified in the job file.\n", @@ -1261,6 +1784,10 @@ "type": "string", "description": "ACL token secret for API requests.\n" }, + "skipVerify": { + "type": "boolean", + "description": "Skip TLS verification on client side.\n" + }, "vaultToken": { "type": "string", "description": "Vault token if policies are specified in the job file.\n", @@ -1273,7 +1800,7 @@ }, "resources": { "nomad:index/aclAuthMethod:AclAuthMethod": { - "description": "Manages an ACL Auth Method in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating an ALC Auth Method:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myNomadAclAuthMethod = new nomad.AclAuthMethod(\"myNomadAclAuthMethod\", {\n type: \"OIDC\",\n tokenLocality: \"global\",\n maxTokenTtl: \"10m0s\",\n \"default\": true,\n config: {\n oidcDiscoveryUrl: \"https://uk.auth0.com/\",\n oidcClientId: \"someclientid\",\n oidcClientSecret: \"someclientsecret-t\",\n boundAudiences: [\"someclientid\"],\n allowedRedirectUris: [\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n ],\n listClaimMappings: {\n \"http://nomad.internal/roles\": \"roles\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_nomad_acl_auth_method = nomad.AclAuthMethod(\"myNomadAclAuthMethod\",\n type=\"OIDC\",\n token_locality=\"global\",\n max_token_ttl=\"10m0s\",\n default=True,\n config=nomad.AclAuthMethodConfigArgs(\n oidc_discovery_url=\"https://uk.auth0.com/\",\n oidc_client_id=\"someclientid\",\n oidc_client_secret=\"someclientsecret-t\",\n bound_audiences=[\"someclientid\"],\n allowed_redirect_uris=[\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n ],\n list_claim_mappings={\n \"http://nomad.internal/roles\": \"roles\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNomadAclAuthMethod = new Nomad.AclAuthMethod(\"myNomadAclAuthMethod\", new()\n {\n Type = \"OIDC\",\n TokenLocality = \"global\",\n MaxTokenTtl = \"10m0s\",\n Default = true,\n Config = new Nomad.Inputs.AclAuthMethodConfigArgs\n {\n OidcDiscoveryUrl = \"https://uk.auth0.com/\",\n OidcClientId = \"someclientid\",\n OidcClientSecret = \"someclientsecret-t\",\n BoundAudiences = new[]\n {\n \"someclientid\",\n },\n AllowedRedirectUris = new[]\n {\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n },\n ListClaimMappings = \n {\n { \"http://nomad.internal/roles\", \"roles\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclAuthMethod(ctx, \"myNomadAclAuthMethod\", \u0026nomad.AclAuthMethodArgs{\n\t\t\tType: pulumi.String(\"OIDC\"),\n\t\t\tTokenLocality: pulumi.String(\"global\"),\n\t\t\tMaxTokenTtl: pulumi.String(\"10m0s\"),\n\t\t\tDefault: pulumi.Bool(true),\n\t\t\tConfig: \u0026nomad.AclAuthMethodConfigArgs{\n\t\t\t\tOidcDiscoveryUrl: pulumi.String(\"https://uk.auth0.com/\"),\n\t\t\t\tOidcClientId: pulumi.String(\"someclientid\"),\n\t\t\t\tOidcClientSecret: pulumi.String(\"someclientsecret-t\"),\n\t\t\t\tBoundAudiences: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"someclientid\"),\n\t\t\t\t},\n\t\t\t\tAllowedRedirectUris: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http://localhost:4649/oidc/callback\"),\n\t\t\t\t\tpulumi.String(\"http://localhost:4646/ui/settings/tokens\"),\n\t\t\t\t},\n\t\t\t\tListClaimMappings: pulumi.StringMap{\n\t\t\t\t\t\"http://nomad.internal/roles\": pulumi.String(\"roles\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclAuthMethod;\nimport com.pulumi.nomad.AclAuthMethodArgs;\nimport com.pulumi.nomad.inputs.AclAuthMethodConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myNomadAclAuthMethod = new AclAuthMethod(\"myNomadAclAuthMethod\", AclAuthMethodArgs.builder() \n .type(\"OIDC\")\n .tokenLocality(\"global\")\n .maxTokenTtl(\"10m0s\")\n .default_(true)\n .config(AclAuthMethodConfigArgs.builder()\n .oidcDiscoveryUrl(\"https://uk.auth0.com/\")\n .oidcClientId(\"someclientid\")\n .oidcClientSecret(\"someclientsecret-t\")\n .boundAudiences(\"someclientid\")\n .allowedRedirectUris( \n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\")\n .listClaimMappings(Map.of(\"http://nomad.internal/roles\", \"roles\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNomadAclAuthMethod:\n type: nomad:AclAuthMethod\n properties:\n type: OIDC\n tokenLocality: global\n maxTokenTtl: 10m0s\n default: true\n config:\n oidcDiscoveryUrl: https://uk.auth0.com/\n oidcClientId: someclientid\n oidcClientSecret: someclientsecret-t\n boundAudiences:\n - someclientid\n allowedRedirectUris:\n - http://localhost:4649/oidc/callback\n - http://localhost:4646/ui/settings/tokens\n listClaimMappings:\n http://nomad.internal/roles: roles\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Manages an ACL Auth Method in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating an ALC Auth Method:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myNomadAclAuthMethod = new nomad.AclAuthMethod(\"myNomadAclAuthMethod\", {\n type: \"OIDC\",\n tokenLocality: \"global\",\n maxTokenTtl: \"10m0s\",\n \"default\": true,\n config: {\n oidcDiscoveryUrl: \"https://uk.auth0.com/\",\n oidcClientId: \"someclientid\",\n oidcClientSecret: \"someclientsecret-t\",\n boundAudiences: [\"someclientid\"],\n allowedRedirectUris: [\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n ],\n listClaimMappings: {\n \"http://nomad.internal/roles\": \"roles\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_nomad_acl_auth_method = nomad.AclAuthMethod(\"myNomadAclAuthMethod\",\n type=\"OIDC\",\n token_locality=\"global\",\n max_token_ttl=\"10m0s\",\n default=True,\n config=nomad.AclAuthMethodConfigArgs(\n oidc_discovery_url=\"https://uk.auth0.com/\",\n oidc_client_id=\"someclientid\",\n oidc_client_secret=\"someclientsecret-t\",\n bound_audiences=[\"someclientid\"],\n allowed_redirect_uris=[\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n ],\n list_claim_mappings={\n \"http://nomad.internal/roles\": \"roles\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myNomadAclAuthMethod = new Nomad.AclAuthMethod(\"myNomadAclAuthMethod\", new()\n {\n Type = \"OIDC\",\n TokenLocality = \"global\",\n MaxTokenTtl = \"10m0s\",\n Default = true,\n Config = new Nomad.Inputs.AclAuthMethodConfigArgs\n {\n OidcDiscoveryUrl = \"https://uk.auth0.com/\",\n OidcClientId = \"someclientid\",\n OidcClientSecret = \"someclientsecret-t\",\n BoundAudiences = new[]\n {\n \"someclientid\",\n },\n AllowedRedirectUris = new[]\n {\n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\",\n },\n ListClaimMappings = \n {\n { \"http://nomad.internal/roles\", \"roles\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclAuthMethod(ctx, \"myNomadAclAuthMethod\", \u0026nomad.AclAuthMethodArgs{\n\t\t\tType: pulumi.String(\"OIDC\"),\n\t\t\tTokenLocality: pulumi.String(\"global\"),\n\t\t\tMaxTokenTtl: pulumi.String(\"10m0s\"),\n\t\t\tDefault: pulumi.Bool(true),\n\t\t\tConfig: \u0026nomad.AclAuthMethodConfigArgs{\n\t\t\t\tOidcDiscoveryUrl: pulumi.String(\"https://uk.auth0.com/\"),\n\t\t\t\tOidcClientId: pulumi.String(\"someclientid\"),\n\t\t\t\tOidcClientSecret: pulumi.String(\"someclientsecret-t\"),\n\t\t\t\tBoundAudiences: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"someclientid\"),\n\t\t\t\t},\n\t\t\t\tAllowedRedirectUris: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"http://localhost:4649/oidc/callback\"),\n\t\t\t\t\tpulumi.String(\"http://localhost:4646/ui/settings/tokens\"),\n\t\t\t\t},\n\t\t\t\tListClaimMappings: pulumi.StringMap{\n\t\t\t\t\t\"http://nomad.internal/roles\": pulumi.String(\"roles\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclAuthMethod;\nimport com.pulumi.nomad.AclAuthMethodArgs;\nimport com.pulumi.nomad.inputs.AclAuthMethodConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var myNomadAclAuthMethod = new AclAuthMethod(\"myNomadAclAuthMethod\", AclAuthMethodArgs.builder() \n .type(\"OIDC\")\n .tokenLocality(\"global\")\n .maxTokenTtl(\"10m0s\")\n .default_(true)\n .config(AclAuthMethodConfigArgs.builder()\n .oidcDiscoveryUrl(\"https://uk.auth0.com/\")\n .oidcClientId(\"someclientid\")\n .oidcClientSecret(\"someclientsecret-t\")\n .boundAudiences(\"someclientid\")\n .allowedRedirectUris( \n \"http://localhost:4649/oidc/callback\",\n \"http://localhost:4646/ui/settings/tokens\")\n .listClaimMappings(Map.of(\"http://nomad.internal/roles\", \"roles\"))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n myNomadAclAuthMethod:\n type: nomad:AclAuthMethod\n properties:\n type: OIDC\n tokenLocality: global\n maxTokenTtl: 10m0s\n default: true\n config:\n oidcDiscoveryUrl: https://uk.auth0.com/\n oidcClientId: someclientid\n oidcClientSecret: someclientsecret-t\n boundAudiences:\n - someclientid\n allowedRedirectUris:\n - http://localhost:4649/oidc/callback\n - http://localhost:4646/ui/settings/tokens\n listClaimMappings:\n http://nomad.internal/roles: roles\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "config": { "$ref": "#/types/nomad:index/AclAuthMethodConfig:AclAuthMethodConfig", @@ -1378,7 +1905,7 @@ }, "bindName": { "type": "string", - "description": "`(string: \"\")` - Target of the binding.\n" + "description": "`(string: \u003coptional\u003e)` - Target of the binding. If `bind_type` is\n`role` or `policy` then `bind_name` is required. If `bind_type` is\n`management` than `bind_name` must not be defined.\n" }, "bindType": { "type": "string", @@ -1395,7 +1922,6 @@ }, "required": [ "authMethod", - "bindName", "bindType" ], "inputProperties": { @@ -1405,7 +1931,7 @@ }, "bindName": { "type": "string", - "description": "`(string: \"\")` - Target of the binding.\n" + "description": "`(string: \u003coptional\u003e)` - Target of the binding. If `bind_type` is\n`role` or `policy` then `bind_name` is required. If `bind_type` is\n`management` than `bind_name` must not be defined.\n" }, "bindType": { "type": "string", @@ -1422,7 +1948,6 @@ }, "requiredInputs": [ "authMethod", - "bindName", "bindType" ], "stateInputs": { @@ -1434,7 +1959,7 @@ }, "bindName": { "type": "string", - "description": "`(string: \"\")` - Target of the binding.\n" + "description": "`(string: \u003coptional\u003e)` - Target of the binding. If `bind_type` is\n`role` or `policy` then `bind_name` is required. If `bind_type` is\n`management` than `bind_name` must not be defined.\n" }, "bindType": { "type": "string", @@ -1453,12 +1978,16 @@ } }, "nomad:index/aclPolicy:AclPolicy": { - "description": "Manages an ACL policy registered in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a policy from a HCL file:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.AclPolicy(\"dev\", {\n description: \"Submit jobs to the dev environment.\",\n rulesHcl: fs.readFileSync(`${path.module}/dev.hcl`),\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.AclPolicy(\"dev\",\n description=\"Submit jobs to the dev environment.\",\n rules_hcl=(lambda path: open(path).read())(f\"{path['module']}/dev.hcl\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.AclPolicy(\"dev\", new()\n {\n Description = \"Submit jobs to the dev environment.\",\n RulesHcl = File.ReadAllText($\"{path.Module}/dev.hcl\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclPolicy(ctx, \"dev\", \u0026nomad.AclPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Submit jobs to the dev environment.\"),\n\t\t\tRulesHcl: readFileOrPanic(fmt.Sprintf(\"%v/dev.hcl\", path.Module)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclPolicy;\nimport com.pulumi.nomad.AclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new AclPolicy(\"dev\", AclPolicyArgs.builder() \n .description(\"Submit jobs to the dev environment.\")\n .rulesHcl(Files.readString(Paths.get(String.format(\"%s/dev.hcl\", path.module()))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:AclPolicy\n properties:\n description: Submit jobs to the dev environment.\n rulesHcl:\n fn::readFile: ${path.module}/dev.hcl\n```\n\nRegistering a policy from inline HCL:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.AclPolicy(\"dev\", {\n description: \"Submit jobs to the dev environment.\",\n rulesHcl: `namespace \"dev\" {\n policy = \"write\"\n}\n\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.AclPolicy(\"dev\",\n description=\"Submit jobs to the dev environment.\",\n rules_hcl=\"\"\"namespace \"dev\" {\n policy = \"write\"\n}\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.AclPolicy(\"dev\", new()\n {\n Description = \"Submit jobs to the dev environment.\",\n RulesHcl = @\"namespace \"\"dev\"\" {\n policy = \"\"write\"\"\n}\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclPolicy(ctx, \"dev\", \u0026nomad.AclPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Submit jobs to the dev environment.\"),\n\t\t\tRulesHcl: pulumi.String(fmt.Sprintf(\"namespace \\\"dev\\\" {\\n policy = \\\"write\\\"\\n}\\n\\n\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclPolicy;\nimport com.pulumi.nomad.AclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new AclPolicy(\"dev\", AclPolicyArgs.builder() \n .description(\"Submit jobs to the dev environment.\")\n .rulesHcl(\"\"\"\nnamespace \"dev\" {\n policy = \"write\"\n}\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:AclPolicy\n properties:\n description: Submit jobs to the dev environment.\n rulesHcl: |+\n namespace \"dev\" {\n policy = \"write\"\n }\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Manages an ACL policy registered in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a policy from a HCL file:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.AclPolicy(\"dev\", {\n description: \"Submit jobs to the dev environment.\",\n rulesHcl: fs.readFileSync(`${path.module}/dev.hcl`),\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.AclPolicy(\"dev\",\n description=\"Submit jobs to the dev environment.\",\n rules_hcl=(lambda path: open(path).read())(f\"{path['module']}/dev.hcl\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.AclPolicy(\"dev\", new()\n {\n Description = \"Submit jobs to the dev environment.\",\n RulesHcl = File.ReadAllText($\"{path.Module}/dev.hcl\"),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclPolicy(ctx, \"dev\", \u0026nomad.AclPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Submit jobs to the dev environment.\"),\n\t\t\tRulesHcl: readFileOrPanic(fmt.Sprintf(\"%v/dev.hcl\", path.Module)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclPolicy;\nimport com.pulumi.nomad.AclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new AclPolicy(\"dev\", AclPolicyArgs.builder() \n .description(\"Submit jobs to the dev environment.\")\n .rulesHcl(Files.readString(Paths.get(String.format(\"%s/dev.hcl\", path.module()))))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:AclPolicy\n properties:\n description: Submit jobs to the dev environment.\n rulesHcl:\n fn::readFile: ${path.module}/dev.hcl\n```\n\nRegistering a policy from inline HCL:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.AclPolicy(\"dev\", {\n description: \"Submit jobs to the dev environment.\",\n rulesHcl: `namespace \"dev\" {\n policy = \"write\"\n}\n\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.AclPolicy(\"dev\",\n description=\"Submit jobs to the dev environment.\",\n rules_hcl=\"\"\"namespace \"dev\" {\n policy = \"write\"\n}\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.AclPolicy(\"dev\", new()\n {\n Description = \"Submit jobs to the dev environment.\",\n RulesHcl = @\"namespace \"\"dev\"\" {\n policy = \"\"write\"\"\n}\n\n\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclPolicy(ctx, \"dev\", \u0026nomad.AclPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Submit jobs to the dev environment.\"),\n\t\t\tRulesHcl: pulumi.String(fmt.Sprintf(\"namespace \\\"dev\\\" {\\n policy = \\\"write\\\"\\n}\\n\\n\")),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclPolicy;\nimport com.pulumi.nomad.AclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new AclPolicy(\"dev\", AclPolicyArgs.builder() \n .description(\"Submit jobs to the dev environment.\")\n .rulesHcl(\"\"\"\nnamespace \"dev\" {\n policy = \"write\"\n}\n\n \"\"\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:AclPolicy\n properties:\n description: Submit jobs to the dev environment.\n rulesHcl: |+\n namespace \"dev\" {\n policy = \"write\"\n }\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", "description": "`(string: \"\")` - A description of the policy.\n" }, + "jobAcl": { + "$ref": "#/types/nomad:index/AclPolicyJobAcl:AclPolicyJobAcl", + "description": "`(``JobACL``: \u003coptional\u003e)` - Options for assigning the ACL rules to a job, group, or task.\n" + }, "name": { "type": "string", "description": "`(string: \u003crequired\u003e)` - A unique name for the policy.\n" @@ -1477,6 +2006,10 @@ "type": "string", "description": "`(string: \"\")` - A description of the policy.\n" }, + "jobAcl": { + "$ref": "#/types/nomad:index/AclPolicyJobAcl:AclPolicyJobAcl", + "description": "`(``JobACL``: \u003coptional\u003e)` - Options for assigning the ACL rules to a job, group, or task.\n" + }, "name": { "type": "string", "description": "`(string: \u003crequired\u003e)` - A unique name for the policy.\n", @@ -1497,6 +2030,10 @@ "type": "string", "description": "`(string: \"\")` - A description of the policy.\n" }, + "jobAcl": { + "$ref": "#/types/nomad:index/AclPolicyJobAcl:AclPolicyJobAcl", + "description": "`(``JobACL``: \u003coptional\u003e)` - Options for assigning the ACL rules to a job, group, or task.\n" + }, "name": { "type": "string", "description": "`(string: \u003crequired\u003e)` - A unique name for the policy.\n", @@ -1575,7 +2112,7 @@ } }, "nomad:index/aclToken:AclToken": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a token with limited policies:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dakota = new nomad.AclToken(\"dakota\", {\n policies: [\n \"dev\",\n \"qa\",\n ],\n type: \"client\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndakota = nomad.AclToken(\"dakota\",\n policies=[\n \"dev\",\n \"qa\",\n ],\n type=\"client\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dakota = new Nomad.AclToken(\"dakota\", new()\n {\n Policies = new[]\n {\n \"dev\",\n \"qa\",\n },\n Type = \"client\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"dakota\", \u0026nomad.AclTokenArgs{\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"qa\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"client\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dakota = new AclToken(\"dakota\", AclTokenArgs.builder() \n .policies( \n \"dev\",\n \"qa\")\n .type(\"client\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dakota:\n type: nomad:AclToken\n properties:\n policies:\n - dev\n - qa\n type: client\n```\n\nCreating a global token that will be replicated to all regions:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dakota = new nomad.AclToken(\"dakota\", {\n global: true,\n policies: [\n \"dev\",\n \"qa\",\n ],\n type: \"client\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndakota = nomad.AclToken(\"dakota\",\n global_=True,\n policies=[\n \"dev\",\n \"qa\",\n ],\n type=\"client\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dakota = new Nomad.AclToken(\"dakota\", new()\n {\n Global = true,\n Policies = new[]\n {\n \"dev\",\n \"qa\",\n },\n Type = \"client\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"dakota\", \u0026nomad.AclTokenArgs{\n\t\t\tGlobal: pulumi.Bool(true),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"qa\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"client\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dakota = new AclToken(\"dakota\", AclTokenArgs.builder() \n .global(true)\n .policies( \n \"dev\",\n \"qa\")\n .type(\"client\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dakota:\n type: nomad:AclToken\n properties:\n global: true\n policies:\n - dev\n - qa\n type: client\n```\n\nCreating a token with full access to the cluster:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst iman = new nomad.AclToken(\"iman\", {type: \"management\"});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\niman = nomad.AclToken(\"iman\", type=\"management\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iman = new Nomad.AclToken(\"iman\", new()\n {\n Type = \"management\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"iman\", \u0026nomad.AclTokenArgs{\n\t\t\tType: pulumi.String(\"management\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var iman = new AclToken(\"iman\", AclTokenArgs.builder() \n .type(\"management\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iman:\n type: nomad:AclToken\n properties:\n type: management\n```\n\nAccessing the token:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst token = new nomad.AclToken(\"token\", {\n type: \"client\",\n policies: [\"dev\"],\n});\nexport const nomadToken = token.secretId;\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ntoken = nomad.AclToken(\"token\",\n type=\"client\",\n policies=[\"dev\"])\npulumi.export(\"nomadToken\", token.secret_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = new Nomad.AclToken(\"token\", new()\n {\n Type = \"client\",\n Policies = new[]\n {\n \"dev\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"nomadToken\"] = token.SecretId,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttoken, err := nomad.NewAclToken(ctx, \"token\", \u0026nomad.AclTokenArgs{\n\t\t\tType: pulumi.String(\"client\"),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"nomadToken\", token.SecretId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var token = new AclToken(\"token\", AclTokenArgs.builder() \n .type(\"client\")\n .policies(\"dev\")\n .build());\n\n ctx.export(\"nomadToken\", token.secretId());\n }\n}\n```\n```yaml\nresources:\n token:\n type: nomad:AclToken\n properties:\n type: client\n policies:\n - dev\noutputs:\n nomadToken: ${token.secretId}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a token with limited policies:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dakota = new nomad.AclToken(\"dakota\", {\n policies: [\n \"dev\",\n \"qa\",\n ],\n type: \"client\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndakota = nomad.AclToken(\"dakota\",\n policies=[\n \"dev\",\n \"qa\",\n ],\n type=\"client\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dakota = new Nomad.AclToken(\"dakota\", new()\n {\n Policies = new[]\n {\n \"dev\",\n \"qa\",\n },\n Type = \"client\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"dakota\", \u0026nomad.AclTokenArgs{\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"qa\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"client\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dakota = new AclToken(\"dakota\", AclTokenArgs.builder() \n .policies( \n \"dev\",\n \"qa\")\n .type(\"client\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dakota:\n type: nomad:AclToken\n properties:\n policies:\n - dev\n - qa\n type: client\n```\n\nCreating a global token that will be replicated to all regions:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dakota = new nomad.AclToken(\"dakota\", {\n global: true,\n policies: [\n \"dev\",\n \"qa\",\n ],\n type: \"client\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndakota = nomad.AclToken(\"dakota\",\n global_=True,\n policies=[\n \"dev\",\n \"qa\",\n ],\n type=\"client\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dakota = new Nomad.AclToken(\"dakota\", new()\n {\n Global = true,\n Policies = new[]\n {\n \"dev\",\n \"qa\",\n },\n Type = \"client\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"dakota\", \u0026nomad.AclTokenArgs{\n\t\t\tGlobal: pulumi.Bool(true),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"qa\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"client\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dakota = new AclToken(\"dakota\", AclTokenArgs.builder() \n .global(true)\n .policies( \n \"dev\",\n \"qa\")\n .type(\"client\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dakota:\n type: nomad:AclToken\n properties:\n global: true\n policies:\n - dev\n - qa\n type: client\n```\n\nCreating a token with full access to the cluster:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst iman = new nomad.AclToken(\"iman\", {type: \"management\"});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\niman = nomad.AclToken(\"iman\", type=\"management\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var iman = new Nomad.AclToken(\"iman\", new()\n {\n Type = \"management\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewAclToken(ctx, \"iman\", \u0026nomad.AclTokenArgs{\n\t\t\tType: pulumi.String(\"management\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var iman = new AclToken(\"iman\", AclTokenArgs.builder() \n .type(\"management\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n iman:\n type: nomad:AclToken\n properties:\n type: management\n```\n\nAccessing the token:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst token = new nomad.AclToken(\"token\", {\n type: \"client\",\n policies: [\"dev\"],\n});\nexport const nomadToken = token.secretId;\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ntoken = nomad.AclToken(\"token\",\n type=\"client\",\n policies=[\"dev\"])\npulumi.export(\"nomadToken\", token.secret_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var token = new Nomad.AclToken(\"token\", new()\n {\n Type = \"client\",\n Policies = new[]\n {\n \"dev\",\n },\n });\n\n return new Dictionary\u003cstring, object?\u003e\n {\n [\"nomadToken\"] = token.SecretId,\n };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttoken, err := nomad.NewAclToken(ctx, \"token\", \u0026nomad.AclTokenArgs{\n\t\t\tType: pulumi.String(\"client\"),\n\t\t\tPolicies: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"nomadToken\", token.SecretId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.AclToken;\nimport com.pulumi.nomad.AclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var token = new AclToken(\"token\", AclTokenArgs.builder() \n .type(\"client\")\n .policies(\"dev\")\n .build());\n\n ctx.export(\"nomadToken\", token.secretId());\n }\n}\n```\n```yaml\nresources:\n token:\n type: nomad:AclToken\n properties:\n type: client\n policies:\n - dev\noutputs:\n nomadToken: ${token.secretId}\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessorId": { "type": "string", @@ -1636,98 +2173,717 @@ "inputProperties": { "expirationTtl": { "type": "string", - "description": "`(string: \"\")` - Provides a TTL for the token in the form of\na time duration such as `\"5m\"` or `\"1h\"`.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "description": "`(string: \"\")` - Provides a TTL for the token in the form of\na time duration such as `\"5m\"` or `\"1h\"`.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true + }, + "global": { + "type": "boolean", + "description": "`(bool: false)` - Whether the token should be replicated to all\nregions, or if it will only be used in the region it was created in.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "`(string: \"\")` - A human-friendly name for this token.\n" + }, + "policies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`(set: [])` - A set of policy names to associate with this\ntoken. Must be set on `client`-type tokens, must not be set on\n`management`-type tokens. Policies do not need to exist before being\nused here.\n" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/AclTokenRole:AclTokenRole" + }, + "description": "`(set: [])` - The list of roles attached to the token. Each entry has\n`name` and `id` attributes. It may be used multiple times.\n" + }, + "type": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The type of token this is. Use `client`\nfor tokens that will have policies associated with them. Use `management`\nfor tokens that can perform any action.\n" + } + }, + "requiredInputs": [ + "type" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AclToken resources.\n", + "properties": { + "accessorId": { + "type": "string", + "description": "`(string)` - A non-sensitive identifier for this token that\ncan be logged and shared safely without granting any access to the cluster.\n" + }, + "createTime": { + "type": "string", + "description": "`(string)` - The timestamp the token was created.\n" + }, + "expirationTime": { + "type": "string", + "description": "`(string)` - The timestamp after which the token is\nconsidered expired and eligible for destruction.\n" + }, + "expirationTtl": { + "type": "string", + "description": "`(string: \"\")` - Provides a TTL for the token in the form of\na time duration such as `\"5m\"` or `\"1h\"`.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "willReplaceOnChanges": true + }, + "global": { + "type": "boolean", + "description": "`(bool: false)` - Whether the token should be replicated to all\nregions, or if it will only be used in the region it was created in.\n", + "willReplaceOnChanges": true + }, + "name": { + "type": "string", + "description": "`(string: \"\")` - A human-friendly name for this token.\n" + }, + "policies": { + "type": "array", + "items": { + "type": "string" + }, + "description": "`(set: [])` - A set of policy names to associate with this\ntoken. Must be set on `client`-type tokens, must not be set on\n`management`-type tokens. Policies do not need to exist before being\nused here.\n" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/AclTokenRole:AclTokenRole" + }, + "description": "`(set: [])` - The list of roles attached to the token. Each entry has\n`name` and `id` attributes. It may be used multiple times.\n" + }, + "secretId": { + "type": "string", + "description": "`(string)` - The token value itself, which is presented for\naccess to the cluster.\n", + "secret": true + }, + "type": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The type of token this is. Use `client`\nfor tokens that will have policies associated with them. Use `management`\nfor tokens that can perform any action.\n" + } + }, + "type": "object" + } + }, + "nomad:index/csiVolume:CsiVolume": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.CsiVolume(\"mysqlVolume\", {\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n capacityMin: \"10GiB\",\n capacityMax: \"20GiB\",\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.CsiVolume(\"mysqlVolume\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n capacity_min=\"10GiB\",\n capacity_max=\"20GiB\",\n capabilities=[nomad.CsiVolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.CsiVolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.CsiVolumeTopologyRequestArgs(\n required=nomad.CsiVolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.CsiVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.CsiVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.CsiVolume(\"mysqlVolume\", new()\n {\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n CapacityMin = \"10GiB\",\n CapacityMax = \"20GiB\",\n Capabilities = new[]\n {\n new Nomad.Inputs.CsiVolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.CsiVolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.CsiVolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.CsiVolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.CsiVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.CsiVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewCsiVolume(ctx, \"mysqlVolume\", \u0026nomad.CsiVolumeArgs{\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tCapacityMin: pulumi.String(\"10GiB\"),\n\t\t\tCapacityMax: pulumi.String(\"20GiB\"),\n\t\t\tCapabilities: nomad.CsiVolumeCapabilityArray{\n\t\t\t\t\u0026nomad.CsiVolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.CsiVolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.CsiVolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.CsiVolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.CsiVolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.CsiVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.CsiVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.CsiVolume;\nimport com.pulumi.nomad.CsiVolumeArgs;\nimport com.pulumi.nomad.inputs.CsiVolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.CsiVolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.CsiVolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.CsiVolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new CsiVolume(\"mysqlVolume\", CsiVolumeArgs.builder() \n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .capacityMin(\"10GiB\")\n .capacityMax(\"20GiB\")\n .capabilities(CsiVolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(CsiVolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(CsiVolumeTopologyRequestArgs.builder()\n .required(CsiVolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n CsiVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n CsiVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:CsiVolume\n properties:\n pluginId: aws-ebs0\n volumeId: mysql_volume\n capacityMin: 10GiB\n capacityMax: 20GiB\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeCapability:CsiVolumeCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n" + }, + "capacityMax": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a maximum volume size. This may not be supported by all storage providers.\n" + }, + "capacityMin": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a minimum volume size. This may not be supported by all storage providers.\n" + }, + "cloneId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.\n" + }, + "controllerRequired": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "controllersExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "controllersHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeMountOptions:CsiVolumeMountOptions", + "description": "`(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n" + }, + "nodesExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "nodesHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" + }, + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n" + }, + "pluginProvider": { + "type": "string", + "description": "`(string)`\n" + }, + "pluginProviderVersion": { + "type": "string", + "description": "`(string)`\n" + }, + "schedulable": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true + }, + "snapshotId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.\n" + }, + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeTopology:CsiVolumeTopology" + }, + "description": "`(List of topologies)`\n" + }, + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequest:CsiVolumeTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + }, + "volumeId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n" + } + }, + "required": [ + "capabilities", + "controllerRequired", + "controllersExpected", + "controllersHealthy", + "name", + "nodesExpected", + "nodesHealthy", + "pluginId", + "pluginProvider", + "pluginProviderVersion", + "schedulable", + "topologies", + "volumeId" + ], + "inputProperties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeCapability:CsiVolumeCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n", + "willReplaceOnChanges": true + }, + "capacityMax": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a maximum volume size. This may not be supported by all storage providers.\n", + "willReplaceOnChanges": true + }, + "capacityMin": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a minimum volume size. This may not be supported by all storage providers.\n", + "willReplaceOnChanges": true + }, + "cloneId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.\n", + "willReplaceOnChanges": true + }, + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeMountOptions:CsiVolumeMountOptions", + "description": "`(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n", + "willReplaceOnChanges": true + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" + }, + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n", + "willReplaceOnChanges": true + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true + }, + "snapshotId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.\n", + "willReplaceOnChanges": true + }, + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequest:CsiVolumeTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true + }, + "volumeId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "capabilities", + "pluginId", + "volumeId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering CsiVolume resources.\n", + "properties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeCapability:CsiVolumeCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n", + "willReplaceOnChanges": true + }, + "capacityMax": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a maximum volume size. This may not be supported by all storage providers.\n", + "willReplaceOnChanges": true + }, + "capacityMin": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Option to signal a minimum volume size. This may not be supported by all storage providers.\n", + "willReplaceOnChanges": true + }, + "cloneId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`.\n", + "willReplaceOnChanges": true + }, + "controllerRequired": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "controllersExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "controllersHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeMountOptions:CsiVolumeMountOptions", + "description": "`(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n", + "willReplaceOnChanges": true + }, + "nodesExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "nodesHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" + }, + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n", + "willReplaceOnChanges": true + }, + "pluginProvider": { + "type": "string", + "description": "`(string)`\n" + }, + "pluginProviderVersion": { + "type": "string", + "description": "`(string)`\n" + }, + "schedulable": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true + }, + "snapshotId": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`.\n", + "willReplaceOnChanges": true + }, + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeTopology:CsiVolumeTopology" + }, + "description": "`(List of topologies)`\n" + }, + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeTopologyRequest:CsiVolumeTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true + }, + "volumeId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, + "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.Volume(\"mysqlVolume\", {\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n externalId: module.hashistack.ebs_test_volume_id,\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.Volume(\"mysqlVolume\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n external_id=module[\"hashistack\"][\"ebs_test_volume_id\"],\n capabilities=[nomad.VolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.VolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.VolumeTopologyRequestArgs(\n required=nomad.VolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.Volume(\"mysqlVolume\", new()\n {\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n ExternalId = module.Hashistack.Ebs_test_volume_id,\n Capabilities = new[]\n {\n new Nomad.Inputs.VolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.VolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.VolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.VolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewVolume(ctx, \"mysqlVolume\", \u0026nomad.VolumeArgs{\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tExternalId: pulumi.Any(module.Hashistack.Ebs_test_volume_id),\n\t\t\tCapabilities: nomad.VolumeCapabilityArray{\n\t\t\t\t\u0026nomad.VolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.VolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.VolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.VolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.VolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.Volume;\nimport com.pulumi.nomad.VolumeArgs;\nimport com.pulumi.nomad.inputs.VolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.VolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new Volume(\"mysqlVolume\", VolumeArgs.builder() \n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .externalId(module.hashistack().ebs_test_volume_id())\n .capabilities(VolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(VolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(VolumeTopologyRequestArgs.builder()\n .required(VolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:Volume\n properties:\n pluginId: aws-ebs0\n volumeId: mysql_volume\n externalId: ${module.hashistack.ebs_test_volume_id}\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationCapability:CsiVolumeRegistrationCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n" + }, + "context": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.\n" + }, + "controllerRequired": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "controllersExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "controllersHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "deregisterOnDestroy": { + "type": "boolean", + "description": "`(boolean: false)` - If true, the volume will be deregistered on destroy.\n" + }, + "externalId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the physical volume from the storage provider.\n" + }, + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationMountOptions:CsiVolumeRegistrationMountOptions", + "description": "`(block: \u003coptional\u003e)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n" + }, + "nodesExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "nodesHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" + }, + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n" + }, + "pluginProvider": { + "type": "string", + "description": "`(string)`\n" + }, + "pluginProviderVersion": { + "type": "string", + "description": "`(string)`\n" + }, + "schedulable": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true + }, + "topologies": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopology:CsiVolumeRegistrationTopology" + }, + "description": "`(List of topologies)`\n" + }, + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopologyRequest:CsiVolumeRegistrationTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + }, + "volumeId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n" + } + }, + "required": [ + "controllerRequired", + "controllersExpected", + "controllersHealthy", + "externalId", + "name", + "nodesExpected", + "nodesHealthy", + "pluginId", + "pluginProvider", + "pluginProviderVersion", + "schedulable", + "topologies", + "volumeId" + ], + "inputProperties": { + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationCapability:CsiVolumeRegistrationCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n" + }, + "context": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.\n" + }, + "deregisterOnDestroy": { + "type": "boolean", + "description": "`(boolean: false)` - If true, the volume will be deregistered on destroy.\n" + }, + "externalId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the physical volume from the storage provider.\n", "willReplaceOnChanges": true }, - "global": { - "type": "boolean", - "description": "`(bool: false)` - Whether the token should be replicated to all\nregions, or if it will only be used in the region it was created in.\n", - "willReplaceOnChanges": true + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationMountOptions:CsiVolumeRegistrationMountOptions", + "description": "`(block: \u003coptional\u003e)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" }, "name": { "type": "string", - "description": "`(string: \"\")` - A human-friendly name for this token.\n" + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" }, - "policies": { - "type": "array", - "items": { + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n", + "willReplaceOnChanges": true + }, + "parameters": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "`(set: [])` - A set of policy names to associate with this\ntoken. Must be set on `client`-type tokens, must not be set on\n`management`-type tokens. Policies do not need to exist before being\nused here.\n" + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" }, - "roles": { - "type": "array", - "items": { - "$ref": "#/types/nomad:index/AclTokenRole:AclTokenRole" + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n", + "willReplaceOnChanges": true + }, + "secrets": { + "type": "object", + "additionalProperties": { + "type": "string" }, - "description": "`(set: [])` - The list of roles attached to the token. Each entry has\n`name` and `id` attributes. It may be used multiple times.\n" + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true }, - "type": { + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopologyRequest:CsiVolumeRegistrationTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true + }, + "volumeId": { "type": "string", - "description": "`(string: \u003crequired\u003e)` - The type of token this is. Use `client`\nfor tokens that will have policies associated with them. Use `management`\nfor tokens that can perform any action.\n" + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n", + "willReplaceOnChanges": true } }, "requiredInputs": [ - "type" + "externalId", + "pluginId", + "volumeId" ], "stateInputs": { - "description": "Input properties used for looking up and filtering AclToken resources.\n", + "description": "Input properties used for looking up and filtering CsiVolumeRegistration resources.\n", "properties": { - "accessorId": { - "type": "string", - "description": "`(string)` - A non-sensitive identifier for this token that\ncan be logged and shared safely without granting any access to the cluster.\n" + "capabilities": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationCapability:CsiVolumeRegistrationCapability" + }, + "description": "`(``Capability``: \u003crequired\u003e)` - Options for validating the capability of a volume.\n" }, - "createTime": { + "context": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume.\n" + }, + "controllerRequired": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "controllersExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "controllersHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "deregisterOnDestroy": { + "type": "boolean", + "description": "`(boolean: false)` - If true, the volume will be deregistered on destroy.\n" + }, + "externalId": { "type": "string", - "description": "`(string)` - The timestamp the token was created.\n" + "description": "`(string: \u003crequired\u003e)` - The ID of the physical volume from the storage provider.\n", + "willReplaceOnChanges": true }, - "expirationTime": { + "mountOptions": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationMountOptions:CsiVolumeRegistrationMountOptions", + "description": "`(block: \u003coptional\u003e)` Options for mounting `block-device` volumes without a pre-formatted file system.\n" + }, + "name": { "type": "string", - "description": "`(string)` - The timestamp after which the token is\nconsidered expired and eligible for destruction.\n" + "description": "`(string: \u003crequired\u003e)` - The display name for the volume.\n" }, - "expirationTtl": { + "namespace": { "type": "string", - "description": "`(string: \"\")` - Provides a TTL for the token in the form of\na time duration such as `\"5m\"` or `\"1h\"`.\n\nIn addition to the above arguments, the following attributes are exported and\ncan be referenced:\n", + "description": "`(string: \"default\")` - The namespace in which to register the volume.\n", "willReplaceOnChanges": true }, - "global": { - "type": "boolean", - "description": "`(bool: false)` - Whether the token should be replicated to all\nregions, or if it will only be used in the region it was created in.\n", + "nodesExpected": { + "type": "integer", + "description": "`(integer)`\n" + }, + "nodesHealthy": { + "type": "integer", + "description": "`(integer)`\n" + }, + "parameters": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume.\n" + }, + "pluginId": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - The ID of the Nomad plugin for registering this volume.\n", "willReplaceOnChanges": true }, - "name": { + "pluginProvider": { "type": "string", - "description": "`(string: \"\")` - A human-friendly name for this token.\n" + "description": "`(string)`\n" }, - "policies": { - "type": "array", - "items": { + "pluginProviderVersion": { + "type": "string", + "description": "`(string)`\n" + }, + "schedulable": { + "type": "boolean", + "description": "`(boolean)`\n" + }, + "secrets": { + "type": "object", + "additionalProperties": { "type": "string" }, - "description": "`(set: [])` - A set of policy names to associate with this\ntoken. Must be set on `client`-type tokens, must not be set on\n`management`-type tokens. Policies do not need to exist before being\nused here.\n" + "description": "`(map[string]string: \u003coptional\u003e)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes.\n", + "secret": true }, - "roles": { + "topologies": { "type": "array", "items": { - "$ref": "#/types/nomad:index/AclTokenRole:AclTokenRole" + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopology:CsiVolumeRegistrationTopology" }, - "description": "`(set: [])` - The list of roles attached to the token. Each entry has\n`name` and `id` attributes. It may be used multiple times.\n" + "description": "`(List of topologies)`\n" }, - "secretId": { - "type": "string", - "description": "`(string)` - The token value itself, which is presented for\naccess to the cluster.\n", - "secret": true + "topologyRequest": { + "$ref": "#/types/nomad:index/CsiVolumeRegistrationTopologyRequest:CsiVolumeRegistrationTopologyRequest", + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true }, - "type": { + "volumeId": { "type": "string", - "description": "`(string: \u003crequired\u003e)` - The type of token this is. Use `client`\nfor tokens that will have policies associated with them. Use `management`\nfor tokens that can perform any action.\n" + "description": "`(string: \u003crequired\u003e)` - The unique ID of the volume.\n", + "willReplaceOnChanges": true } }, "type": "object" } }, "nomad:index/externalVolume:ExternalVolume": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.ExternalVolume(\"mysqlVolume\", {\n type: \"csi\",\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n capacityMin: \"10GiB\",\n capacityMax: \"20GiB\",\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.ExternalVolume(\"mysqlVolume\",\n type=\"csi\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n capacity_min=\"10GiB\",\n capacity_max=\"20GiB\",\n capabilities=[nomad.ExternalVolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.ExternalVolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.ExternalVolumeTopologyRequestArgs(\n required=nomad.ExternalVolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.ExternalVolume(\"mysqlVolume\", new()\n {\n Type = \"csi\",\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n CapacityMin = \"10GiB\",\n CapacityMax = \"20GiB\",\n Capabilities = new[]\n {\n new Nomad.Inputs.ExternalVolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.ExternalVolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.ExternalVolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewExternalVolume(ctx, \"mysqlVolume\", \u0026nomad.ExternalVolumeArgs{\n\t\t\tType: pulumi.String(\"csi\"),\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tCapacityMin: pulumi.String(\"10GiB\"),\n\t\t\tCapacityMax: pulumi.String(\"20GiB\"),\n\t\t\tCapabilities: nomad.ExternalVolumeCapabilityArray{\n\t\t\t\t\u0026nomad.ExternalVolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.ExternalVolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.ExternalVolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.ExternalVolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.ExternalVolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.ExternalVolume;\nimport com.pulumi.nomad.ExternalVolumeArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new ExternalVolume(\"mysqlVolume\", ExternalVolumeArgs.builder() \n .type(\"csi\")\n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .capacityMin(\"10GiB\")\n .capacityMax(\"20GiB\")\n .capabilities(ExternalVolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(ExternalVolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(ExternalVolumeTopologyRequestArgs.builder()\n .required(ExternalVolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n ExternalVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n ExternalVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:ExternalVolume\n properties:\n type: csi\n pluginId: aws-ebs0\n volumeId: mysql_volume\n capacityMin: 10GiB\n capacityMax: 20GiB\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.ExternalVolume(\"mysqlVolume\", {\n type: \"csi\",\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n capacityMin: \"10GiB\",\n capacityMax: \"20GiB\",\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.ExternalVolume(\"mysqlVolume\",\n type=\"csi\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n capacity_min=\"10GiB\",\n capacity_max=\"20GiB\",\n capabilities=[nomad.ExternalVolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.ExternalVolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.ExternalVolumeTopologyRequestArgs(\n required=nomad.ExternalVolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.ExternalVolume(\"mysqlVolume\", new()\n {\n Type = \"csi\",\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n CapacityMin = \"10GiB\",\n CapacityMax = \"20GiB\",\n Capabilities = new[]\n {\n new Nomad.Inputs.ExternalVolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.ExternalVolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.ExternalVolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.ExternalVolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewExternalVolume(ctx, \"mysqlVolume\", \u0026nomad.ExternalVolumeArgs{\n\t\t\tType: pulumi.String(\"csi\"),\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tCapacityMin: pulumi.String(\"10GiB\"),\n\t\t\tCapacityMax: pulumi.String(\"20GiB\"),\n\t\t\tCapabilities: nomad.ExternalVolumeCapabilityArray{\n\t\t\t\t\u0026nomad.ExternalVolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.ExternalVolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.ExternalVolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.ExternalVolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.ExternalVolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.ExternalVolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.ExternalVolume;\nimport com.pulumi.nomad.ExternalVolumeArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.ExternalVolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new ExternalVolume(\"mysqlVolume\", ExternalVolumeArgs.builder() \n .type(\"csi\")\n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .capacityMin(\"10GiB\")\n .capacityMax(\"20GiB\")\n .capabilities(ExternalVolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(ExternalVolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(ExternalVolumeTopologyRequestArgs.builder()\n .required(ExternalVolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n ExternalVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n ExternalVolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:ExternalVolume\n properties:\n type: csi\n pluginId: aws-ebs0\n volumeId: mysql_volume\n capacityMin: 10GiB\n capacityMax: 20GiB\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "capabilities": { "type": "array", @@ -1914,7 +3070,8 @@ }, "topologyRequest": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequest:ExternalVolumeTopologyRequest", - "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true }, "type": { "type": "string", @@ -2037,7 +3194,8 @@ }, "topologyRequest": { "$ref": "#/types/nomad:index/ExternalVolumeTopologyRequest:ExternalVolumeTopologyRequest", - "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true }, "type": { "type": "string", @@ -2060,7 +3218,8 @@ "items": { "type": "string" }, - "description": "The IDs for allocations associated with this job.\n" + "description": "The IDs for allocations associated with this job.\n", + "deprecationMessage": "Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead." }, "consulToken": { "type": "string", @@ -2094,6 +3253,10 @@ "type": "boolean", "description": "`(boolean: true)` - If true, the provider will return immediately\nafter creating or updating, instead of monitoring.\n" }, + "hcl1": { + "type": "boolean", + "description": "`(boolean: false)` - Set this to `true` to use the previous HCL1\nparser. This option is provided for backwards compatibility only and should\nnot be used unless absolutely necessary.\n" + }, "hcl2": { "$ref": "#/types/nomad:index/JobHcl2:JobHcl2", "description": "`(block: optional)` - Options for the HCL2 jobspec parser.\n" @@ -2126,6 +3289,10 @@ "type": "boolean", "description": "`(boolean: false)` - Set this to true if you want the job to\nbe purged when the resource is destroyed.\n" }, + "readAllocationIds": { + "type": "boolean", + "deprecationMessage": "Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead." + }, "region": { "type": "string", "description": "The target region for the job, as derived from the jobspec.\n" @@ -2177,6 +3344,10 @@ "type": "boolean", "description": "`(boolean: true)` - If true, the provider will return immediately\nafter creating or updating, instead of monitoring.\n" }, + "hcl1": { + "type": "boolean", + "description": "`(boolean: false)` - Set this to `true` to use the previous HCL1\nparser. This option is provided for backwards compatibility only and should\nnot be used unless absolutely necessary.\n" + }, "hcl2": { "$ref": "#/types/nomad:index/JobHcl2:JobHcl2", "description": "`(block: optional)` - Options for the HCL2 jobspec parser.\n" @@ -2197,6 +3368,10 @@ "type": "boolean", "description": "`(boolean: false)` - Set this to true if you want the job to\nbe purged when the resource is destroyed.\n" }, + "readAllocationIds": { + "type": "boolean", + "deprecationMessage": "Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead." + }, "vaultToken": { "type": "string", "description": "`(string: \u003coptional\u003e)` - Vault token used when registering this job.\nWill fallback to the value declared in Nomad provider configuration, if any.\n", @@ -2214,7 +3389,8 @@ "items": { "type": "string" }, - "description": "The IDs for allocations associated with this job.\n" + "description": "The IDs for allocations associated with this job.\n", + "deprecationMessage": "Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead." }, "consulToken": { "type": "string", @@ -2248,6 +3424,10 @@ "type": "boolean", "description": "`(boolean: true)` - If true, the provider will return immediately\nafter creating or updating, instead of monitoring.\n" }, + "hcl1": { + "type": "boolean", + "description": "`(boolean: false)` - Set this to `true` to use the previous HCL1\nparser. This option is provided for backwards compatibility only and should\nnot be used unless absolutely necessary.\n" + }, "hcl2": { "$ref": "#/types/nomad:index/JobHcl2:JobHcl2", "description": "`(block: optional)` - Options for the HCL2 jobspec parser.\n" @@ -2280,118 +3460,210 @@ "type": "boolean", "description": "`(boolean: false)` - Set this to true if you want the job to\nbe purged when the resource is destroyed.\n" }, + "readAllocationIds": { + "type": "boolean", + "deprecationMessage": "Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead." + }, "region": { "type": "string", "description": "The target region for the job, as derived from the jobspec.\n" }, - "taskGroups": { - "type": "array", - "items": { - "$ref": "#/types/nomad:index/JobTaskGroup:JobTaskGroup" - } + "taskGroups": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/JobTaskGroup:JobTaskGroup" + } + }, + "type": { + "type": "string", + "description": "The type of the job, as derived from the jobspec.\n" + }, + "vaultToken": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Vault token used when registering this job.\nWill fallback to the value declared in Nomad provider configuration, if any.\n", + "secret": true + } + }, + "type": "object" + } + }, + "nomad:index/namespace:Namespace": { + "description": "Provisions a namespace within a Nomad cluster.\n\nNomad auto-generates a default namespace called `default`. This namespace\ncannot be removed, so destroying a `nomad.Namespace` resource where\n`name = \"default\"` will cause the namespace to be reset to its default\nconfiguration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a namespace:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.Namespace(\"dev\", {\n description: \"Shared development environment.\",\n meta: {\n foo: \"bar\",\n owner: \"John Doe\",\n },\n quota: \"dev\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.Namespace(\"dev\",\n description=\"Shared development environment.\",\n meta={\n \"foo\": \"bar\",\n \"owner\": \"John Doe\",\n },\n quota=\"dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.Namespace(\"dev\", new()\n {\n Description = \"Shared development environment.\",\n Meta = \n {\n { \"foo\", \"bar\" },\n { \"owner\", \"John Doe\" },\n },\n Quota = \"dev\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewNamespace(ctx, \"dev\", \u0026nomad.NamespaceArgs{\n\t\t\tDescription: pulumi.String(\"Shared development environment.\"),\n\t\t\tMeta: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"owner\": pulumi.String(\"John Doe\"),\n\t\t\t},\n\t\t\tQuota: pulumi.String(\"dev\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.Namespace;\nimport com.pulumi.nomad.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new Namespace(\"dev\", NamespaceArgs.builder() \n .description(\"Shared development environment.\")\n .meta(Map.ofEntries(\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"owner\", \"John Doe\")\n ))\n .quota(\"dev\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:Namespace\n properties:\n description: Shared development environment.\n meta:\n foo: bar\n owner: John Doe\n quota: dev\n```\n\nRegistering a namespace with a quota:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst webTeam = new nomad.QuoteSpecification(\"webTeam\", {\n description: \"web team quota\",\n limits: [{\n region: \"global\",\n regionLimit: {\n cpu: 1000,\n memoryMb: 256,\n },\n }],\n});\nconst web = new nomad.Namespace(\"web\", {\n description: \"Web team production environment.\",\n quota: webTeam.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nweb_team = nomad.QuoteSpecification(\"webTeam\",\n description=\"web team quota\",\n limits=[nomad.QuoteSpecificationLimitArgs(\n region=\"global\",\n region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(\n cpu=1000,\n memory_mb=256,\n ),\n )])\nweb = nomad.Namespace(\"web\",\n description=\"Web team production environment.\",\n quota=web_team.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webTeam = new Nomad.QuoteSpecification(\"webTeam\", new()\n {\n Description = \"web team quota\",\n Limits = new[]\n {\n new Nomad.Inputs.QuoteSpecificationLimitArgs\n {\n Region = \"global\",\n RegionLimit = new Nomad.Inputs.QuoteSpecificationLimitRegionLimitArgs\n {\n Cpu = 1000,\n MemoryMb = 256,\n },\n },\n },\n });\n\n var web = new Nomad.Namespace(\"web\", new()\n {\n Description = \"Web team production environment.\",\n Quota = webTeam.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twebTeam, err := nomad.NewQuoteSpecification(ctx, \"webTeam\", \u0026nomad.QuoteSpecificationArgs{\n\t\t\tDescription: pulumi.String(\"web team quota\"),\n\t\t\tLimits: nomad.QuoteSpecificationLimitArray{\n\t\t\t\t\u0026nomad.QuoteSpecificationLimitArgs{\n\t\t\t\t\tRegion: pulumi.String(\"global\"),\n\t\t\t\t\tRegionLimit: \u0026nomad.QuoteSpecificationLimitRegionLimitArgs{\n\t\t\t\t\t\tCpu: pulumi.Int(1000),\n\t\t\t\t\t\tMemoryMb: pulumi.Int(256),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewNamespace(ctx, \"web\", \u0026nomad.NamespaceArgs{\n\t\t\tDescription: pulumi.String(\"Web team production environment.\"),\n\t\t\tQuota: webTeam.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.QuoteSpecification;\nimport com.pulumi.nomad.QuoteSpecificationArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitRegionLimitArgs;\nimport com.pulumi.nomad.Namespace;\nimport com.pulumi.nomad.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var webTeam = new QuoteSpecification(\"webTeam\", QuoteSpecificationArgs.builder() \n .description(\"web team quota\")\n .limits(QuoteSpecificationLimitArgs.builder()\n .region(\"global\")\n .regionLimit(QuoteSpecificationLimitRegionLimitArgs.builder()\n .cpu(1000)\n .memoryMb(256)\n .build())\n .build())\n .build());\n\n var web = new Namespace(\"web\", NamespaceArgs.builder() \n .description(\"Web team production environment.\")\n .quota(webTeam.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n webTeam:\n type: nomad:QuoteSpecification\n properties:\n description: web team quota\n limits:\n - region: global\n regionLimit:\n cpu: 1000\n memoryMb: 256\n web:\n type: nomad:Namespace\n properties:\n description: Web team production environment.\n quota: ${webTeam.name}\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "capabilities": { + "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", + "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't\nbe repeated. See below for the structure of this block.\n" + }, + "description": { + "type": "string", + "description": "`(string: \"\")` - A description of the namespace.\n" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n" + }, + "nodePoolConfig": { + "$ref": "#/types/nomad:index/NamespaceNodePoolConfig:NamespaceNodePoolConfig", + "description": "`(block: \u003coptional\u003e)` - A block with node pool configuration for the namespace (Nomad Enterprise only).\n" + }, + "quota": { + "type": "string", + "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" + } + }, + "required": [ + "name", + "nodePoolConfig" + ], + "inputProperties": { + "capabilities": { + "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", + "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't\nbe repeated. See below for the structure of this block.\n" + }, + "description": { + "type": "string", + "description": "`(string: \"\")` - A description of the namespace.\n" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" + }, + "name": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n", + "willReplaceOnChanges": true + }, + "nodePoolConfig": { + "$ref": "#/types/nomad:index/NamespaceNodePoolConfig:NamespaceNodePoolConfig", + "description": "`(block: \u003coptional\u003e)` - A block with node pool configuration for the namespace (Nomad Enterprise only).\n" + }, + "quota": { + "type": "string", + "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" + } + }, + "stateInputs": { + "description": "Input properties used for looking up and filtering Namespace resources.\n", + "properties": { + "capabilities": { + "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", + "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't\nbe repeated. See below for the structure of this block.\n" + }, + "description": { + "type": "string", + "description": "`(string: \"\")` - A description of the namespace.\n" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" }, - "type": { + "name": { "type": "string", - "description": "The type of the job, as derived from the jobspec.\n" + "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n", + "willReplaceOnChanges": true }, - "vaultToken": { + "nodePoolConfig": { + "$ref": "#/types/nomad:index/NamespaceNodePoolConfig:NamespaceNodePoolConfig", + "description": "`(block: \u003coptional\u003e)` - A block with node pool configuration for the namespace (Nomad Enterprise only).\n" + }, + "quota": { "type": "string", - "description": "`(string: \u003coptional\u003e)` - Vault token used when registering this job.\nWill fallback to the value declared in Nomad provider configuration, if any.\n", - "secret": true + "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" } }, "type": "object" } }, - "nomad:index/namespace:Namespace": { - "description": "Provisions a namespace within a Nomad cluster.\n\nNomad auto-generates a default namespace called `default`. This namespace\ncannot be removed, so destroying a `nomad.Namespace` resource where\n`name = \"default\"` will cause the namespace to be reset to its default\nconfiguration.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a namespace:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.Namespace(\"dev\", {\n description: \"Shared development environment.\",\n meta: {\n foo: \"bar\",\n owner: \"John Doe\",\n },\n quota: \"dev\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.Namespace(\"dev\",\n description=\"Shared development environment.\",\n meta={\n \"foo\": \"bar\",\n \"owner\": \"John Doe\",\n },\n quota=\"dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.Namespace(\"dev\", new()\n {\n Description = \"Shared development environment.\",\n Meta = \n {\n { \"foo\", \"bar\" },\n { \"owner\", \"John Doe\" },\n },\n Quota = \"dev\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewNamespace(ctx, \"dev\", \u0026nomad.NamespaceArgs{\n\t\t\tDescription: pulumi.String(\"Shared development environment.\"),\n\t\t\tMeta: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t\t\"owner\": pulumi.String(\"John Doe\"),\n\t\t\t},\n\t\t\tQuota: pulumi.String(\"dev\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.Namespace;\nimport com.pulumi.nomad.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new Namespace(\"dev\", NamespaceArgs.builder() \n .description(\"Shared development environment.\")\n .meta(Map.ofEntries(\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"owner\", \"John Doe\")\n ))\n .quota(\"dev\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:Namespace\n properties:\n description: Shared development environment.\n meta:\n foo: bar\n owner: John Doe\n quota: dev\n```\n\nRegistering a namespace with a quota:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst webTeam = new nomad.QuoteSpecification(\"webTeam\", {\n description: \"web team quota\",\n limits: [{\n region: \"global\",\n regionLimit: {\n cpu: 1000,\n memoryMb: 256,\n },\n }],\n});\nconst web = new nomad.Namespace(\"web\", {\n description: \"Web team production environment.\",\n quota: webTeam.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nweb_team = nomad.QuoteSpecification(\"webTeam\",\n description=\"web team quota\",\n limits=[nomad.QuoteSpecificationLimitArgs(\n region=\"global\",\n region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(\n cpu=1000,\n memory_mb=256,\n ),\n )])\nweb = nomad.Namespace(\"web\",\n description=\"Web team production environment.\",\n quota=web_team.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var webTeam = new Nomad.QuoteSpecification(\"webTeam\", new()\n {\n Description = \"web team quota\",\n Limits = new[]\n {\n new Nomad.Inputs.QuoteSpecificationLimitArgs\n {\n Region = \"global\",\n RegionLimit = new Nomad.Inputs.QuoteSpecificationLimitRegionLimitArgs\n {\n Cpu = 1000,\n MemoryMb = 256,\n },\n },\n },\n });\n\n var web = new Nomad.Namespace(\"web\", new()\n {\n Description = \"Web team production environment.\",\n Quota = webTeam.Name,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\twebTeam, err := nomad.NewQuoteSpecification(ctx, \"webTeam\", \u0026nomad.QuoteSpecificationArgs{\n\t\t\tDescription: pulumi.String(\"web team quota\"),\n\t\t\tLimits: nomad.QuoteSpecificationLimitArray{\n\t\t\t\t\u0026nomad.QuoteSpecificationLimitArgs{\n\t\t\t\t\tRegion: pulumi.String(\"global\"),\n\t\t\t\t\tRegionLimit: \u0026nomad.QuoteSpecificationLimitRegionLimitArgs{\n\t\t\t\t\t\tCpu: pulumi.Int(1000),\n\t\t\t\t\t\tMemoryMb: pulumi.Int(256),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewNamespace(ctx, \"web\", \u0026nomad.NamespaceArgs{\n\t\t\tDescription: pulumi.String(\"Web team production environment.\"),\n\t\t\tQuota: webTeam.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.QuoteSpecification;\nimport com.pulumi.nomad.QuoteSpecificationArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitRegionLimitArgs;\nimport com.pulumi.nomad.Namespace;\nimport com.pulumi.nomad.NamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var webTeam = new QuoteSpecification(\"webTeam\", QuoteSpecificationArgs.builder() \n .description(\"web team quota\")\n .limits(QuoteSpecificationLimitArgs.builder()\n .region(\"global\")\n .regionLimit(QuoteSpecificationLimitRegionLimitArgs.builder()\n .cpu(1000)\n .memoryMb(256)\n .build())\n .build())\n .build());\n\n var web = new Namespace(\"web\", NamespaceArgs.builder() \n .description(\"Web team production environment.\")\n .quota(webTeam.name())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n webTeam:\n type: nomad:QuoteSpecification\n properties:\n description: web team quota\n limits:\n - region: global\n regionLimit:\n cpu: 1000\n memoryMb: 256\n web:\n type: nomad:Namespace\n properties:\n description: Web team production environment.\n quota: ${webTeam.name}\n```\n{{% /example %}}\n{{% /examples %}}", + "nomad:index/nodePool:NodePool": { + "description": "Provisions a node pool within a Nomad cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a node pool:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = new nomad.NodePool(\"dev\", {\n description: \"Nodes for the development environment.\",\n meta: {\n department: \"Engineering\",\n env: \"dev\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.NodePool(\"dev\",\n description=\"Nodes for the development environment.\",\n meta={\n \"department\": \"Engineering\",\n \"env\": \"dev\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = new Nomad.NodePool(\"dev\", new()\n {\n Description = \"Nodes for the development environment.\",\n Meta = \n {\n { \"department\", \"Engineering\" },\n { \"env\", \"dev\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewNodePool(ctx, \"dev\", \u0026nomad.NodePoolArgs{\n\t\t\tDescription: pulumi.String(\"Nodes for the development environment.\"),\n\t\t\tMeta: pulumi.StringMap{\n\t\t\t\t\"department\": pulumi.String(\"Engineering\"),\n\t\t\t\t\"env\": pulumi.String(\"dev\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NodePool;\nimport com.pulumi.nomad.NodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var dev = new NodePool(\"dev\", NodePoolArgs.builder() \n .description(\"Nodes for the development environment.\")\n .meta(Map.ofEntries(\n Map.entry(\"department\", \"Engineering\"),\n Map.entry(\"env\", \"dev\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n dev:\n type: nomad:NodePool\n properties:\n description: Nodes for the development environment.\n meta:\n department: Engineering\n env: dev\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { - "capabilities": { - "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", - "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't \nbe repeated. See below for the structure of this block.\n" - }, "description": { "type": "string", - "description": "`(string: \"\")` - A description of the namespace.\n" + "description": "`(string)` - The description of the node pool.\n" }, "meta": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" + "description": "`(map[string]string)` - Arbitrary KV metadata associated with the\nnode pool.\n" }, "name": { "type": "string", - "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n" + "description": "`(string)` - The name of the node pool.\n" }, - "quota": { - "type": "string", - "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" + "schedulerConfig": { + "$ref": "#/types/nomad:index/NodePoolSchedulerConfig:NodePoolSchedulerConfig", + "description": "`(block)` - Scheduler configuration for the node pool.\n" } }, "required": [ "name" ], "inputProperties": { - "capabilities": { - "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", - "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't \nbe repeated. See below for the structure of this block.\n" - }, "description": { "type": "string", - "description": "`(string: \"\")` - A description of the namespace.\n" + "description": "`(string)` - The description of the node pool.\n" }, "meta": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" + "description": "`(map[string]string)` - Arbitrary KV metadata associated with the\nnode pool.\n" }, "name": { "type": "string", - "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n", + "description": "`(string)` - The name of the node pool.\n", "willReplaceOnChanges": true }, - "quota": { - "type": "string", - "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" + "schedulerConfig": { + "$ref": "#/types/nomad:index/NodePoolSchedulerConfig:NodePoolSchedulerConfig", + "description": "`(block)` - Scheduler configuration for the node pool.\n" } }, "stateInputs": { - "description": "Input properties used for looking up and filtering Namespace resources.\n", + "description": "Input properties used for looking up and filtering NodePool resources.\n", "properties": { - "capabilities": { - "$ref": "#/types/nomad:index/NamespaceCapabilities:NamespaceCapabilities", - "description": "`(block: \u003coptional\u003e)` - A block of capabilities for the namespace. Can't \nbe repeated. See below for the structure of this block.\n" - }, "description": { "type": "string", - "description": "`(string: \"\")` - A description of the namespace.\n" + "description": "`(string)` - The description of the node pool.\n" }, "meta": { "type": "object", "additionalProperties": { "type": "string" }, - "description": "`(map[string]string: \u003coptional\u003e)` - Specifies arbitrary KV metadata to associate with the namespace.\n" + "description": "`(map[string]string)` - Arbitrary KV metadata associated with the\nnode pool.\n" }, "name": { "type": "string", - "description": "`(string: \u003crequired\u003e)` - A unique name for the namespace.\n", + "description": "`(string)` - The name of the node pool.\n", "willReplaceOnChanges": true }, - "quota": { - "type": "string", - "description": "`(string: \"\")` - A resource quota to attach to the namespace.\n" + "schedulerConfig": { + "$ref": "#/types/nomad:index/NodePoolSchedulerConfig:NodePoolSchedulerConfig", + "description": "`(block)` - Scheduler configuration for the node pool.\n" } }, "type": "object" } }, "nomad:index/quoteSpecification:QuoteSpecification": { - "description": "Manages a quota specification in a Nomad cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a quota specification:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst prodApi = new nomad.QuoteSpecification(\"prodApi\", {\n description: \"Production instances of backend API servers\",\n limits: [{\n region: \"global\",\n regionLimit: {\n cpu: 2400,\n memoryMb: 1200,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nprod_api = nomad.QuoteSpecification(\"prodApi\",\n description=\"Production instances of backend API servers\",\n limits=[nomad.QuoteSpecificationLimitArgs(\n region=\"global\",\n region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(\n cpu=2400,\n memory_mb=1200,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prodApi = new Nomad.QuoteSpecification(\"prodApi\", new()\n {\n Description = \"Production instances of backend API servers\",\n Limits = new[]\n {\n new Nomad.Inputs.QuoteSpecificationLimitArgs\n {\n Region = \"global\",\n RegionLimit = new Nomad.Inputs.QuoteSpecificationLimitRegionLimitArgs\n {\n Cpu = 2400,\n MemoryMb = 1200,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewQuoteSpecification(ctx, \"prodApi\", \u0026nomad.QuoteSpecificationArgs{\n\t\t\tDescription: pulumi.String(\"Production instances of backend API servers\"),\n\t\t\tLimits: nomad.QuoteSpecificationLimitArray{\n\t\t\t\t\u0026nomad.QuoteSpecificationLimitArgs{\n\t\t\t\t\tRegion: pulumi.String(\"global\"),\n\t\t\t\t\tRegionLimit: \u0026nomad.QuoteSpecificationLimitRegionLimitArgs{\n\t\t\t\t\t\tCpu: pulumi.Int(2400),\n\t\t\t\t\t\tMemoryMb: pulumi.Int(1200),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.QuoteSpecification;\nimport com.pulumi.nomad.QuoteSpecificationArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitRegionLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var prodApi = new QuoteSpecification(\"prodApi\", QuoteSpecificationArgs.builder() \n .description(\"Production instances of backend API servers\")\n .limits(QuoteSpecificationLimitArgs.builder()\n .region(\"global\")\n .regionLimit(QuoteSpecificationLimitRegionLimitArgs.builder()\n .cpu(2400)\n .memoryMb(1200)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prodApi:\n type: nomad:QuoteSpecification\n properties:\n description: Production instances of backend API servers\n limits:\n - region: global\n regionLimit:\n cpu: 2400\n memoryMb: 1200\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Manages a quota specification in a Nomad cluster.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a quota specification:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst prodApi = new nomad.QuoteSpecification(\"prodApi\", {\n description: \"Production instances of backend API servers\",\n limits: [{\n region: \"global\",\n regionLimit: {\n cpu: 2400,\n memoryMb: 1200,\n },\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nprod_api = nomad.QuoteSpecification(\"prodApi\",\n description=\"Production instances of backend API servers\",\n limits=[nomad.QuoteSpecificationLimitArgs(\n region=\"global\",\n region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(\n cpu=2400,\n memory_mb=1200,\n ),\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prodApi = new Nomad.QuoteSpecification(\"prodApi\", new()\n {\n Description = \"Production instances of backend API servers\",\n Limits = new[]\n {\n new Nomad.Inputs.QuoteSpecificationLimitArgs\n {\n Region = \"global\",\n RegionLimit = new Nomad.Inputs.QuoteSpecificationLimitRegionLimitArgs\n {\n Cpu = 2400,\n MemoryMb = 1200,\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewQuoteSpecification(ctx, \"prodApi\", \u0026nomad.QuoteSpecificationArgs{\n\t\t\tDescription: pulumi.String(\"Production instances of backend API servers\"),\n\t\t\tLimits: nomad.QuoteSpecificationLimitArray{\n\t\t\t\t\u0026nomad.QuoteSpecificationLimitArgs{\n\t\t\t\t\tRegion: pulumi.String(\"global\"),\n\t\t\t\t\tRegionLimit: \u0026nomad.QuoteSpecificationLimitRegionLimitArgs{\n\t\t\t\t\t\tCpu: pulumi.Int(2400),\n\t\t\t\t\t\tMemoryMb: pulumi.Int(1200),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.QuoteSpecification;\nimport com.pulumi.nomad.QuoteSpecificationArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitArgs;\nimport com.pulumi.nomad.inputs.QuoteSpecificationLimitRegionLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var prodApi = new QuoteSpecification(\"prodApi\", QuoteSpecificationArgs.builder() \n .description(\"Production instances of backend API servers\")\n .limits(QuoteSpecificationLimitArgs.builder()\n .region(\"global\")\n .regionLimit(QuoteSpecificationLimitRegionLimitArgs.builder()\n .cpu(2400)\n .memoryMb(1200)\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n prodApi:\n type: nomad:QuoteSpecification\n properties:\n description: Production instances of backend API servers\n limits:\n - region: global\n regionLimit:\n cpu: 2400\n memoryMb: 1200\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -2458,7 +3730,7 @@ } }, "nomad:index/schedulerConfig:SchedulerConfig": { - "description": "Manages scheduler configuration of the Nomad cluster.\n\n\u003e **Warning:** destroying this resource will not have any effect in the\ncluster configuration, since there's no clear definition of what a destroy\naction should do. The cluster will be left as-is and only the state reference\nwill be removed.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nSet cluster scheduler configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst config = new nomad.SchedulerConfig(\"config\", {\n memoryOversubscriptionEnabled: true,\n preemptionConfig: {\n batch_scheduler_enabled: true,\n service_scheduler_enabled: true,\n sysbatch_scheduler_enabled: true,\n system_scheduler_enabled: true,\n },\n schedulerAlgorithm: \"spread\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nconfig = nomad.SchedulerConfig(\"config\",\n memory_oversubscription_enabled=True,\n preemption_config={\n \"batch_scheduler_enabled\": True,\n \"service_scheduler_enabled\": True,\n \"sysbatch_scheduler_enabled\": True,\n \"system_scheduler_enabled\": True,\n },\n scheduler_algorithm=\"spread\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Nomad.SchedulerConfig(\"config\", new()\n {\n MemoryOversubscriptionEnabled = true,\n PreemptionConfig = \n {\n { \"batch_scheduler_enabled\", true },\n { \"service_scheduler_enabled\", true },\n { \"sysbatch_scheduler_enabled\", true },\n { \"system_scheduler_enabled\", true },\n },\n SchedulerAlgorithm = \"spread\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewSchedulerConfig(ctx, \"config\", \u0026nomad.SchedulerConfigArgs{\n\t\t\tMemoryOversubscriptionEnabled: pulumi.Bool(true),\n\t\t\tPreemptionConfig: pulumi.BoolMap{\n\t\t\t\t\"batch_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"service_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"sysbatch_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"system_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tSchedulerAlgorithm: pulumi.String(\"spread\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.SchedulerConfig;\nimport com.pulumi.nomad.SchedulerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var config = new SchedulerConfig(\"config\", SchedulerConfigArgs.builder() \n .memoryOversubscriptionEnabled(true)\n .preemptionConfig(Map.ofEntries(\n Map.entry(\"batch_scheduler_enabled\", true),\n Map.entry(\"service_scheduler_enabled\", true),\n Map.entry(\"sysbatch_scheduler_enabled\", true),\n Map.entry(\"system_scheduler_enabled\", true)\n ))\n .schedulerAlgorithm(\"spread\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n config:\n type: nomad:SchedulerConfig\n properties:\n memoryOversubscriptionEnabled: true\n preemptionConfig:\n batch_scheduler_enabled: true\n service_scheduler_enabled: true\n sysbatch_scheduler_enabled: true\n system_scheduler_enabled: true\n schedulerAlgorithm: spread\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Manages scheduler configuration of the Nomad cluster.\n\n\u003e **Warning:** destroying this resource will not have any effect in the\ncluster configuration, since there's no clear definition of what a destroy\naction should do. The cluster will be left as-is and only the state reference\nwill be removed.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nSet cluster scheduler configuration:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst config = new nomad.SchedulerConfig(\"config\", {\n memoryOversubscriptionEnabled: true,\n preemptionConfig: {\n batch_scheduler_enabled: true,\n service_scheduler_enabled: true,\n sysbatch_scheduler_enabled: true,\n system_scheduler_enabled: true,\n },\n schedulerAlgorithm: \"spread\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nconfig = nomad.SchedulerConfig(\"config\",\n memory_oversubscription_enabled=True,\n preemption_config={\n \"batch_scheduler_enabled\": True,\n \"service_scheduler_enabled\": True,\n \"sysbatch_scheduler_enabled\": True,\n \"system_scheduler_enabled\": True,\n },\n scheduler_algorithm=\"spread\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var config = new Nomad.SchedulerConfig(\"config\", new()\n {\n MemoryOversubscriptionEnabled = true,\n PreemptionConfig = \n {\n { \"batch_scheduler_enabled\", true },\n { \"service_scheduler_enabled\", true },\n { \"sysbatch_scheduler_enabled\", true },\n { \"system_scheduler_enabled\", true },\n },\n SchedulerAlgorithm = \"spread\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewSchedulerConfig(ctx, \"config\", \u0026nomad.SchedulerConfigArgs{\n\t\t\tMemoryOversubscriptionEnabled: pulumi.Bool(true),\n\t\t\tPreemptionConfig: pulumi.BoolMap{\n\t\t\t\t\"batch_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"service_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"sysbatch_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t\t\"system_scheduler_enabled\": pulumi.Bool(true),\n\t\t\t},\n\t\t\tSchedulerAlgorithm: pulumi.String(\"spread\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.SchedulerConfig;\nimport com.pulumi.nomad.SchedulerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var config = new SchedulerConfig(\"config\", SchedulerConfigArgs.builder() \n .memoryOversubscriptionEnabled(true)\n .preemptionConfig(Map.ofEntries(\n Map.entry(\"batch_scheduler_enabled\", true),\n Map.entry(\"service_scheduler_enabled\", true),\n Map.entry(\"sysbatch_scheduler_enabled\", true),\n Map.entry(\"system_scheduler_enabled\", true)\n ))\n .schedulerAlgorithm(\"spread\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n config:\n type: nomad:SchedulerConfig\n properties:\n memoryOversubscriptionEnabled: true\n preemptionConfig:\n batch_scheduler_enabled: true\n service_scheduler_enabled: true\n sysbatch_scheduler_enabled: true\n system_scheduler_enabled: true\n schedulerAlgorithm: spread\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "memoryOversubscriptionEnabled": { "type": "boolean", @@ -2516,7 +3788,7 @@ } }, "nomad:index/sentinelPolicy:SentinelPolicy": { - "description": "Manages a Sentinel policy registered in Nomad.\n\n\u003e **Enterprise Only!** This API endpoint and functionality only exists in\n Nomad Enterprise. This is not present in the open source version of Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst exec_only = new nomad.SentinelPolicy(\"exec-only\", {\n description: \"Only allow jobs that are based on an exec driver.\",\n enforcementLevel: \"soft-mandatory\",\n policy: `main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n`,\n scope: \"submit-job\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexec_only = nomad.SentinelPolicy(\"exec-only\",\n description=\"Only allow jobs that are based on an exec driver.\",\n enforcement_level=\"soft-mandatory\",\n policy=\"\"\"main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n\"\"\",\n scope=\"submit-job\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exec_only = new Nomad.SentinelPolicy(\"exec-only\", new()\n {\n Description = \"Only allow jobs that are based on an exec driver.\",\n EnforcementLevel = \"soft-mandatory\",\n Policy = @\"main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"\"exec\"\"\n }\n }\n}\n\n\",\n Scope = \"submit-job\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewSentinelPolicy(ctx, \"exec-only\", \u0026nomad.SentinelPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Only allow jobs that are based on an exec driver.\"),\n\t\t\tEnforcementLevel: pulumi.String(\"soft-mandatory\"),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(`main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n`)),\n\t\t\tScope: pulumi.String(\"submit-job\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.SentinelPolicy;\nimport com.pulumi.nomad.SentinelPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exec_only = new SentinelPolicy(\"exec-only\", SentinelPolicyArgs.builder() \n .description(\"Only allow jobs that are based on an exec driver.\")\n .enforcementLevel(\"soft-mandatory\")\n .policy(\"\"\"\nmain = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n \"\"\")\n .scope(\"submit-job\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exec-only:\n type: nomad:SentinelPolicy\n properties:\n description: Only allow jobs that are based on an exec driver.\n # allow administrators to override\n enforcementLevel: soft-mandatory\n policy: |+\n main = rule { all_drivers_exec }\n\n # all_drivers_exec checks that all the drivers in use are exec\n all_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n }\n\n scope: submit-job\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Manages a Sentinel policy registered in Nomad.\n\n\u003e **Enterprise Only!** This API endpoint and functionality only exists in\n Nomad Enterprise. This is not present in the open source version of Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst exec_only = new nomad.SentinelPolicy(\"exec-only\", {\n description: \"Only allow jobs that are based on an exec driver.\",\n enforcementLevel: \"soft-mandatory\",\n policy: `main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n`,\n scope: \"submit-job\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexec_only = nomad.SentinelPolicy(\"exec-only\",\n description=\"Only allow jobs that are based on an exec driver.\",\n enforcement_level=\"soft-mandatory\",\n policy=\"\"\"main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n\"\"\",\n scope=\"submit-job\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exec_only = new Nomad.SentinelPolicy(\"exec-only\", new()\n {\n Description = \"Only allow jobs that are based on an exec driver.\",\n EnforcementLevel = \"soft-mandatory\",\n Policy = @\"main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"\"exec\"\"\n }\n }\n}\n\n\",\n Scope = \"submit-job\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewSentinelPolicy(ctx, \"exec-only\", \u0026nomad.SentinelPolicyArgs{\n\t\t\tDescription: pulumi.String(\"Only allow jobs that are based on an exec driver.\"),\n\t\t\tEnforcementLevel: pulumi.String(\"soft-mandatory\"),\n\t\t\tPolicy: pulumi.String(fmt.Sprintf(`main = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n`)),\n\t\t\tScope: pulumi.String(\"submit-job\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.SentinelPolicy;\nimport com.pulumi.nomad.SentinelPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exec_only = new SentinelPolicy(\"exec-only\", SentinelPolicyArgs.builder() \n .description(\"Only allow jobs that are based on an exec driver.\")\n .enforcementLevel(\"soft-mandatory\")\n .policy(\"\"\"\nmain = rule { all_drivers_exec }\n\n# all_drivers_exec checks that all the drivers in use are exec\nall_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n}\n\n \"\"\")\n .scope(\"submit-job\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exec-only:\n type: nomad:SentinelPolicy\n properties:\n description: Only allow jobs that are based on an exec driver.\n # allow administrators to override\n enforcementLevel: soft-mandatory\n policy: |+\n main = rule { all_drivers_exec }\n\n # all_drivers_exec checks that all the drivers in use are exec\n all_drivers_exec = rule {\n all job.task_groups as tg {\n all tg.tasks as task {\n task.driver is \"exec\"\n }\n }\n }\n\n scope: submit-job\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "description": { "type": "string", @@ -2601,8 +3873,81 @@ "type": "object" } }, + "nomad:index/variable:Variable": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCreating a variable in the default namespace:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = new nomad.Variable(\"example\", {\n items: {\n example_key: \"example_value\",\n },\n path: \"some/path/of/your/choosing\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.Variable(\"example\",\n items={\n \"example_key\": \"example_value\",\n },\n path=\"some/path/of/your/choosing\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Nomad.Variable(\"example\", new()\n {\n Items = \n {\n { \"example_key\", \"example_value\" },\n },\n Path = \"some/path/of/your/choosing\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewVariable(ctx, \"example\", \u0026nomad.VariableArgs{\n\t\t\tItems: pulumi.AnyMap{\n\t\t\t\t\"example_key\": pulumi.Any(\"example_value\"),\n\t\t\t},\n\t\t\tPath: pulumi.String(\"some/path/of/your/choosing\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.Variable;\nimport com.pulumi.nomad.VariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Variable(\"example\", VariableArgs.builder() \n .items(Map.of(\"example_key\", \"example_value\"))\n .path(\"some/path/of/your/choosing\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: nomad:Variable\n properties:\n items:\n example_key: example_value\n path: some/path/of/your/choosing\n```\n\nCreating a variable in a custom namespace:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst exampleNamespace = new nomad.Namespace(\"exampleNamespace\", {description: \"Example namespace.\"});\nconst exampleVariable = new nomad.Variable(\"exampleVariable\", {\n path: \"some/path/of/your/choosing\",\n namespace: exampleNamespace.name,\n items: {\n example_key: \"example_value\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample_namespace = nomad.Namespace(\"exampleNamespace\", description=\"Example namespace.\")\nexample_variable = nomad.Variable(\"exampleVariable\",\n path=\"some/path/of/your/choosing\",\n namespace=example_namespace.name,\n items={\n \"example_key\": \"example_value\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var exampleNamespace = new Nomad.Namespace(\"exampleNamespace\", new()\n {\n Description = \"Example namespace.\",\n });\n\n var exampleVariable = new Nomad.Variable(\"exampleVariable\", new()\n {\n Path = \"some/path/of/your/choosing\",\n Namespace = exampleNamespace.Name,\n Items = \n {\n { \"example_key\", \"example_value\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleNamespace, err := nomad.NewNamespace(ctx, \"exampleNamespace\", \u0026nomad.NamespaceArgs{\n\t\t\tDescription: pulumi.String(\"Example namespace.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewVariable(ctx, \"exampleVariable\", \u0026nomad.VariableArgs{\n\t\t\tPath: pulumi.String(\"some/path/of/your/choosing\"),\n\t\t\tNamespace: exampleNamespace.Name,\n\t\t\tItems: pulumi.AnyMap{\n\t\t\t\t\"example_key\": pulumi.Any(\"example_value\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.Namespace;\nimport com.pulumi.nomad.NamespaceArgs;\nimport com.pulumi.nomad.Variable;\nimport com.pulumi.nomad.VariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var exampleNamespace = new Namespace(\"exampleNamespace\", NamespaceArgs.builder() \n .description(\"Example namespace.\")\n .build());\n\n var exampleVariable = new Variable(\"exampleVariable\", VariableArgs.builder() \n .path(\"some/path/of/your/choosing\")\n .namespace(exampleNamespace.name())\n .items(Map.of(\"example_key\", \"example_value\"))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n exampleNamespace:\n type: nomad:Namespace\n properties:\n description: Example namespace.\n exampleVariable:\n type: nomad:Variable\n properties:\n path: some/path/of/your/choosing\n namespace: ${exampleNamespace.name}\n items:\n example_key: example_value\n```\n{{% /example %}}\n{{% /examples %}}", + "properties": { + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "`(map[string]string: \u003crequired\u003e)` - An arbitrary map of items to create in the variable.\n", + "secret": true + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namepsace to create the variable in.\n" + }, + "path": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - A unique path to create the variable at.\n" + } + }, + "required": [ + "items", + "path" + ], + "inputProperties": { + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "`(map[string]string: \u003crequired\u003e)` - An arbitrary map of items to create in the variable.\n", + "secret": true + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namepsace to create the variable in.\n", + "willReplaceOnChanges": true + }, + "path": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - A unique path to create the variable at.\n", + "willReplaceOnChanges": true + } + }, + "requiredInputs": [ + "items", + "path" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Variable resources.\n", + "properties": { + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "`(map[string]string: \u003crequired\u003e)` - An arbitrary map of items to create in the variable.\n", + "secret": true + }, + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namepsace to create the variable in.\n", + "willReplaceOnChanges": true + }, + "path": { + "type": "string", + "description": "`(string: \u003crequired\u003e)` - A unique path to create the variable at.\n", + "willReplaceOnChanges": true + } + }, + "type": "object" + } + }, "nomad:index/volume:Volume": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.Volume(\"mysqlVolume\", {\n type: \"csi\",\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n externalId: module.hashistack.ebs_test_volume_id,\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.Volume(\"mysqlVolume\",\n type=\"csi\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n external_id=module[\"hashistack\"][\"ebs_test_volume_id\"],\n capabilities=[nomad.VolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.VolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.VolumeTopologyRequestArgs(\n required=nomad.VolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.Volume(\"mysqlVolume\", new()\n {\n Type = \"csi\",\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n ExternalId = module.Hashistack.Ebs_test_volume_id,\n Capabilities = new[]\n {\n new Nomad.Inputs.VolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.VolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.VolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.VolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewVolume(ctx, \"mysqlVolume\", \u0026nomad.VolumeArgs{\n\t\t\tType: pulumi.String(\"csi\"),\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tExternalId: pulumi.Any(module.Hashistack.Ebs_test_volume_id),\n\t\t\tCapabilities: nomad.VolumeCapabilityArray{\n\t\t\t\t\u0026nomad.VolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.VolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.VolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.VolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.VolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.Volume;\nimport com.pulumi.nomad.VolumeArgs;\nimport com.pulumi.nomad.inputs.VolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.VolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new Volume(\"mysqlVolume\", VolumeArgs.builder() \n .type(\"csi\")\n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .externalId(module.hashistack().ebs_test_volume_id())\n .capabilities(VolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(VolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(VolumeTopologyRequestArgs.builder()\n .required(VolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:Volume\n properties:\n type: csi\n pluginId: aws-ebs0\n volumeId: mysql_volume\n externalId: ${module.hashistack.ebs_test_volume_id}\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nRegistering a volume:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\nconst mysqlVolume = new nomad.Volume(\"mysqlVolume\", {\n type: \"csi\",\n pluginId: \"aws-ebs0\",\n volumeId: \"mysql_volume\",\n externalId: module.hashistack.ebs_test_volume_id,\n capabilities: [{\n accessMode: \"single-node-writer\",\n attachmentMode: \"file-system\",\n }],\n mountOptions: {\n fsType: \"ext4\",\n },\n topologyRequest: {\n required: {\n topologies: [\n {\n segments: {\n rack: \"R1\",\n zone: \"us-east-1a\",\n },\n },\n {\n segments: {\n rack: \"R2\",\n },\n },\n ],\n },\n },\n}, {\n dependsOn: [ebs],\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\nmysql_volume = nomad.Volume(\"mysqlVolume\",\n type=\"csi\",\n plugin_id=\"aws-ebs0\",\n volume_id=\"mysql_volume\",\n external_id=module[\"hashistack\"][\"ebs_test_volume_id\"],\n capabilities=[nomad.VolumeCapabilityArgs(\n access_mode=\"single-node-writer\",\n attachment_mode=\"file-system\",\n )],\n mount_options=nomad.VolumeMountOptionsArgs(\n fs_type=\"ext4\",\n ),\n topology_request=nomad.VolumeTopologyRequestArgs(\n required=nomad.VolumeTopologyRequestRequiredArgs(\n topologies=[\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R1\",\n \"zone\": \"us-east-1a\",\n },\n ),\n nomad.VolumeTopologyRequestRequiredTopologyArgs(\n segments={\n \"rack\": \"R2\",\n },\n ),\n ],\n ),\n ),\n opts=pulumi.ResourceOptions(depends_on=[ebs]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n var mysqlVolume = new Nomad.Volume(\"mysqlVolume\", new()\n {\n Type = \"csi\",\n PluginId = \"aws-ebs0\",\n VolumeId = \"mysql_volume\",\n ExternalId = module.Hashistack.Ebs_test_volume_id,\n Capabilities = new[]\n {\n new Nomad.Inputs.VolumeCapabilityArgs\n {\n AccessMode = \"single-node-writer\",\n AttachmentMode = \"file-system\",\n },\n },\n MountOptions = new Nomad.Inputs.VolumeMountOptionsArgs\n {\n FsType = \"ext4\",\n },\n TopologyRequest = new Nomad.Inputs.VolumeTopologyRequestArgs\n {\n Required = new Nomad.Inputs.VolumeTopologyRequestRequiredArgs\n {\n Topologies = new[]\n {\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R1\" },\n { \"zone\", \"us-east-1a\" },\n },\n },\n new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs\n {\n Segments = \n {\n { \"rack\", \"R2\" },\n },\n },\n },\n },\n },\n }, new CustomResourceOptions\n {\n DependsOn = new[]\n {\n ebs,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tebs, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = nomad.NewVolume(ctx, \"mysqlVolume\", \u0026nomad.VolumeArgs{\n\t\t\tType: pulumi.String(\"csi\"),\n\t\t\tPluginId: pulumi.String(\"aws-ebs0\"),\n\t\t\tVolumeId: pulumi.String(\"mysql_volume\"),\n\t\t\tExternalId: pulumi.Any(module.Hashistack.Ebs_test_volume_id),\n\t\t\tCapabilities: nomad.VolumeCapabilityArray{\n\t\t\t\t\u0026nomad.VolumeCapabilityArgs{\n\t\t\t\t\tAccessMode: pulumi.String(\"single-node-writer\"),\n\t\t\t\t\tAttachmentMode: pulumi.String(\"file-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMountOptions: \u0026nomad.VolumeMountOptionsArgs{\n\t\t\t\tFsType: pulumi.String(\"ext4\"),\n\t\t\t},\n\t\t\tTopologyRequest: \u0026nomad.VolumeTopologyRequestArgs{\n\t\t\t\tRequired: \u0026nomad.VolumeTopologyRequestRequiredArgs{\n\t\t\t\t\tTopologies: nomad.VolumeTopologyRequestRequiredTopologyArray{\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R1\"),\n\t\t\t\t\t\t\t\t\"zone\": pulumi.String(\"us-east-1a\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026nomad.VolumeTopologyRequestRequiredTopologyArgs{\n\t\t\t\t\t\t\tSegments: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"rack\": pulumi.String(\"R2\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tebs,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport com.pulumi.nomad.Volume;\nimport com.pulumi.nomad.VolumeArgs;\nimport com.pulumi.nomad.inputs.VolumeCapabilityArgs;\nimport com.pulumi.nomad.inputs.VolumeMountOptionsArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestArgs;\nimport com.pulumi.nomad.inputs.VolumeTopologyRequestRequiredArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n var mysqlVolume = new Volume(\"mysqlVolume\", VolumeArgs.builder() \n .type(\"csi\")\n .pluginId(\"aws-ebs0\")\n .volumeId(\"mysql_volume\")\n .externalId(module.hashistack().ebs_test_volume_id())\n .capabilities(VolumeCapabilityArgs.builder()\n .accessMode(\"single-node-writer\")\n .attachmentMode(\"file-system\")\n .build())\n .mountOptions(VolumeMountOptionsArgs.builder()\n .fsType(\"ext4\")\n .build())\n .topologyRequest(VolumeTopologyRequestArgs.builder()\n .required(VolumeTopologyRequestRequiredArgs.builder()\n .topologies( \n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.ofEntries(\n Map.entry(\"rack\", \"R1\"),\n Map.entry(\"zone\", \"us-east-1a\")\n ))\n .build(),\n VolumeTopologyRequestRequiredTopologyArgs.builder()\n .segments(Map.of(\"rack\", \"R2\"))\n .build())\n .build())\n .build())\n .build(), CustomResourceOptions.builder()\n .dependsOn(ebs.applyValue(getPluginResult -\u003e getPluginResult))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n mysqlVolume:\n type: nomad:Volume\n properties:\n type: csi\n pluginId: aws-ebs0\n volumeId: mysql_volume\n externalId: ${module.hashistack.ebs_test_volume_id}\n capabilities:\n - accessMode: single-node-writer\n attachmentMode: file-system\n mountOptions:\n fsType: ext4\n topologyRequest:\n required:\n topologies:\n - segments:\n rack: R1\n zone: us-east-1a\n - segments:\n rack: R2\n options:\n dependson:\n - ${ebs}\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n{{% /example %}}\n{{% /examples %}}", "properties": { "accessMode": { "type": "string", @@ -2803,7 +4148,8 @@ }, "topologyRequest": { "$ref": "#/types/nomad:index/VolumeTopologyRequest:VolumeTopologyRequest", - "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true }, "type": { "type": "string", @@ -2931,7 +4277,8 @@ }, "topologyRequest": { "$ref": "#/types/nomad:index/VolumeTopologyRequest:VolumeTopologyRequest", - "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n" + "description": "`(``TopologyRequest``: \u003coptional\u003e)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from.\n", + "willReplaceOnChanges": true }, "type": { "type": "string", @@ -2950,7 +4297,7 @@ }, "functions": { "nomad:index/getAclPolicies:getAclPolicies": { - "description": "Retrieve a list of ACL Policies.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclPolicies({\n prefix: \"prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_policies(prefix=\"prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclPolicies.Invoke(new()\n {\n Prefix = \"prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclPolicies(ctx, \u0026nomad.GetAclPoliciesArgs{\n\t\t\tPrefix: pulumi.StringRef(\"prod\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclPolicies(GetAclPoliciesArgs.builder()\n .prefix(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclPolicies\n Arguments:\n prefix: prod\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of ACL Policies.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclPolicies({\n prefix: \"prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_policies(prefix=\"prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclPolicies.Invoke(new()\n {\n Prefix = \"prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclPolicies(ctx, \u0026nomad.GetAclPoliciesArgs{\n\t\t\tPrefix: pulumi.StringRef(\"prod\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclPolicies(GetAclPoliciesArgs.builder()\n .prefix(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclPolicies\n Arguments:\n prefix: prod\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclPolicies.\n", "properties": { @@ -2987,7 +4334,7 @@ } }, "nomad:index/getAclPolicy:getAclPolicy": { - "description": "Retrieve information on an ACL Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myPolicy = nomad.getAclPolicy({\n name: \"my-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_policy = nomad.get_acl_policy(name=\"my-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myPolicy = Nomad.GetAclPolicy.Invoke(new()\n {\n Name = \"my-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclPolicy(ctx, \u0026nomad.LookupAclPolicyArgs{\n\t\t\tName: \"my-policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myPolicy = NomadFunctions.getAclPolicy(GetAclPolicyArgs.builder()\n .name(\"my-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myPolicy:\n fn::invoke:\n Function: nomad:getAclPolicy\n Arguments:\n name: my-policy\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve information on an ACL Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myPolicy = nomad.getAclPolicy({\n name: \"my-policy\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_policy = nomad.get_acl_policy(name=\"my-policy\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myPolicy = Nomad.GetAclPolicy.Invoke(new()\n {\n Name = \"my-policy\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclPolicy(ctx, \u0026nomad.LookupAclPolicyArgs{\n\t\t\tName: \"my-policy\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myPolicy = NomadFunctions.getAclPolicy(GetAclPolicyArgs.builder()\n .name(\"my-policy\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myPolicy:\n fn::invoke:\n Function: nomad:getAclPolicy\n Arguments:\n name: my-policy\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclPolicy.\n", "properties": { @@ -3031,7 +4378,7 @@ } }, "nomad:index/getAclRole:getAclRole": { - "description": "Get information on an ACL Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclRole({\n id: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_role(id=\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclRole.Invoke(new()\n {\n Id = \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclRole(ctx, \u0026nomad.LookupAclRoleArgs{\n\t\t\tId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclRole(GetAclRoleArgs.builder()\n .id(\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclRole\n Arguments:\n id: aa534e09-6a07-0a45-2295-a7f77063d429\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Get information on an ACL Role.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclRole({\n id: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_role(id=\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclRole.Invoke(new()\n {\n Id = \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclRole(ctx, \u0026nomad.LookupAclRoleArgs{\n\t\t\tId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclRole(GetAclRoleArgs.builder()\n .id(\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclRole\n Arguments:\n id: aa534e09-6a07-0a45-2295-a7f77063d429\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclRole.\n", "properties": { @@ -3078,7 +4425,7 @@ } }, "nomad:index/getAclRoles:getAclRoles": { - "description": "Retrieve a list of ACL Roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclRoles({\n prefix: \"a242\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_roles(prefix=\"a242\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclRoles.Invoke(new()\n {\n Prefix = \"a242\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclRoles(ctx, \u0026nomad.GetAclRolesArgs{\n\t\t\tPrefix: pulumi.StringRef(\"a242\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclRoles(GetAclRolesArgs.builder()\n .prefix(\"a242\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclRoles\n Arguments:\n prefix: a242\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of ACL Roles.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAclRoles({\n prefix: \"a242\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_acl_roles(prefix=\"a242\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAclRoles.Invoke(new()\n {\n Prefix = \"a242\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclRoles(ctx, \u0026nomad.GetAclRolesArgs{\n\t\t\tPrefix: pulumi.StringRef(\"a242\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAclRoles(GetAclRolesArgs.builder()\n .prefix(\"a242\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAclRoles\n Arguments:\n prefix: a242\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclRoles.\n", "properties": { @@ -3114,7 +4461,7 @@ } }, "nomad:index/getAclToken:getAclToken": { - "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myToken = nomad.getAclToken({\n accessorId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_token = nomad.get_acl_token(accessor_id=\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myToken = Nomad.GetAclToken.Invoke(new()\n {\n AccessorId = \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclToken(ctx, \u0026nomad.LookupAclTokenArgs{\n\t\t\tAccessorId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myToken = NomadFunctions.getAclToken(GetAclTokenArgs.builder()\n .accessorId(\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myToken:\n fn::invoke:\n Function: nomad:getAclToken\n Arguments:\n accessorId: aa534e09-6a07-0a45-2295-a7f77063d429\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myToken = nomad.getAclToken({\n accessorId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_token = nomad.get_acl_token(accessor_id=\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myToken = Nomad.GetAclToken.Invoke(new()\n {\n AccessorId = \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupAclToken(ctx, \u0026nomad.LookupAclTokenArgs{\n\t\t\tAccessorId: \"aa534e09-6a07-0a45-2295-a7f77063d429\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myToken = NomadFunctions.getAclToken(GetAclTokenArgs.builder()\n .accessorId(\"aa534e09-6a07-0a45-2295-a7f77063d429\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myToken:\n fn::invoke:\n Function: nomad:getAclToken\n Arguments:\n accessorId: aa534e09-6a07-0a45-2295-a7f77063d429\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclToken.\n", "properties": { @@ -3200,7 +4547,7 @@ } }, "nomad:index/getAclTokens:getAclTokens": { - "description": "Get a list of ACL tokens.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst tokens = nomad.getAclTokens({\n prefix: \"a242\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ntokens = nomad.get_acl_tokens(prefix=\"a242\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tokens = Nomad.GetAclTokens.Invoke(new()\n {\n Prefix = \"a242\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclTokens(ctx, \u0026nomad.GetAclTokensArgs{\n\t\t\tPrefix: pulumi.StringRef(\"a242\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclTokensArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tokens = NomadFunctions.getAclTokens(GetAclTokensArgs.builder()\n .prefix(\"a242\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tokens:\n fn::invoke:\n Function: nomad:getAclTokens\n Arguments:\n prefix: a242\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Get a list of ACL tokens.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst tokens = nomad.getAclTokens({\n prefix: \"a242\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ntokens = nomad.get_acl_tokens(prefix=\"a242\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var tokens = Nomad.GetAclTokens.Invoke(new()\n {\n Prefix = \"a242\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAclTokens(ctx, \u0026nomad.GetAclTokensArgs{\n\t\t\tPrefix: pulumi.StringRef(\"a242\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAclTokensArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var tokens = NomadFunctions.getAclTokens(GetAclTokensArgs.builder()\n .prefix(\"a242\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n tokens:\n fn::invoke:\n Function: nomad:getAclTokens\n Arguments:\n prefix: a242\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getAclTokens.\n", "properties": { @@ -3236,8 +4583,52 @@ ] } }, + "nomad:index/getAllocations:getAllocations": { + "description": "Retrieve a list of allocations from Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getAllocations({\n filter: \"JobID == \\\"example\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_allocations(filter=\"JobID == \\\"example\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetAllocations.Invoke(new()\n {\n Filter = \"JobID == \\\"example\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetAllocations(ctx, \u0026nomad.GetAllocationsArgs{\n\t\t\tFilter: pulumi.StringRef(\"JobID == \\\"example\\\"\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetAllocationsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder()\n .filter(\"JobID == \\\"example\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getAllocations\n Arguments:\n filter: JobID == \"example\"\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getAllocations.\n", + "properties": { + "filter": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Specifies the\n[expression][nomad_api_filter] used to filter the results.\n" + }, + "prefix": { + "type": "string", + "description": "`(string: \u003coptional\u003e)` - Specifies a string to filter allocations\nbased on an ID prefix.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getAllocations.\n", + "properties": { + "allocations": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/getAllocationsAllocation:getAllocationsAllocation" + }, + "description": "`(list of allocations)` - A list of allocations matching the\nsearch criteria.\n" + }, + "filter": { + "type": "string" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "prefix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "allocations", + "id" + ] + } + }, "nomad:index/getDatacenters:getDatacenters": { - "description": "Retrieve a list of datacenters.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst datacenters = nomad.getDatacenters({\n ignoreDownNodes: true,\n prefix: \"prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndatacenters = nomad.get_datacenters(ignore_down_nodes=True,\n prefix=\"prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var datacenters = Nomad.GetDatacenters.Invoke(new()\n {\n IgnoreDownNodes = true,\n Prefix = \"prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetDatacenters(ctx, \u0026nomad.GetDatacentersArgs{\n\t\t\tIgnoreDownNodes: pulumi.BoolRef(true),\n\t\t\tPrefix: pulumi.StringRef(\"prod\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetDatacentersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var datacenters = NomadFunctions.getDatacenters(GetDatacentersArgs.builder()\n .ignoreDownNodes(true)\n .prefix(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n datacenters:\n fn::invoke:\n Function: nomad:getDatacenters\n Arguments:\n ignoreDownNodes: true\n prefix: prod\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of datacenters.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst datacenters = nomad.getDatacenters({\n ignoreDownNodes: true,\n prefix: \"prod\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndatacenters = nomad.get_datacenters(ignore_down_nodes=True,\n prefix=\"prod\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var datacenters = Nomad.GetDatacenters.Invoke(new()\n {\n IgnoreDownNodes = true,\n Prefix = \"prod\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetDatacenters(ctx, \u0026nomad.GetDatacentersArgs{\n\t\t\tIgnoreDownNodes: pulumi.BoolRef(true),\n\t\t\tPrefix: pulumi.StringRef(\"prod\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetDatacentersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var datacenters = NomadFunctions.getDatacenters(GetDatacentersArgs.builder()\n .ignoreDownNodes(true)\n .prefix(\"prod\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n datacenters:\n fn::invoke:\n Function: nomad:getDatacenters\n Arguments:\n ignoreDownNodes: true\n prefix: prod\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getDatacenters.\n", "properties": { @@ -3281,7 +4672,7 @@ } }, "nomad:index/getDeployments:getDeployments": { - "description": "Retrieve a list of deployments in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getDeployments({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_deployments()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetDeployments.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetDeployments(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getDeployments();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getDeployments\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of deployments in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getDeployments({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_deployments()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetDeployments.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetDeployments(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getDeployments();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getDeployments\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getDeployments.\n", "properties": { @@ -3308,7 +4699,7 @@ } }, "nomad:index/getJob:getJob": { - "description": "Get information on a job ID. The aim of this datasource is to enable\nyou to act on various settings and states of a particular job.\n\nAn error is triggered if zero or more than one result is returned by the query.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nGet the data about a snapshot:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getJob({\n jobId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_job(job_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetJob.Invoke(new()\n {\n JobId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupJob(ctx, \u0026nomad.LookupJobArgs{\n\t\t\tJobId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getJob(GetJobArgs.builder()\n .jobId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getJob\n Arguments:\n jobId: example\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Get information on a job ID. The aim of this datasource is to enable\nyou to act on various settings and states of a particular job.\n\nAn error is triggered if zero or more than one result is returned by the query.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nGet the data about a snapshot:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getJob({\n jobId: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_job(job_id=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetJob.Invoke(new()\n {\n JobId = \"example\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupJob(ctx, \u0026nomad.LookupJobArgs{\n\t\t\tJobId: \"example\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getJob(GetJobArgs.builder()\n .jobId(\"example\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getJob\n Arguments:\n jobId: example\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getJob.\n", "properties": { @@ -3455,7 +4846,7 @@ } }, "nomad:index/getJobParser:getJobParser": { - "description": "Parse a HCL jobspec and produce the equivalent JSON encoded job.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myJob = nomad.getJobParser({\n hcl: fs.readFileSync(`${path.module}/jobspec.hcl`),\n canonicalize: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_job = nomad.get_job_parser(hcl=(lambda path: open(path).read())(f\"{path['module']}/jobspec.hcl\"),\n canonicalize=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myJob = Nomad.GetJobParser.Invoke(new()\n {\n Hcl = File.ReadAllText($\"{path.Module}/jobspec.hcl\"),\n Canonicalize = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetJobParser(ctx, \u0026nomad.GetJobParserArgs{\n\t\t\tHcl: readFileOrPanic(fmt.Sprintf(\"%v/jobspec.hcl\", path.Module)),\n\t\t\tCanonicalize: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetJobParserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder()\n .hcl(Files.readString(Paths.get(String.format(\"%s/jobspec.hcl\", path.module()))))\n .canonicalize(false)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myJob:\n fn::invoke:\n Function: nomad:getJobParser\n Arguments:\n hcl:\n fn::readFile: ${path.module}/jobspec.hcl\n canonicalize: false\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Parse a HCL jobspec and produce the equivalent JSON encoded job.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as fs from \"fs\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst myJob = nomad.getJobParser({\n hcl: fs.readFileSync(`${path.module}/jobspec.hcl`),\n canonicalize: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nmy_job = nomad.get_job_parser(hcl=(lambda path: open(path).read())(f\"{path['module']}/jobspec.hcl\"),\n canonicalize=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.IO;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var myJob = Nomad.GetJobParser.Invoke(new()\n {\n Hcl = File.ReadAllText($\"{path.Module}/jobspec.hcl\"),\n Canonicalize = false,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc readFileOrPanic(path string) pulumi.StringPtrInput {\n\tdata, err := os.ReadFile(path)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\treturn pulumi.String(string(data))\n}\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetJobParser(ctx, \u0026nomad.GetJobParserArgs{\n\t\t\tHcl: readFileOrPanic(fmt.Sprintf(\"%v/jobspec.hcl\", path.Module)),\n\t\t\tCanonicalize: pulumi.BoolRef(false),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetJobParserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder()\n .hcl(Files.readString(Paths.get(String.format(\"%s/jobspec.hcl\", path.module()))))\n .canonicalize(false)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n myJob:\n fn::invoke:\n Function: nomad:getJobParser\n Arguments:\n hcl:\n fn::readFile: ${path.module}/jobspec.hcl\n canonicalize: false\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getJobParser.\n", "properties": { @@ -3502,7 +4893,7 @@ } }, "nomad:index/getNamespace:getNamespace": { - "description": "Get information about a namespace in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst namespaces = nomad.getNamespace({\n name: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nnamespaces = nomad.get_namespace(name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var namespaces = Nomad.GetNamespace.Invoke(new()\n {\n Name = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupNamespace(ctx, \u0026nomad.LookupNamespaceArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder()\n .name(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n namespaces:\n fn::invoke:\n Function: nomad:getNamespace\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Get information about a namespace in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst namespaces = nomad.getNamespace({\n name: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nnamespaces = nomad.get_namespace(name=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var namespaces = Nomad.GetNamespace.Invoke(new()\n {\n Name = \"default\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupNamespace(ctx, \u0026nomad.LookupNamespaceArgs{\n\t\t\tName: \"default\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetNamespaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder()\n .name(\"default\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n namespaces:\n fn::invoke:\n Function: nomad:getNamespace\n Arguments:\n name: default\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getNamespace.\n", "properties": { @@ -3544,6 +4935,12 @@ "name": { "type": "string" }, + "nodePoolConfigs": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/getNamespaceNodePoolConfig:getNamespaceNodePoolConfig" + } + }, "quota": { "type": "string", "description": "`(string)` - The quota associated with the namespace.\n" @@ -3555,13 +4952,14 @@ "description", "meta", "name", + "nodePoolConfigs", "quota", "id" ] } }, "nomad:index/getNamespaces:getNamespaces": { - "description": "Retrieve a list of namespaces available in Nomad.\n", + "description": "Retrieve a list of namespaces available in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nexport = async () =\u003e {\n const namespaces = await nomad.getNamespaces({});\n const namespace: nomad.AclPolicy[] = [];\n for (const range = {value: 0}; range.value \u003c namespaces.namespaces.length; range.value++) {\n namespace.push(new nomad.AclPolicy(`namespace-${range.value}`, {\n description: `Write to the namespace ${namespaces[range.value]}`,\n rulesHcl: `namespace \"${namespaces[range.value]}\" {\n policy = \"write\"\n}\n`,\n }));\n }\n}\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nnamespaces = nomad.get_namespaces()\nnamespace = []\nfor range in [{\"value\": i} for i in range(0, len(namespaces.namespaces))]:\n namespace.append(nomad.AclPolicy(f\"namespace-{range['value']}\",\n description=f\"Write to the namespace {namespaces[range['value']]}\",\n rules_hcl=f\"\"\"namespace \"{namespaces[range[\"value\"]]}\" {{\n policy = \"write\"\n}}\n\"\"\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Threading.Tasks;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(async() =\u003e \n{\n var namespaces = await Nomad.GetNamespaces.InvokeAsync();\n\n var @namespace = new List\u003cNomad.AclPolicy\u003e();\n for (var rangeIndex = 0; rangeIndex \u003c namespaces.Namespaces.Length; rangeIndex++)\n {\n var range = new { Value = rangeIndex };\n @namespace.Add(new Nomad.AclPolicy($\"namespace-{range.Value}\", new()\n {\n Description = $\"Write to the namespace {namespaces[range.Value]}\",\n RulesHcl = @$\"namespace \"\"{namespaces[range.Value]}\"\" {{\n policy = \"\"write\"\"\n}}\n\",\n }));\n }\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tnamespaces, err := nomad.GetNamespaces(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tvar namespace []*nomad.AclPolicy\n\t\tfor index := 0; index \u003c len(namespaces.Namespaces); index++ {\n\t\t\tkey0 := index\n\t\t\tval0 := index\n\t\t\t__res, err := nomad.NewAclPolicy(ctx, fmt.Sprintf(\"namespace-%v\", key0), \u0026nomad.AclPolicyArgs{\n\t\t\t\tDescription: pulumi.String(fmt.Sprintf(\"Write to the namespace %v\", namespaces[val0])),\n\t\t\t\tRulesHcl: pulumi.String(fmt.Sprintf(\"namespace \\\"%v\\\" {\\n policy = \\\"write\\\"\\n}\\n\", namespaces[val0])),\n\t\t\t})\n\t\t\tif err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t\tnamespace = append(namespace, __res)\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.AclPolicy;\nimport com.pulumi.nomad.AclPolicyArgs;\nimport com.pulumi.codegen.internal.KeyedValue;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var namespaces = NomadFunctions.getNamespaces();\n\n for (var i = 0; i \u003c namespaces.applyValue(getNamespacesResult -\u003e getNamespacesResult.namespaces()).length(); i++) {\n new AclPolicy(\"namespace-\" + i, AclPolicyArgs.builder() \n .description(String.format(\"Write to the namespace %s\", namespaces.applyValue(getNamespacesResult -\u003e getNamespacesResult)[range.value()]))\n .rulesHcl(\"\"\"\nnamespace \"%s\" {\n policy = \"write\"\n}\n\", namespaces.applyValue(getNamespacesResult -\u003e getNamespacesResult)[range.value()]))\n .build());\n\n \n}\n }\n}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getNamespaces.\n", "properties": { @@ -3584,8 +4982,106 @@ ] } }, + "nomad:index/getNodePool:getNodePool": { + "description": "Get information about a node pool in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst dev = nomad.getNodePool({\n name: \"dev\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\ndev = nomad.get_node_pool(name=\"dev\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var dev = Nomad.GetNodePool.Invoke(new()\n {\n Name = \"dev\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.LookupNodePool(ctx, \u0026nomad.LookupNodePoolArgs{\n\t\t\tName: \"dev\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetNodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var dev = NomadFunctions.getNodePool(GetNodePoolArgs.builder()\n .name(\"dev\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n dev:\n fn::invoke:\n Function: nomad:getNodePool\n Arguments:\n name: dev\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNodePool.\n", + "properties": { + "name": { + "type": "string", + "description": "`(string)` - The name of the node pool to fetch.\n" + } + }, + "type": "object", + "required": [ + "name" + ] + }, + "outputs": { + "description": "A collection of values returned by getNodePool.\n", + "properties": { + "description": { + "type": "string", + "description": "`(string)` - The description of the node pool.\n" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "meta": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "`(map[string]string)` - Arbitrary KV metadata associated with the\nnode pool.\n" + }, + "name": { + "type": "string" + }, + "schedulerConfigs": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/getNodePoolSchedulerConfig:getNodePoolSchedulerConfig" + }, + "description": "`(block)` - Scheduler configuration for the node pool.\n" + } + }, + "type": "object", + "required": [ + "description", + "meta", + "name", + "schedulerConfigs", + "id" + ] + } + }, + "nomad:index/getNodePools:getNodePools": { + "description": "Retrieve a list of node pools available in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst prod = nomad.getNodePools({\n filter: \"Meta.env == \\\"prod\\\"\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nprod = nomad.get_node_pools(filter=\"Meta.env == \\\"prod\\\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var prod = Nomad.GetNodePools.Invoke(new()\n {\n Filter = \"Meta.env == \\\"prod\\\"\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetNodePools(ctx, \u0026nomad.GetNodePoolsArgs{\n\t\t\tFilter: pulumi.StringRef(\"Meta.env == \\\"prod\\\"\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetNodePoolsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder()\n .filter(\"Meta.env == \\\"prod\\\"\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n prod:\n fn::invoke:\n Function: nomad:getNodePools\n Arguments:\n filter: Meta.env == \"prod\"\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getNodePools.\n", + "properties": { + "filter": { + "type": "string", + "description": "`(string)` - Specifies the [expression][nomad_api_filter] used to\nfilter the results.\n" + }, + "prefix": { + "type": "string", + "description": "`(string)` - Specifies a string to filter node pools based on a name\nprefix.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getNodePools.\n", + "properties": { + "filter": { + "type": "string" + }, + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "nodePools": { + "type": "array", + "items": { + "$ref": "#/types/nomad:index/getNodePoolsNodePool:getNodePoolsNodePool" + }, + "description": "`(list of node pools)` - A list of node pools matching the\nsearch criteria.\n" + }, + "prefix": { + "type": "string" + } + }, + "type": "object", + "required": [ + "nodePools", + "id" + ] + } + }, "nomad:index/getPlugin:getPlugin": { - "description": "Lookup a plugin by ID. The aim of this datasource is to determine whether\na particular plugin exists on the cluster, to find information on the health\nand availability of the plugin, and to optionally wait for the plugin\nbefore performing actions the require an available plugin controller.\n\nIf a plugin with the specified ID does not exist and the datasource is not\nconfigured to wait, it will result in an error. For simple existence checks,\nuse the `nomad.getPlugins` listing datasource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCheck for the existence of a plugin:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n\nThis will check for a plugin with the ID `aws-ebs0`, waiting until the plugin\nis healthy before returning.\n{{% /example %}}\n{{% /examples %}}", + "description": "Lookup a plugin by ID. The aim of this datasource is to determine whether\na particular plugin exists on the cluster, to find information on the health\nand availability of the plugin, and to optionally wait for the plugin\nbefore performing actions the require an available plugin controller.\n\nIf a plugin with the specified ID does not exist and the datasource is not\nconfigured to wait, it will result in an error. For simple existence checks,\nuse the `nomad.getPlugins` listing datasource.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCheck for the existence of a plugin:\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst ebs = nomad.getPlugin({\n pluginId: \"aws-ebs0\",\n waitForHealthy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nebs = nomad.get_plugin(plugin_id=\"aws-ebs0\",\n wait_for_healthy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var ebs = Nomad.GetPlugin.Invoke(new()\n {\n PluginId = \"aws-ebs0\",\n WaitForHealthy = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetPlugin(ctx, \u0026nomad.GetPluginArgs{\n\t\t\tPluginId: \"aws-ebs0\",\n\t\t\tWaitForHealthy: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder()\n .pluginId(\"aws-ebs0\")\n .waitForHealthy(true)\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n ebs:\n fn::invoke:\n Function: nomad:getPlugin\n Arguments:\n pluginId: aws-ebs0\n waitForHealthy: true\n```\n\nThis will check for a plugin with the ID `aws-ebs0`, waiting until the plugin\nis healthy before returning.\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getPlugin.\n", "properties": { @@ -3675,7 +5171,7 @@ } }, "nomad:index/getPlugins:getPlugins": { - "description": "Retrieve a list of dynamic plugins in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getPlugins({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_plugins()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetPlugins.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetPlugins(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getPlugins();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getPlugins\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of dynamic plugins in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getPlugins({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_plugins()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetPlugins.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetPlugins(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetPluginsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getPlugins();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getPlugins\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getPlugins.\n", "properties": { @@ -3738,7 +5234,7 @@ } }, "nomad:index/getScalingPolicies:getScalingPolicies": { - "description": "Retrieve a list of Scaling Policies.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getScalingPolicies({\n jobId: \"webapp\",\n type: \"horizontal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_scaling_policies(job_id=\"webapp\",\n type=\"horizontal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetScalingPolicies.Invoke(new()\n {\n JobId = \"webapp\",\n Type = \"horizontal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetScalingPolicies(ctx, \u0026nomad.GetScalingPoliciesArgs{\n\t\t\tJobId: pulumi.StringRef(\"webapp\"),\n\t\t\tType: pulumi.StringRef(\"horizontal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetScalingPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getScalingPolicies(GetScalingPoliciesArgs.builder()\n .jobId(\"webapp\")\n .type(\"horizontal\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getScalingPolicies\n Arguments:\n jobId: webapp\n type: horizontal\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of Scaling Policies.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getScalingPolicies({\n jobId: \"webapp\",\n type: \"horizontal\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_scaling_policies(job_id=\"webapp\",\n type=\"horizontal\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetScalingPolicies.Invoke(new()\n {\n JobId = \"webapp\",\n Type = \"horizontal\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetScalingPolicies(ctx, \u0026nomad.GetScalingPoliciesArgs{\n\t\t\tJobId: pulumi.StringRef(\"webapp\"),\n\t\t\tType: pulumi.StringRef(\"horizontal\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetScalingPoliciesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getScalingPolicies(GetScalingPoliciesArgs.builder()\n .jobId(\"webapp\")\n .type(\"horizontal\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getScalingPolicies\n Arguments:\n jobId: webapp\n type: horizontal\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getScalingPolicies.\n", "properties": { @@ -3783,7 +5279,7 @@ } }, "nomad:index/getScalingPolicy:getScalingPolicy": { - "description": "Retrieve a Scaling Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getScalingPolicy({\n id: \"ad19848d-1921-179c-affa-244a3543be88\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_scaling_policy(id=\"ad19848d-1921-179c-affa-244a3543be88\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetScalingPolicy.Invoke(new()\n {\n Id = \"ad19848d-1921-179c-affa-244a3543be88\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetScalingPolicy(ctx, \u0026nomad.GetScalingPolicyArgs{\n\t\t\tId: \"ad19848d-1921-179c-affa-244a3543be88\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetScalingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getScalingPolicy(GetScalingPolicyArgs.builder()\n .id(\"ad19848d-1921-179c-affa-244a3543be88\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getScalingPolicy\n Arguments:\n id: ad19848d-1921-179c-affa-244a3543be88\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a Scaling Policy.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getScalingPolicy({\n id: \"ad19848d-1921-179c-affa-244a3543be88\",\n});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_scaling_policy(id=\"ad19848d-1921-179c-affa-244a3543be88\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetScalingPolicy.Invoke(new()\n {\n Id = \"ad19848d-1921-179c-affa-244a3543be88\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetScalingPolicy(ctx, \u0026nomad.GetScalingPolicyArgs{\n\t\t\tId: \"ad19848d-1921-179c-affa-244a3543be88\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetScalingPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getScalingPolicy(GetScalingPolicyArgs.builder()\n .id(\"ad19848d-1921-179c-affa-244a3543be88\")\n .build());\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getScalingPolicy\n Arguments:\n id: ad19848d-1921-179c-affa-244a3543be88\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getScalingPolicy.\n", "properties": { @@ -3844,7 +5340,7 @@ } }, "nomad:index/getSchedulerPolicy:getSchedulerPolicy": { - "description": "Retrieve the cluster's [scheduler configuration](https://www.nomadproject.io/api-docs/operator#sample-response-3).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst global = nomad.getSchedulerPolicy({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nglobal_ = nomad.get_scheduler_policy()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @global = Nomad.GetSchedulerPolicy.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetSchedulerPolicy(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var global = NomadFunctions.getSchedulerPolicy();\n\n }\n}\n```\n```yaml\nvariables:\n global:\n fn::invoke:\n Function: nomad:getSchedulerPolicy\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve the cluster's [scheduler configuration](https://www.nomadproject.io/api-docs/operator#sample-response-3).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst global = nomad.getSchedulerPolicy({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nglobal_ = nomad.get_scheduler_policy()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var @global = Nomad.GetSchedulerPolicy.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetSchedulerPolicy(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var global = NomadFunctions.getSchedulerPolicy();\n\n }\n}\n```\n```yaml\nvariables:\n global:\n fn::invoke:\n Function: nomad:getSchedulerPolicy\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "outputs": { "description": "A collection of values returned by getSchedulerPolicy.\n", "properties": { @@ -3877,8 +5373,59 @@ ] } }, + "nomad:index/getVariable:getVariable": { + "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = new nomad.Variable(\"example\", {path: \"path/of/existing/variable\"});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.Variable(\"example\", path=\"path/of/existing/variable\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = new Nomad.Variable(\"example\", new()\n {\n Path = \"path/of/existing/variable\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.NewVariable(ctx, \"example\", \u0026nomad.VariableArgs{\n\t\t\tPath: pulumi.String(\"path/of/existing/variable\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.Variable;\nimport com.pulumi.nomad.VariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var example = new Variable(\"example\", VariableArgs.builder() \n .path(\"path/of/existing/variable\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n example:\n type: nomad:Variable\n properties:\n path: path/of/existing/variable\n```\n{{% /example %}}\n{{% /examples %}}", + "inputs": { + "description": "A collection of arguments for invoking getVariable.\n", + "properties": { + "namespace": { + "type": "string", + "description": "`(string: \"default\")` - The namepsace in which the variable exists.\n" + }, + "path": { + "type": "string", + "description": "`(string)` - Path to the existing variable.\n" + } + }, + "type": "object", + "required": [ + "path" + ] + }, + "outputs": { + "description": "A collection of values returned by getVariable.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource.\n" + }, + "items": { + "type": "object", + "additionalProperties": { + "$ref": "pulumi.json#/Any" + }, + "description": "`(map[string]string)` - Map of items in the variable.\n", + "secret": true + }, + "namespace": { + "type": "string", + "description": "`(string)` - The namespace in which the variable exists.\n" + }, + "path": { + "type": "string", + "description": "`(string)` - The path at which the variable exists.\n" + } + }, + "type": "object", + "required": [ + "items", + "path", + "id" + ] + } + }, "nomad:index/getVolumes:getVolumes": { - "description": "Retrieve a list of volumes in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getVolumes({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_volumes()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetVolumes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetVolumes(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getVolumes();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getVolumes\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", + "description": "Retrieve a list of volumes in Nomad.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as nomad from \"@pulumi/nomad\";\n\nconst example = nomad.getVolumes({});\n```\n```python\nimport pulumi\nimport pulumi_nomad as nomad\n\nexample = nomad.get_volumes()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Nomad = Pulumi.Nomad;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var example = Nomad.GetVolumes.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := nomad.GetVolumes(ctx, nil, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.nomad.NomadFunctions;\nimport com.pulumi.nomad.inputs.GetVolumesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n final var example = NomadFunctions.getVolumes();\n\n }\n}\n```\n```yaml\nvariables:\n example:\n fn::invoke:\n Function: nomad:getVolumes\n Arguments: {}\n```\n{{% /example %}}\n{{% /examples %}}", "inputs": { "description": "A collection of arguments for invoking getVolumes.\n", "properties": { From 8b1aa559a4b22f0857b4d6267e5dab23a00f9239 Mon Sep 17 00:00:00 2001 From: Matthew Jeffryes Date: Tue, 12 Sep 2023 09:55:43 -0700 Subject: [PATCH 3/3] make build_sdks --- sdk/dotnet/AclBindingRule.cs | 18 +- sdk/dotnet/AclPolicy.cs | 18 + sdk/dotnet/Config/Config.cs | 10 + sdk/dotnet/CsiVolume.cs | 542 + sdk/dotnet/CsiVolumeRegistration.cs | 535 + sdk/dotnet/GetAllocations.cs | 148 + sdk/dotnet/GetDeployments.cs | 25 + sdk/dotnet/GetNamespace.cs | 4 + sdk/dotnet/GetNamespaces.cs | 72 + sdk/dotnet/GetNodePool.cs | 142 + sdk/dotnet/GetNodePools.cs | 148 + sdk/dotnet/GetRegions.cs | 6 + sdk/dotnet/GetSchedulerPolicy.cs | 25 + sdk/dotnet/GetVariable.cs | 145 + sdk/dotnet/Inputs/AclPolicyJobAclArgs.cs | 49 + sdk/dotnet/Inputs/AclPolicyJobAclGetArgs.cs | 49 + sdk/dotnet/Inputs/CsiVolumeCapabilityArgs.cs | 39 + .../Inputs/CsiVolumeCapabilityGetArgs.cs | 39 + .../Inputs/CsiVolumeMountOptionsArgs.cs | 38 + .../Inputs/CsiVolumeMountOptionsGetArgs.cs | 38 + .../CsiVolumeRegistrationCapabilityArgs.cs | 39 + .../CsiVolumeRegistrationCapabilityGetArgs.cs | 39 + .../CsiVolumeRegistrationMountOptionsArgs.cs | 38 + ...siVolumeRegistrationMountOptionsGetArgs.cs | 38 + .../CsiVolumeRegistrationTopologyArgs.cs | 35 + .../CsiVolumeRegistrationTopologyGetArgs.cs | 35 + ...siVolumeRegistrationTopologyRequestArgs.cs | 26 + ...olumeRegistrationTopologyRequestGetArgs.cs | 26 + ...RegistrationTopologyRequestRequiredArgs.cs | 28 + ...istrationTopologyRequestRequiredGetArgs.cs | 28 + ...tionTopologyRequestRequiredTopologyArgs.cs | 35 + ...nTopologyRequestRequiredTopologyGetArgs.cs | 35 + sdk/dotnet/Inputs/CsiVolumeTopologyArgs.cs | 35 + sdk/dotnet/Inputs/CsiVolumeTopologyGetArgs.cs | 35 + .../Inputs/CsiVolumeTopologyRequestArgs.cs | 32 + .../Inputs/CsiVolumeTopologyRequestGetArgs.cs | 32 + .../CsiVolumeTopologyRequestPreferredArgs.cs | 28 + ...siVolumeTopologyRequestPreferredGetArgs.cs | 28 + ...umeTopologyRequestPreferredTopologyArgs.cs | 35 + ...TopologyRequestPreferredTopologyGetArgs.cs | 35 + .../CsiVolumeTopologyRequestRequiredArgs.cs | 28 + ...CsiVolumeTopologyRequestRequiredGetArgs.cs | 28 + ...lumeTopologyRequestRequiredTopologyArgs.cs | 35 + ...eTopologyRequestRequiredTopologyGetArgs.cs | 35 + sdk/dotnet/Inputs/JobHcl2Args.cs | 4 +- sdk/dotnet/Inputs/JobHcl2GetArgs.cs | 4 +- .../Inputs/NamespaceNodePoolConfigArgs.cs | 50 + .../Inputs/NamespaceNodePoolConfigGetArgs.cs | 50 + .../Inputs/NodePoolSchedulerConfigArgs.cs | 41 + .../Inputs/NodePoolSchedulerConfigGetArgs.cs | 41 + sdk/dotnet/Job.cs | 34 + sdk/dotnet/Namespace.cs | 24 +- sdk/dotnet/NodePool.cs | 189 + sdk/dotnet/Outputs/AclPolicyJobAcl.cs | 54 + sdk/dotnet/Outputs/CsiVolumeCapability.cs | 42 + sdk/dotnet/Outputs/CsiVolumeMountOptions.cs | 35 + .../CsiVolumeRegistrationCapability.cs | 42 + .../CsiVolumeRegistrationMountOptions.cs | 35 + .../Outputs/CsiVolumeRegistrationTopology.cs | 30 + .../CsiVolumeRegistrationTopologyRequest.cs | 27 + ...lumeRegistrationTopologyRequestRequired.cs | 24 + ...strationTopologyRequestRequiredTopology.cs | 30 + sdk/dotnet/Outputs/CsiVolumeTopology.cs | 30 + .../Outputs/CsiVolumeTopologyRequest.cs | 35 + .../CsiVolumeTopologyRequestPreferred.cs | 24 + ...iVolumeTopologyRequestPreferredTopology.cs | 30 + .../CsiVolumeTopologyRequestRequired.cs | 24 + ...siVolumeTopologyRequestRequiredTopology.cs | 30 + .../Outputs/GetAllocationsAllocationResult.cs | 154 + .../GetNamespaceNodePoolConfigResult.cs | 33 + .../GetNodePoolSchedulerConfigResult.cs | 38 + .../Outputs/GetNodePoolsNodePoolResult.cs | 50 + ...tNodePoolsNodePoolSchedulerConfigResult.cs | 38 + sdk/dotnet/Outputs/JobHcl2.cs | 4 +- sdk/dotnet/Outputs/NamespaceNodePoolConfig.cs | 42 + sdk/dotnet/Outputs/NodePoolSchedulerConfig.cs | 44 + sdk/dotnet/Provider.cs | 6 + sdk/dotnet/Pulumi.Nomad.csproj | 1 - sdk/dotnet/Variable.cs | 205 + sdk/go.mod | 2 +- sdk/go/nomad/aclAuthMethod.go | 41 +- sdk/go/nomad/aclBindingRule.go | 76 +- sdk/go/nomad/aclPolicy.go | 58 +- sdk/go/nomad/aclRole.go | 39 + sdk/go/nomad/aclToken.go | 47 +- sdk/go/nomad/config/config.go | 8 + sdk/go/nomad/config/pulumiTypes.go | 28 + sdk/go/nomad/csiVolume.go | 612 ++ sdk/go/nomad/csiVolumeRegistration.go | 596 ++ sdk/go/nomad/externalVolume.go | 41 +- sdk/go/nomad/getAclPolicies.go | 11 +- sdk/go/nomad/getAclPolicy.go | 11 +- sdk/go/nomad/getAclRole.go | 11 +- sdk/go/nomad/getAclRoles.go | 11 +- sdk/go/nomad/getAclToken.go | 11 +- sdk/go/nomad/getAclTokens.go | 11 +- sdk/go/nomad/getAllocations.go | 142 + sdk/go/nomad/getDatacenters.go | 11 +- sdk/go/nomad/getDeployments.go | 4 +- sdk/go/nomad/getJob.go | 11 +- sdk/go/nomad/getJobParser.go | 11 +- sdk/go/nomad/getNamespace.go | 20 +- sdk/go/nomad/getNamespaces.go | 41 + sdk/go/nomad/getNodePool.go | 143 + sdk/go/nomad/getNodePools.go | 142 + sdk/go/nomad/getPlugin.go | 11 +- sdk/go/nomad/getPlugins.go | 11 +- sdk/go/nomad/getRegions.go | 2 + sdk/go/nomad/getScalingPolicies.go | 11 +- sdk/go/nomad/getScalingPolicy.go | 11 +- sdk/go/nomad/getSchedulerPolicy.go | 4 +- sdk/go/nomad/getVariable.go | 138 + sdk/go/nomad/getVolumes.go | 11 +- sdk/go/nomad/init.go | 34 +- .../nomad/{ => internal}/pulumiUtilities.go | 40 +- sdk/go/nomad/internal/pulumiVersion.go | 11 + sdk/go/nomad/job.go | 89 + sdk/go/nomad/namespace.go | 58 +- sdk/go/nomad/nodePool.go | 335 + sdk/go/nomad/provider.go | 19 + sdk/go/nomad/pulumiTypes.go | 9509 ++++++++++++----- sdk/go/nomad/quoteSpecification.go | 41 +- sdk/go/nomad/schedulerConfig.go | 41 +- sdk/go/nomad/sentinelPolicy.go | 41 +- sdk/go/nomad/variable.go | 361 + sdk/go/nomad/volume.go | 41 +- .../java/com/pulumi/nomad/AclBindingRule.java | 14 +- .../com/pulumi/nomad/AclBindingRuleArgs.java | 27 +- .../main/java/com/pulumi/nomad/AclPolicy.java | 15 + .../java/com/pulumi/nomad/AclPolicyArgs.java | 38 + .../main/java/com/pulumi/nomad/Config.java | 7 + .../main/java/com/pulumi/nomad/CsiVolume.java | 459 + .../java/com/pulumi/nomad/CsiVolumeArgs.java | 545 + .../pulumi/nomad/CsiVolumeRegistration.java | 444 + .../nomad/CsiVolumeRegistrationArgs.java | 509 + .../src/main/java/com/pulumi/nomad/Job.java | 34 + .../main/java/com/pulumi/nomad/JobArgs.java | 90 + .../main/java/com/pulumi/nomad/Namespace.java | 15 + .../java/com/pulumi/nomad/NamespaceArgs.java | 38 + .../main/java/com/pulumi/nomad/NodePool.java | 168 + .../java/com/pulumi/nomad/NodePoolArgs.java | 200 + .../java/com/pulumi/nomad/NomadFunctions.java | 1256 ++- .../java/com/pulumi/nomad/ProviderArgs.java | 37 + .../main/java/com/pulumi/nomad/Variable.java | 189 + .../java/com/pulumi/nomad/VariableArgs.java | 161 + .../nomad/inputs/AclBindingRuleState.java | 16 +- .../nomad/inputs/AclPolicyJobAclArgs.java | 215 + .../pulumi/nomad/inputs/AclPolicyState.java | 38 + .../nomad/inputs/CsiVolumeCapabilityArgs.java | 148 + .../inputs/CsiVolumeMountOptionsArgs.java | 131 + .../CsiVolumeRegistrationCapabilityArgs.java | 148 + ...CsiVolumeRegistrationMountOptionsArgs.java | 131 + .../inputs/CsiVolumeRegistrationState.java | 851 ++ .../CsiVolumeRegistrationTopologyArgs.java | 96 + ...VolumeRegistrationTopologyRequestArgs.java | 83 + ...gistrationTopologyRequestRequiredArgs.java | 67 + ...onTopologyRequestRequiredTopologyArgs.java | 95 + .../pulumi/nomad/inputs/CsiVolumeState.java | 888 ++ .../nomad/inputs/CsiVolumeTopologyArgs.java | 96 + .../inputs/CsiVolumeTopologyRequestArgs.java | 121 + ...CsiVolumeTopologyRequestPreferredArgs.java | 67 + ...eTopologyRequestPreferredTopologyArgs.java | 95 + .../CsiVolumeTopologyRequestRequiredArgs.java | 67 + ...meTopologyRequestRequiredTopologyArgs.java | 95 + .../nomad/inputs/GetAllocationsArgs.java | 128 + .../nomad/inputs/GetAllocationsPlainArgs.java | 105 + .../pulumi/nomad/inputs/GetNodePoolArgs.java | 82 + .../nomad/inputs/GetNodePoolPlainArgs.java | 71 + .../pulumi/nomad/inputs/GetNodePoolsArgs.java | 128 + .../nomad/inputs/GetNodePoolsPlainArgs.java | 105 + .../pulumi/nomad/inputs/GetVariableArgs.java | 121 + .../nomad/inputs/GetVariablePlainArgs.java | 100 + .../com/pulumi/nomad/inputs/JobHcl2Args.java | 32 +- .../com/pulumi/nomad/inputs/JobState.java | 110 + .../inputs/NamespaceNodePoolConfigArgs.java | 178 + .../pulumi/nomad/inputs/NamespaceState.java | 38 + .../inputs/NodePoolSchedulerConfigArgs.java | 156 + .../pulumi/nomad/inputs/NodePoolState.java | 200 + .../pulumi/nomad/inputs/VariableState.java | 159 + .../pulumi/nomad/outputs/AclPolicyJobAcl.java | 126 + .../nomad/outputs/CsiVolumeCapability.java | 88 + .../nomad/outputs/CsiVolumeMountOptions.java | 80 + .../CsiVolumeRegistrationCapability.java | 88 + .../CsiVolumeRegistrationMountOptions.java | 80 + .../CsiVolumeRegistrationTopology.java | 62 + .../CsiVolumeRegistrationTopologyRequest.java | 56 + ...meRegistrationTopologyRequestRequired.java | 50 + ...rationTopologyRequestRequiredTopology.java | 61 + .../nomad/outputs/CsiVolumeTopology.java | 62 + .../outputs/CsiVolumeTopologyRequest.java | 77 + .../CsiVolumeTopologyRequestPreferred.java | 50 + ...olumeTopologyRequestPreferredTopology.java | 61 + .../CsiVolumeTopologyRequestRequired.java | 50 + ...VolumeTopologyRequestRequiredTopology.java | 61 + .../outputs/GetAllocationsAllocation.java | 415 + .../nomad/outputs/GetAllocationsResult.java | 107 + .../outputs/GetNamespaceNodePoolConfig.java | 77 + .../nomad/outputs/GetNamespaceResult.java | 16 + .../nomad/outputs/GetNodePoolResult.java | 134 + .../outputs/GetNodePoolSchedulerConfig.java | 80 + .../nomad/outputs/GetNodePoolsNodePool.java | 122 + .../GetNodePoolsNodePoolSchedulerConfig.java | 80 + .../nomad/outputs/GetNodePoolsResult.java | 107 + .../nomad/outputs/GetVariableResult.java | 118 + .../com/pulumi/nomad/outputs/JobHcl2.java | 16 +- .../outputs/NamespaceNodePoolConfig.java | 103 + .../outputs/NodePoolSchedulerConfig.java | 94 + sdk/nodejs/aclBindingRule.ts | 19 +- sdk/nodejs/aclPolicy.ts | 16 + sdk/nodejs/config/vars.ts | 11 + sdk/nodejs/csiVolume.ts | 399 + sdk/nodejs/csiVolumeRegistration.ts | 384 + sdk/nodejs/getAllocations.ts | 97 + sdk/nodejs/getDeployments.ts | 15 + sdk/nodejs/getNamespace.ts | 1 + sdk/nodejs/getNamespaces.ts | 48 + sdk/nodejs/getNodePool.ts | 90 + sdk/nodejs/getNodePools.ts | 97 + sdk/nodejs/getRegions.ts | 6 + sdk/nodejs/getSchedulerPolicy.ts | 15 + sdk/nodejs/getVariable.ts | 87 + sdk/nodejs/index.ts | 64 +- sdk/nodejs/job.ts | 38 + sdk/nodejs/namespace.ts | 20 +- sdk/nodejs/nodePool.ts | 148 + sdk/nodejs/package.json | 3 +- sdk/nodejs/provider.ts | 7 +- sdk/nodejs/scripts/install-pulumi-plugin.js | 26 - sdk/nodejs/tsconfig.json | 8 + sdk/nodejs/types/input.ts | 203 +- sdk/nodejs/types/output.ts | 336 +- sdk/nodejs/variable.ts | 150 + sdk/python/pulumi_nomad/__init__.py | 40 + sdk/python/pulumi_nomad/_inputs.py | 655 +- sdk/python/pulumi_nomad/acl_binding_rule.py | 59 +- sdk/python/pulumi_nomad/acl_policy.py | 49 + sdk/python/pulumi_nomad/config/__init__.pyi | 5 + sdk/python/pulumi_nomad/config/vars.py | 7 + sdk/python/pulumi_nomad/csi_volume.py | 1048 ++ .../pulumi_nomad/csi_volume_registration.py | 999 ++ sdk/python/pulumi_nomad/get_acl_policies.py | 6 +- sdk/python/pulumi_nomad/get_acl_policy.py | 8 +- sdk/python/pulumi_nomad/get_acl_role.py | 8 +- sdk/python/pulumi_nomad/get_acl_roles.py | 6 +- sdk/python/pulumi_nomad/get_acl_token.py | 22 +- sdk/python/pulumi_nomad/get_acl_tokens.py | 6 +- sdk/python/pulumi_nomad/get_allocations.py | 135 + sdk/python/pulumi_nomad/get_datacenters.py | 8 +- sdk/python/pulumi_nomad/get_deployments.py | 4 +- sdk/python/pulumi_nomad/get_job.py | 44 +- sdk/python/pulumi_nomad/get_job_parser.py | 8 +- sdk/python/pulumi_nomad/get_namespace.py | 24 +- sdk/python/pulumi_nomad/get_namespaces.py | 21 +- sdk/python/pulumi_nomad/get_node_pool.py | 142 + sdk/python/pulumi_nomad/get_node_pools.py | 135 + sdk/python/pulumi_nomad/get_plugin.py | 24 +- sdk/python/pulumi_nomad/get_plugins.py | 6 +- sdk/python/pulumi_nomad/get_regions.py | 4 +- .../pulumi_nomad/get_scaling_policies.py | 8 +- sdk/python/pulumi_nomad/get_scaling_policy.py | 14 +- .../pulumi_nomad/get_scheduler_policy.py | 8 +- sdk/python/pulumi_nomad/get_variable.py | 131 + sdk/python/pulumi_nomad/get_volumes.py | 12 +- sdk/python/pulumi_nomad/job.py | 122 + sdk/python/pulumi_nomad/namespace.py | 61 +- sdk/python/pulumi_nomad/node_pool.py | 327 + sdk/python/pulumi_nomad/outputs.py | 1062 +- sdk/python/pulumi_nomad/provider.py | 20 + sdk/python/pulumi_nomad/variable.py | 299 + sdk/python/pulumi_nomad/volume.py | 18 + sdk/python/setup.py | 23 - 271 files changed, 34312 insertions(+), 2862 deletions(-) create mode 100644 sdk/dotnet/CsiVolume.cs create mode 100644 sdk/dotnet/CsiVolumeRegistration.cs create mode 100644 sdk/dotnet/GetAllocations.cs create mode 100644 sdk/dotnet/GetNodePool.cs create mode 100644 sdk/dotnet/GetNodePools.cs create mode 100644 sdk/dotnet/GetVariable.cs create mode 100644 sdk/dotnet/Inputs/AclPolicyJobAclArgs.cs create mode 100644 sdk/dotnet/Inputs/AclPolicyJobAclGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeCapabilityArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeCapabilityGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeMountOptionsArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeMountOptionsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredGetArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.cs create mode 100644 sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/NamespaceNodePoolConfigArgs.cs create mode 100644 sdk/dotnet/Inputs/NamespaceNodePoolConfigGetArgs.cs create mode 100644 sdk/dotnet/Inputs/NodePoolSchedulerConfigArgs.cs create mode 100644 sdk/dotnet/Inputs/NodePoolSchedulerConfigGetArgs.cs create mode 100644 sdk/dotnet/NodePool.cs create mode 100644 sdk/dotnet/Outputs/AclPolicyJobAcl.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeCapability.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeMountOptions.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationCapability.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationMountOptions.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationTopology.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequest.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequired.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopology.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopologyRequest.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferred.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferredTopology.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequired.cs create mode 100644 sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequiredTopology.cs create mode 100644 sdk/dotnet/Outputs/GetAllocationsAllocationResult.cs create mode 100644 sdk/dotnet/Outputs/GetNamespaceNodePoolConfigResult.cs create mode 100644 sdk/dotnet/Outputs/GetNodePoolSchedulerConfigResult.cs create mode 100644 sdk/dotnet/Outputs/GetNodePoolsNodePoolResult.cs create mode 100644 sdk/dotnet/Outputs/GetNodePoolsNodePoolSchedulerConfigResult.cs create mode 100644 sdk/dotnet/Outputs/NamespaceNodePoolConfig.cs create mode 100644 sdk/dotnet/Outputs/NodePoolSchedulerConfig.cs create mode 100644 sdk/dotnet/Variable.cs create mode 100644 sdk/go/nomad/csiVolume.go create mode 100644 sdk/go/nomad/csiVolumeRegistration.go create mode 100644 sdk/go/nomad/getAllocations.go create mode 100644 sdk/go/nomad/getNodePool.go create mode 100644 sdk/go/nomad/getNodePools.go create mode 100644 sdk/go/nomad/getVariable.go rename sdk/go/nomad/{ => internal}/pulumiUtilities.go (60%) create mode 100644 sdk/go/nomad/internal/pulumiVersion.go create mode 100644 sdk/go/nomad/nodePool.go create mode 100644 sdk/go/nomad/variable.go create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/CsiVolume.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistration.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistrationArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/NodePool.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/NodePoolArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/Variable.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/VariableArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyJobAclArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeCapabilityArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeMountOptionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationCapabilityArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationMountOptionsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationState.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeState.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsPlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariableArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariablePlainArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceNodePoolConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolSchedulerConfigArgs.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolState.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/inputs/VariableState.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/AclPolicyJobAcl.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeCapability.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeMountOptions.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationCapability.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationMountOptions.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopology.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequest.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequired.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopology.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequest.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferred.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferredTopology.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequired.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequiredTopology.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsAllocation.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceNodePoolConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolSchedulerConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePool.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePoolSchedulerConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/GetVariableResult.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/NamespaceNodePoolConfig.java create mode 100644 sdk/java/src/main/java/com/pulumi/nomad/outputs/NodePoolSchedulerConfig.java create mode 100644 sdk/nodejs/csiVolume.ts create mode 100644 sdk/nodejs/csiVolumeRegistration.ts create mode 100644 sdk/nodejs/getAllocations.ts create mode 100644 sdk/nodejs/getNodePool.ts create mode 100644 sdk/nodejs/getNodePools.ts create mode 100644 sdk/nodejs/getVariable.ts create mode 100644 sdk/nodejs/nodePool.ts delete mode 100644 sdk/nodejs/scripts/install-pulumi-plugin.js create mode 100644 sdk/nodejs/variable.ts create mode 100644 sdk/python/pulumi_nomad/csi_volume.py create mode 100644 sdk/python/pulumi_nomad/csi_volume_registration.py create mode 100644 sdk/python/pulumi_nomad/get_allocations.py create mode 100644 sdk/python/pulumi_nomad/get_node_pool.py create mode 100644 sdk/python/pulumi_nomad/get_node_pools.py create mode 100644 sdk/python/pulumi_nomad/get_variable.py create mode 100644 sdk/python/pulumi_nomad/node_pool.py create mode 100644 sdk/python/pulumi_nomad/variable.py diff --git a/sdk/dotnet/AclBindingRule.cs b/sdk/dotnet/AclBindingRule.cs index 649c7f81..ecc8d117 100644 --- a/sdk/dotnet/AclBindingRule.cs +++ b/sdk/dotnet/AclBindingRule.cs @@ -20,10 +20,12 @@ public partial class AclBindingRule : global::Pulumi.CustomResource public Output AuthMethod { get; private set; } = null!; /// - /// `(string: "")` - Target of the binding. + /// `(string: <optional>)` - Target of the binding. If `bind_type` is + /// `role` or `policy` then `bind_name` is required. If `bind_type` is + /// `management` than `bind_name` must not be defined. /// [Output("bindName")] - public Output BindName { get; private set; } = null!; + public Output BindName { get; private set; } = null!; /// /// `(string: <required>)` - Adjusts how this binding rule is applied @@ -99,10 +101,12 @@ public sealed class AclBindingRuleArgs : global::Pulumi.ResourceArgs public Input AuthMethod { get; set; } = null!; /// - /// `(string: "")` - Target of the binding. + /// `(string: <optional>)` - Target of the binding. If `bind_type` is + /// `role` or `policy` then `bind_name` is required. If `bind_type` is + /// `management` than `bind_name` must not be defined. /// - [Input("bindName", required: true)] - public Input BindName { get; set; } = null!; + [Input("bindName")] + public Input? BindName { get; set; } /// /// `(string: <required>)` - Adjusts how this binding rule is applied @@ -140,7 +144,9 @@ public sealed class AclBindingRuleState : global::Pulumi.ResourceArgs public Input? AuthMethod { get; set; } /// - /// `(string: "")` - Target of the binding. + /// `(string: <optional>)` - Target of the binding. If `bind_type` is + /// `role` or `policy` then `bind_name` is required. If `bind_type` is + /// `management` than `bind_name` must not be defined. /// [Input("bindName")] public Input? BindName { get; set; } diff --git a/sdk/dotnet/AclPolicy.cs b/sdk/dotnet/AclPolicy.cs index 6a9842e4..b9af9158 100644 --- a/sdk/dotnet/AclPolicy.cs +++ b/sdk/dotnet/AclPolicy.cs @@ -66,6 +66,12 @@ public partial class AclPolicy : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + /// + [Output("jobAcl")] + public Output JobAcl { get; private set; } = null!; + /// /// `(string: <required>)` - A unique name for the policy. /// @@ -131,6 +137,12 @@ public sealed class AclPolicyArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + /// + [Input("jobAcl")] + public Input? JobAcl { get; set; } + /// /// `(string: <required>)` - A unique name for the policy. /// @@ -158,6 +170,12 @@ public sealed class AclPolicyState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + /// + [Input("jobAcl")] + public Input? JobAcl { get; set; } + /// /// `(string: <required>)` - A unique name for the policy. /// diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index 39a88707..9e983cbf 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -162,6 +162,16 @@ public static string? SecretId set => _secretId.Set(value); } + private static readonly __Value _skipVerify = new __Value(() => __config.GetBoolean("skipVerify")); + /// + /// Skip TLS verification on client side. + /// + public static bool? SkipVerify + { + get => _skipVerify.Get(); + set => _skipVerify.Set(value); + } + private static readonly __Value _vaultToken = new __Value(() => __config.Get("vaultToken")); /// /// Vault token if policies are specified in the job file. diff --git a/sdk/dotnet/CsiVolume.cs b/sdk/dotnet/CsiVolume.cs new file mode 100644 index 00000000..fe87bff4 --- /dev/null +++ b/sdk/dotnet/CsiVolume.cs @@ -0,0 +1,542 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + /// + /// ## Example Usage + /// + /// Creating a volume: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ebs = Nomad.GetPlugin.Invoke(new() + /// { + /// PluginId = "aws-ebs0", + /// WaitForHealthy = true, + /// }); + /// + /// var mysqlVolume = new Nomad.CsiVolume("mysqlVolume", new() + /// { + /// PluginId = "aws-ebs0", + /// VolumeId = "mysql_volume", + /// CapacityMin = "10GiB", + /// CapacityMax = "20GiB", + /// Capabilities = new[] + /// { + /// new Nomad.Inputs.CsiVolumeCapabilityArgs + /// { + /// AccessMode = "single-node-writer", + /// AttachmentMode = "file-system", + /// }, + /// }, + /// MountOptions = new Nomad.Inputs.CsiVolumeMountOptionsArgs + /// { + /// FsType = "ext4", + /// }, + /// TopologyRequest = new Nomad.Inputs.CsiVolumeTopologyRequestArgs + /// { + /// Required = new Nomad.Inputs.CsiVolumeTopologyRequestRequiredArgs + /// { + /// Topologies = new[] + /// { + /// new Nomad.Inputs.CsiVolumeTopologyRequestRequiredTopologyArgs + /// { + /// Segments = + /// { + /// { "rack", "R1" }, + /// { "zone", "us-east-1a" }, + /// }, + /// }, + /// new Nomad.Inputs.CsiVolumeTopologyRequestRequiredTopologyArgs + /// { + /// Segments = + /// { + /// { "rack", "R2" }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, new CustomResourceOptions + /// { + /// DependsOn = new[] + /// { + /// ebs, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [NomadResourceType("nomad:index/csiVolume:CsiVolume")] + public partial class CsiVolume : global::Pulumi.CustomResource + { + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + [Output("capabilities")] + public Output> Capabilities { get; private set; } = null!; + + /// + /// `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + /// + [Output("capacityMax")] + public Output CapacityMax { get; private set; } = null!; + + /// + /// `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + /// + [Output("capacityMin")] + public Output CapacityMin { get; private set; } = null!; + + /// + /// `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + /// + [Output("cloneId")] + public Output CloneId { get; private set; } = null!; + + /// + /// `(boolean)` + /// + [Output("controllerRequired")] + public Output ControllerRequired { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("controllersExpected")] + public Output ControllersExpected { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("controllersHealthy")] + public Output ControllersHealthy { get; private set; } = null!; + + /// + /// `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Output("mountOptions")] + public Output MountOptions { get; private set; } = null!; + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("nodesExpected")] + public Output NodesExpected { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("nodesHealthy")] + public Output NodesHealthy { get; private set; } = null!; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + [Output("parameters")] + public Output?> Parameters { get; private set; } = null!; + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Output("pluginId")] + public Output PluginId { get; private set; } = null!; + + /// + /// `(string)` + /// + [Output("pluginProvider")] + public Output PluginProvider { get; private set; } = null!; + + /// + /// `(string)` + /// + [Output("pluginProviderVersion")] + public Output PluginProviderVersion { get; private set; } = null!; + + /// + /// `(boolean)` + /// + [Output("schedulable")] + public Output Schedulable { get; private set; } = null!; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + [Output("secrets")] + public Output?> Secrets { get; private set; } = null!; + + /// + /// `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + /// + [Output("snapshotId")] + public Output SnapshotId { get; private set; } = null!; + + /// + /// `(List of topologies)` + /// + [Output("topologies")] + public Output> Topologies { get; private set; } = null!; + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Output("topologyRequest")] + public Output TopologyRequest { get; private set; } = null!; + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Output("volumeId")] + public Output VolumeId { get; private set; } = null!; + + + /// + /// Create a CsiVolume resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CsiVolume(string name, CsiVolumeArgs args, CustomResourceOptions? options = null) + : base("nomad:index/csiVolume:CsiVolume", name, args ?? new CsiVolumeArgs(), MakeResourceOptions(options, "")) + { + } + + private CsiVolume(string name, Input id, CsiVolumeState? state = null, CustomResourceOptions? options = null) + : base("nomad:index/csiVolume:CsiVolume", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "secrets", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CsiVolume resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static CsiVolume Get(string name, Input id, CsiVolumeState? state = null, CustomResourceOptions? options = null) + { + return new CsiVolume(name, id, state, options); + } + } + + public sealed class CsiVolumeArgs : global::Pulumi.ResourceArgs + { + [Input("capabilities", required: true)] + private InputList? _capabilities; + + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + public InputList Capabilities + { + get => _capabilities ?? (_capabilities = new InputList()); + set => _capabilities = value; + } + + /// + /// `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + /// + [Input("capacityMax")] + public Input? CapacityMax { get; set; } + + /// + /// `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + /// + [Input("capacityMin")] + public Input? CapacityMin { get; set; } + + /// + /// `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + /// + [Input("cloneId")] + public Input? CloneId { get; set; } + + /// + /// `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("secrets")] + private InputMap? _secrets; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + public InputMap Secrets + { + get => _secrets ?? (_secrets = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Input("topologyRequest")] + public Input? TopologyRequest { get; set; } + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Input("volumeId", required: true)] + public Input VolumeId { get; set; } = null!; + + public CsiVolumeArgs() + { + } + public static new CsiVolumeArgs Empty => new CsiVolumeArgs(); + } + + public sealed class CsiVolumeState : global::Pulumi.ResourceArgs + { + [Input("capabilities")] + private InputList? _capabilities; + + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + public InputList Capabilities + { + get => _capabilities ?? (_capabilities = new InputList()); + set => _capabilities = value; + } + + /// + /// `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + /// + [Input("capacityMax")] + public Input? CapacityMax { get; set; } + + /// + /// `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + /// + [Input("capacityMin")] + public Input? CapacityMin { get; set; } + + /// + /// `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + /// + [Input("cloneId")] + public Input? CloneId { get; set; } + + /// + /// `(boolean)` + /// + [Input("controllerRequired")] + public Input? ControllerRequired { get; set; } + + /// + /// `(integer)` + /// + [Input("controllersExpected")] + public Input? ControllersExpected { get; set; } + + /// + /// `(integer)` + /// + [Input("controllersHealthy")] + public Input? ControllersHealthy { get; set; } + + /// + /// `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(integer)` + /// + [Input("nodesExpected")] + public Input? NodesExpected { get; set; } + + /// + /// `(integer)` + /// + [Input("nodesHealthy")] + public Input? NodesHealthy { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Input("pluginId")] + public Input? PluginId { get; set; } + + /// + /// `(string)` + /// + [Input("pluginProvider")] + public Input? PluginProvider { get; set; } + + /// + /// `(string)` + /// + [Input("pluginProviderVersion")] + public Input? PluginProviderVersion { get; set; } + + /// + /// `(boolean)` + /// + [Input("schedulable")] + public Input? Schedulable { get; set; } + + [Input("secrets")] + private InputMap? _secrets; + + /// + /// `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + public InputMap Secrets + { + get => _secrets ?? (_secrets = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + /// + [Input("snapshotId")] + public Input? SnapshotId { get; set; } + + [Input("topologies")] + private InputList? _topologies; + + /// + /// `(List of topologies)` + /// + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Input("topologyRequest")] + public Input? TopologyRequest { get; set; } + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Input("volumeId")] + public Input? VolumeId { get; set; } + + public CsiVolumeState() + { + } + public static new CsiVolumeState Empty => new CsiVolumeState(); + } +} diff --git a/sdk/dotnet/CsiVolumeRegistration.cs b/sdk/dotnet/CsiVolumeRegistration.cs new file mode 100644 index 00000000..96974794 --- /dev/null +++ b/sdk/dotnet/CsiVolumeRegistration.cs @@ -0,0 +1,535 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + /// + /// ## Example Usage + /// + /// Registering a volume: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var ebs = Nomad.GetPlugin.Invoke(new() + /// { + /// PluginId = "aws-ebs0", + /// WaitForHealthy = true, + /// }); + /// + /// var mysqlVolume = new Nomad.Volume("mysqlVolume", new() + /// { + /// PluginId = "aws-ebs0", + /// VolumeId = "mysql_volume", + /// ExternalId = module.Hashistack.Ebs_test_volume_id, + /// Capabilities = new[] + /// { + /// new Nomad.Inputs.VolumeCapabilityArgs + /// { + /// AccessMode = "single-node-writer", + /// AttachmentMode = "file-system", + /// }, + /// }, + /// MountOptions = new Nomad.Inputs.VolumeMountOptionsArgs + /// { + /// FsType = "ext4", + /// }, + /// TopologyRequest = new Nomad.Inputs.VolumeTopologyRequestArgs + /// { + /// Required = new Nomad.Inputs.VolumeTopologyRequestRequiredArgs + /// { + /// Topologies = new[] + /// { + /// new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs + /// { + /// Segments = + /// { + /// { "rack", "R1" }, + /// { "zone", "us-east-1a" }, + /// }, + /// }, + /// new Nomad.Inputs.VolumeTopologyRequestRequiredTopologyArgs + /// { + /// Segments = + /// { + /// { "rack", "R2" }, + /// }, + /// }, + /// }, + /// }, + /// }, + /// }, new CustomResourceOptions + /// { + /// DependsOn = new[] + /// { + /// ebs, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [NomadResourceType("nomad:index/csiVolumeRegistration:CsiVolumeRegistration")] + public partial class CsiVolumeRegistration : global::Pulumi.CustomResource + { + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + [Output("capabilities")] + public Output> Capabilities { get; private set; } = null!; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + /// + [Output("context")] + public Output?> Context { get; private set; } = null!; + + /// + /// `(boolean)` + /// + [Output("controllerRequired")] + public Output ControllerRequired { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("controllersExpected")] + public Output ControllersExpected { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("controllersHealthy")] + public Output ControllersHealthy { get; private set; } = null!; + + /// + /// `(boolean: false)` - If true, the volume will be deregistered on destroy. + /// + [Output("deregisterOnDestroy")] + public Output DeregisterOnDestroy { get; private set; } = null!; + + /// + /// `(string: <required>)` - The ID of the physical volume from the storage provider. + /// + [Output("externalId")] + public Output ExternalId { get; private set; } = null!; + + /// + /// `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Output("mountOptions")] + public Output MountOptions { get; private set; } = null!; + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("nodesExpected")] + public Output NodesExpected { get; private set; } = null!; + + /// + /// `(integer)` + /// + [Output("nodesHealthy")] + public Output NodesHealthy { get; private set; } = null!; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + [Output("parameters")] + public Output?> Parameters { get; private set; } = null!; + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Output("pluginId")] + public Output PluginId { get; private set; } = null!; + + /// + /// `(string)` + /// + [Output("pluginProvider")] + public Output PluginProvider { get; private set; } = null!; + + /// + /// `(string)` + /// + [Output("pluginProviderVersion")] + public Output PluginProviderVersion { get; private set; } = null!; + + /// + /// `(boolean)` + /// + [Output("schedulable")] + public Output Schedulable { get; private set; } = null!; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + [Output("secrets")] + public Output?> Secrets { get; private set; } = null!; + + /// + /// `(List of topologies)` + /// + [Output("topologies")] + public Output> Topologies { get; private set; } = null!; + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Output("topologyRequest")] + public Output TopologyRequest { get; private set; } = null!; + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Output("volumeId")] + public Output VolumeId { get; private set; } = null!; + + + /// + /// Create a CsiVolumeRegistration resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public CsiVolumeRegistration(string name, CsiVolumeRegistrationArgs args, CustomResourceOptions? options = null) + : base("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, args ?? new CsiVolumeRegistrationArgs(), MakeResourceOptions(options, "")) + { + } + + private CsiVolumeRegistration(string name, Input id, CsiVolumeRegistrationState? state = null, CustomResourceOptions? options = null) + : base("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "secrets", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing CsiVolumeRegistration resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static CsiVolumeRegistration Get(string name, Input id, CsiVolumeRegistrationState? state = null, CustomResourceOptions? options = null) + { + return new CsiVolumeRegistration(name, id, state, options); + } + } + + public sealed class CsiVolumeRegistrationArgs : global::Pulumi.ResourceArgs + { + [Input("capabilities")] + private InputList? _capabilities; + + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + public InputList Capabilities + { + get => _capabilities ?? (_capabilities = new InputList()); + set => _capabilities = value; + } + + [Input("context")] + private InputMap? _context; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + /// + public InputMap Context + { + get => _context ?? (_context = new InputMap()); + set => _context = value; + } + + /// + /// `(boolean: false)` - If true, the volume will be deregistered on destroy. + /// + [Input("deregisterOnDestroy")] + public Input? DeregisterOnDestroy { get; set; } + + /// + /// `(string: <required>)` - The ID of the physical volume from the storage provider. + /// + [Input("externalId", required: true)] + public Input ExternalId { get; set; } = null!; + + /// + /// `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Input("pluginId", required: true)] + public Input PluginId { get; set; } = null!; + + [Input("secrets")] + private InputMap? _secrets; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + public InputMap Secrets + { + get => _secrets ?? (_secrets = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Input("topologyRequest")] + public Input? TopologyRequest { get; set; } + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Input("volumeId", required: true)] + public Input VolumeId { get; set; } = null!; + + public CsiVolumeRegistrationArgs() + { + } + public static new CsiVolumeRegistrationArgs Empty => new CsiVolumeRegistrationArgs(); + } + + public sealed class CsiVolumeRegistrationState : global::Pulumi.ResourceArgs + { + [Input("capabilities")] + private InputList? _capabilities; + + /// + /// `(``Capability``: <required>)` - Options for validating the capability of a volume. + /// + public InputList Capabilities + { + get => _capabilities ?? (_capabilities = new InputList()); + set => _capabilities = value; + } + + [Input("context")] + private InputMap? _context; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + /// + public InputMap Context + { + get => _context ?? (_context = new InputMap()); + set => _context = value; + } + + /// + /// `(boolean)` + /// + [Input("controllerRequired")] + public Input? ControllerRequired { get; set; } + + /// + /// `(integer)` + /// + [Input("controllersExpected")] + public Input? ControllersExpected { get; set; } + + /// + /// `(integer)` + /// + [Input("controllersHealthy")] + public Input? ControllersHealthy { get; set; } + + /// + /// `(boolean: false)` - If true, the volume will be deregistered on destroy. + /// + [Input("deregisterOnDestroy")] + public Input? DeregisterOnDestroy { get; set; } + + /// + /// `(string: <required>)` - The ID of the physical volume from the storage provider. + /// + [Input("externalId")] + public Input? ExternalId { get; set; } + + /// + /// `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + /// + [Input("mountOptions")] + public Input? MountOptions { get; set; } + + /// + /// `(string: <required>)` - The display name for the volume. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(string: "default")` - The namespace in which to register the volume. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(integer)` + /// + [Input("nodesExpected")] + public Input? NodesExpected { get; set; } + + /// + /// `(integer)` + /// + [Input("nodesHealthy")] + public Input? NodesHealthy { get; set; } + + [Input("parameters")] + private InputMap? _parameters; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + /// + public InputMap Parameters + { + get => _parameters ?? (_parameters = new InputMap()); + set => _parameters = value; + } + + /// + /// `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + /// + [Input("pluginId")] + public Input? PluginId { get; set; } + + /// + /// `(string)` + /// + [Input("pluginProvider")] + public Input? PluginProvider { get; set; } + + /// + /// `(string)` + /// + [Input("pluginProviderVersion")] + public Input? PluginProviderVersion { get; set; } + + /// + /// `(boolean)` + /// + [Input("schedulable")] + public Input? Schedulable { get; set; } + + [Input("secrets")] + private InputMap? _secrets; + + /// + /// `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + /// + public InputMap Secrets + { + get => _secrets ?? (_secrets = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _secrets = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + [Input("topologies")] + private InputList? _topologies; + + /// + /// `(List of topologies)` + /// + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + /// + /// `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + /// + [Input("topologyRequest")] + public Input? TopologyRequest { get; set; } + + /// + /// `(string: <required>)` - The unique ID of the volume. + /// + [Input("volumeId")] + public Input? VolumeId { get; set; } + + public CsiVolumeRegistrationState() + { + } + public static new CsiVolumeRegistrationState Empty => new CsiVolumeRegistrationState(); + } +} diff --git a/sdk/dotnet/GetAllocations.cs b/sdk/dotnet/GetAllocations.cs new file mode 100644 index 00000000..c7a5d32b --- /dev/null +++ b/sdk/dotnet/GetAllocations.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + public static class GetAllocations + { + /// + /// Retrieve a list of allocations from Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Nomad.GetAllocations.Invoke(new() + /// { + /// Filter = "JobID == \"example\"", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetAllocationsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getAllocations:getAllocations", args ?? new GetAllocationsArgs(), options.WithDefaults()); + + /// + /// Retrieve a list of allocations from Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Nomad.GetAllocations.Invoke(new() + /// { + /// Filter = "JobID == \"example\"", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetAllocationsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getAllocations:getAllocations", args ?? new GetAllocationsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAllocationsArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string: <optional>)` - Specifies the + /// [expression][nomad_api_filter] used to filter the results. + /// + [Input("filter")] + public string? Filter { get; set; } + + /// + /// `(string: <optional>)` - Specifies a string to filter allocations + /// based on an ID prefix. + /// + [Input("prefix")] + public string? Prefix { get; set; } + + public GetAllocationsArgs() + { + } + public static new GetAllocationsArgs Empty => new GetAllocationsArgs(); + } + + public sealed class GetAllocationsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string: <optional>)` - Specifies the + /// [expression][nomad_api_filter] used to filter the results. + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// `(string: <optional>)` - Specifies a string to filter allocations + /// based on an ID prefix. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + public GetAllocationsInvokeArgs() + { + } + public static new GetAllocationsInvokeArgs Empty => new GetAllocationsInvokeArgs(); + } + + + [OutputType] + public sealed class GetAllocationsResult + { + /// + /// `(list of allocations)` - A list of allocations matching the + /// search criteria. + /// + public readonly ImmutableArray Allocations; + public readonly string? Filter; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + public readonly string? Prefix; + + [OutputConstructor] + private GetAllocationsResult( + ImmutableArray allocations, + + string? filter, + + string id, + + string? prefix) + { + Allocations = allocations; + Filter = filter; + Id = id; + Prefix = prefix; + } + } +} diff --git a/sdk/dotnet/GetDeployments.cs b/sdk/dotnet/GetDeployments.cs index d4a2ec12..7c54b97d 100644 --- a/sdk/dotnet/GetDeployments.cs +++ b/sdk/dotnet/GetDeployments.cs @@ -35,6 +35,31 @@ public static class GetDeployments /// public static Task InvokeAsync(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getDeployments:getDeployments", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Retrieve a list of deployments in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = Nomad.GetDeployments.Invoke(); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getDeployments:getDeployments", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetNamespace.cs b/sdk/dotnet/GetNamespace.cs index 9e267abb..5dc3f667 100644 --- a/sdk/dotnet/GetNamespace.cs +++ b/sdk/dotnet/GetNamespace.cs @@ -118,6 +118,7 @@ public sealed class GetNamespaceResult /// public readonly ImmutableDictionary Meta; public readonly string Name; + public readonly ImmutableArray NodePoolConfigs; /// /// `(string)` - The quota associated with the namespace. /// @@ -135,6 +136,8 @@ private GetNamespaceResult( string name, + ImmutableArray nodePoolConfigs, + string quota) { Capabilities = capabilities; @@ -142,6 +145,7 @@ private GetNamespaceResult( Id = id; Meta = meta; Name = name; + NodePoolConfigs = nodePoolConfigs; Quota = quota; } } diff --git a/sdk/dotnet/GetNamespaces.cs b/sdk/dotnet/GetNamespaces.cs index 900f862a..e3a06d25 100644 --- a/sdk/dotnet/GetNamespaces.cs +++ b/sdk/dotnet/GetNamespaces.cs @@ -13,9 +13,81 @@ public static class GetNamespaces { /// /// Retrieve a list of namespaces available in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Threading.Tasks; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(async() => + /// { + /// var namespaces = await Nomad.GetNamespaces.InvokeAsync(); + /// + /// var @namespace = new List<Nomad.AclPolicy>(); + /// for (var rangeIndex = 0; rangeIndex < namespaces.Namespaces.Length; rangeIndex++) + /// { + /// var range = new { Value = rangeIndex }; + /// @namespace.Add(new Nomad.AclPolicy($"namespace-{range.Value}", new() + /// { + /// Description = $"Write to the namespace {namespaces[range.Value]}", + /// RulesHcl = @$"namespace ""{namespaces[range.Value]}"" {{ + /// policy = ""write"" + /// }} + /// ", + /// })); + /// } + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} /// public static Task InvokeAsync(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getNamespaces:getNamespaces", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Retrieve a list of namespaces available in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using System.Threading.Tasks; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(async() => + /// { + /// var namespaces = await Nomad.GetNamespaces.InvokeAsync(); + /// + /// var @namespace = new List<Nomad.AclPolicy>(); + /// for (var rangeIndex = 0; rangeIndex < namespaces.Namespaces.Length; rangeIndex++) + /// { + /// var range = new { Value = rangeIndex }; + /// @namespace.Add(new Nomad.AclPolicy($"namespace-{range.Value}", new() + /// { + /// Description = $"Write to the namespace {namespaces[range.Value]}", + /// RulesHcl = @$"namespace ""{namespaces[range.Value]}"" {{ + /// policy = ""write"" + /// }} + /// ", + /// })); + /// } + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getNamespaces:getNamespaces", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetNodePool.cs b/sdk/dotnet/GetNodePool.cs new file mode 100644 index 00000000..3c335a6a --- /dev/null +++ b/sdk/dotnet/GetNodePool.cs @@ -0,0 +1,142 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + public static class GetNodePool + { + /// + /// Get information about a node pool in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var dev = Nomad.GetNodePool.Invoke(new() + /// { + /// Name = "dev", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetNodePoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getNodePool:getNodePool", args ?? new GetNodePoolArgs(), options.WithDefaults()); + + /// + /// Get information about a node pool in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var dev = Nomad.GetNodePool.Invoke(new() + /// { + /// Name = "dev", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetNodePoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getNodePool:getNodePool", args ?? new GetNodePoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNodePoolArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string)` - The name of the node pool to fetch. + /// + [Input("name", required: true)] + public string Name { get; set; } = null!; + + public GetNodePoolArgs() + { + } + public static new GetNodePoolArgs Empty => new GetNodePoolArgs(); + } + + public sealed class GetNodePoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string)` - The name of the node pool to fetch. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + public GetNodePoolInvokeArgs() + { + } + public static new GetNodePoolInvokeArgs Empty => new GetNodePoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetNodePoolResult + { + /// + /// `(string)` - The description of the node pool. + /// + public readonly string Description; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// `(map[string]string)` - Arbitrary KV metadata associated with the + /// node pool. + /// + public readonly ImmutableDictionary Meta; + public readonly string Name; + /// + /// `(block)` - Scheduler configuration for the node pool. + /// + public readonly ImmutableArray SchedulerConfigs; + + [OutputConstructor] + private GetNodePoolResult( + string description, + + string id, + + ImmutableDictionary meta, + + string name, + + ImmutableArray schedulerConfigs) + { + Description = description; + Id = id; + Meta = meta; + Name = name; + SchedulerConfigs = schedulerConfigs; + } + } +} diff --git a/sdk/dotnet/GetNodePools.cs b/sdk/dotnet/GetNodePools.cs new file mode 100644 index 00000000..3f624b49 --- /dev/null +++ b/sdk/dotnet/GetNodePools.cs @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + public static class GetNodePools + { + /// + /// Retrieve a list of node pools available in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var prod = Nomad.GetNodePools.Invoke(new() + /// { + /// Filter = "Meta.env == \"prod\"", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetNodePoolsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getNodePools:getNodePools", args ?? new GetNodePoolsArgs(), options.WithDefaults()); + + /// + /// Retrieve a list of node pools available in Nomad. + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var prod = Nomad.GetNodePools.Invoke(new() + /// { + /// Filter = "Meta.env == \"prod\"", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetNodePoolsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getNodePools:getNodePools", args ?? new GetNodePoolsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNodePoolsArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string)` - Specifies the [expression][nomad_api_filter] used to + /// filter the results. + /// + [Input("filter")] + public string? Filter { get; set; } + + /// + /// `(string)` - Specifies a string to filter node pools based on a name + /// prefix. + /// + [Input("prefix")] + public string? Prefix { get; set; } + + public GetNodePoolsArgs() + { + } + public static new GetNodePoolsArgs Empty => new GetNodePoolsArgs(); + } + + public sealed class GetNodePoolsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string)` - Specifies the [expression][nomad_api_filter] used to + /// filter the results. + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// `(string)` - Specifies a string to filter node pools based on a name + /// prefix. + /// + [Input("prefix")] + public Input? Prefix { get; set; } + + public GetNodePoolsInvokeArgs() + { + } + public static new GetNodePoolsInvokeArgs Empty => new GetNodePoolsInvokeArgs(); + } + + + [OutputType] + public sealed class GetNodePoolsResult + { + public readonly string? Filter; + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// `(list of node pools)` - A list of node pools matching the + /// search criteria. + /// + public readonly ImmutableArray NodePools; + public readonly string? Prefix; + + [OutputConstructor] + private GetNodePoolsResult( + string? filter, + + string id, + + ImmutableArray nodePools, + + string? prefix) + { + Filter = filter; + Id = id; + NodePools = nodePools; + Prefix = prefix; + } + } +} diff --git a/sdk/dotnet/GetRegions.cs b/sdk/dotnet/GetRegions.cs index 2955ff72..115fc99b 100644 --- a/sdk/dotnet/GetRegions.cs +++ b/sdk/dotnet/GetRegions.cs @@ -16,6 +16,12 @@ public static class GetRegions /// public static Task InvokeAsync(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getRegions:getRegions", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Retrieve a list of regions available in Nomad. + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getRegions:getRegions", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetSchedulerPolicy.cs b/sdk/dotnet/GetSchedulerPolicy.cs index 34f6fe3c..414e0952 100644 --- a/sdk/dotnet/GetSchedulerPolicy.cs +++ b/sdk/dotnet/GetSchedulerPolicy.cs @@ -35,6 +35,31 @@ public static class GetSchedulerPolicy /// public static Task InvokeAsync(InvokeOptions? options = null) => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getSchedulerPolicy:getSchedulerPolicy", InvokeArgs.Empty, options.WithDefaults()); + + /// + /// Retrieve the cluster's [scheduler configuration](https://www.nomadproject.io/api-docs/operator#sample-response-3). + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var @global = Nomad.GetSchedulerPolicy.Invoke(); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getSchedulerPolicy:getSchedulerPolicy", InvokeArgs.Empty, options.WithDefaults()); } diff --git a/sdk/dotnet/GetVariable.cs b/sdk/dotnet/GetVariable.cs new file mode 100644 index 00000000..4cfa7932 --- /dev/null +++ b/sdk/dotnet/GetVariable.cs @@ -0,0 +1,145 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + public static class GetVariable + { + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Nomad.Variable("example", new() + /// { + /// Path = "path/of/existing/variable", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Task InvokeAsync(GetVariableArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("nomad:index/getVariable:getVariable", args ?? new GetVariableArgs(), options.WithDefaults()); + + /// + /// {{% examples %}} + /// ## Example Usage + /// {{% example %}} + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Nomad.Variable("example", new() + /// { + /// Path = "path/of/existing/variable", + /// }); + /// + /// }); + /// ``` + /// {{% /example %}} + /// {{% /examples %}} + /// + public static Output Invoke(GetVariableInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("nomad:index/getVariable:getVariable", args ?? new GetVariableInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVariableArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string: "default")` - The namepsace in which the variable exists. + /// + [Input("namespace")] + public string? Namespace { get; set; } + + /// + /// `(string)` - Path to the existing variable. + /// + [Input("path", required: true)] + public string Path { get; set; } = null!; + + public GetVariableArgs() + { + } + public static new GetVariableArgs Empty => new GetVariableArgs(); + } + + public sealed class GetVariableInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// `(string: "default")` - The namepsace in which the variable exists. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(string)` - Path to the existing variable. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public GetVariableInvokeArgs() + { + } + public static new GetVariableInvokeArgs Empty => new GetVariableInvokeArgs(); + } + + + [OutputType] + public sealed class GetVariableResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// `(map[string]string)` - Map of items in the variable. + /// + public readonly ImmutableDictionary Items; + /// + /// `(string)` - The namespace in which the variable exists. + /// + public readonly string? Namespace; + /// + /// `(string)` - The path at which the variable exists. + /// + public readonly string Path; + + [OutputConstructor] + private GetVariableResult( + string id, + + ImmutableDictionary items, + + string? @namespace, + + string path) + { + Id = id; + Items = items; + Namespace = @namespace; + Path = path; + } + } +} diff --git a/sdk/dotnet/Inputs/AclPolicyJobAclArgs.cs b/sdk/dotnet/Inputs/AclPolicyJobAclArgs.cs new file mode 100644 index 00000000..5fb129ae --- /dev/null +++ b/sdk/dotnet/Inputs/AclPolicyJobAclArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class AclPolicyJobAclArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <optional>` - The group to attach the policy. Required if + /// `task` is set. + /// + [Input("group")] + public Input? Group { get; set; } + + /// + /// `(string: <optional>` - The job to attach the policy. Required if + /// `group` is set. + /// + [Input("jobId", required: true)] + public Input JobId { get; set; } = null!; + + /// + /// `(string: "default")` - The namespace to attach the policy. + /// Required if `job_id` is set. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(string: <optional>` - The task to attach the policy. + /// + /// [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + /// + [Input("task")] + public Input? Task { get; set; } + + public AclPolicyJobAclArgs() + { + } + public static new AclPolicyJobAclArgs Empty => new AclPolicyJobAclArgs(); + } +} diff --git a/sdk/dotnet/Inputs/AclPolicyJobAclGetArgs.cs b/sdk/dotnet/Inputs/AclPolicyJobAclGetArgs.cs new file mode 100644 index 00000000..781e2fd4 --- /dev/null +++ b/sdk/dotnet/Inputs/AclPolicyJobAclGetArgs.cs @@ -0,0 +1,49 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class AclPolicyJobAclGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <optional>` - The group to attach the policy. Required if + /// `task` is set. + /// + [Input("group")] + public Input? Group { get; set; } + + /// + /// `(string: <optional>` - The job to attach the policy. Required if + /// `group` is set. + /// + [Input("jobId", required: true)] + public Input JobId { get; set; } = null!; + + /// + /// `(string: "default")` - The namespace to attach the policy. + /// Required if `job_id` is set. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(string: <optional>` - The task to attach the policy. + /// + /// [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + /// + [Input("task")] + public Input? Task { get; set; } + + public AclPolicyJobAclGetArgs() + { + } + public static new AclPolicyJobAclGetArgs Empty => new AclPolicyJobAclGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeCapabilityArgs.cs b/sdk/dotnet/Inputs/CsiVolumeCapabilityArgs.cs new file mode 100644 index 00000000..d6af3323 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeCapabilityArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeCapabilityArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + [Input("accessMode", required: true)] + public Input AccessMode { get; set; } = null!; + + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + [Input("attachmentMode", required: true)] + public Input AttachmentMode { get; set; } = null!; + + public CsiVolumeCapabilityArgs() + { + } + public static new CsiVolumeCapabilityArgs Empty => new CsiVolumeCapabilityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeCapabilityGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeCapabilityGetArgs.cs new file mode 100644 index 00000000..33eaf137 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeCapabilityGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeCapabilityGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + [Input("accessMode", required: true)] + public Input AccessMode { get; set; } = null!; + + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + [Input("attachmentMode", required: true)] + public Input AttachmentMode { get; set; } = null!; + + public CsiVolumeCapabilityGetArgs() + { + } + public static new CsiVolumeCapabilityGetArgs Empty => new CsiVolumeCapabilityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeMountOptionsArgs.cs b/sdk/dotnet/Inputs/CsiVolumeMountOptionsArgs.cs new file mode 100644 index 00000000..7e48e32f --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeMountOptionsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeMountOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: optional)` - The file system type. + /// + [Input("fsType")] + public Input? FsType { get; set; } + + [Input("mountFlags")] + private InputList? _mountFlags; + + /// + /// `[]string: optional` - The flags passed to `mount`. + /// + public InputList MountFlags + { + get => _mountFlags ?? (_mountFlags = new InputList()); + set => _mountFlags = value; + } + + public CsiVolumeMountOptionsArgs() + { + } + public static new CsiVolumeMountOptionsArgs Empty => new CsiVolumeMountOptionsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeMountOptionsGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeMountOptionsGetArgs.cs new file mode 100644 index 00000000..4c8db19b --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeMountOptionsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeMountOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: optional)` - The file system type. + /// + [Input("fsType")] + public Input? FsType { get; set; } + + [Input("mountFlags")] + private InputList? _mountFlags; + + /// + /// `[]string: optional` - The flags passed to `mount`. + /// + public InputList MountFlags + { + get => _mountFlags ?? (_mountFlags = new InputList()); + set => _mountFlags = value; + } + + public CsiVolumeMountOptionsGetArgs() + { + } + public static new CsiVolumeMountOptionsGetArgs Empty => new CsiVolumeMountOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityArgs.cs new file mode 100644 index 00000000..18a3e983 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationCapabilityArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + [Input("accessMode", required: true)] + public Input AccessMode { get; set; } = null!; + + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + [Input("attachmentMode", required: true)] + public Input AttachmentMode { get; set; } = null!; + + public CsiVolumeRegistrationCapabilityArgs() + { + } + public static new CsiVolumeRegistrationCapabilityArgs Empty => new CsiVolumeRegistrationCapabilityArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityGetArgs.cs new file mode 100644 index 00000000..9542b466 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationCapabilityGetArgs.cs @@ -0,0 +1,39 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationCapabilityGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + [Input("accessMode", required: true)] + public Input AccessMode { get; set; } = null!; + + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + [Input("attachmentMode", required: true)] + public Input AttachmentMode { get; set; } = null!; + + public CsiVolumeRegistrationCapabilityGetArgs() + { + } + public static new CsiVolumeRegistrationCapabilityGetArgs Empty => new CsiVolumeRegistrationCapabilityGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsArgs.cs new file mode 100644 index 00000000..136e69d4 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationMountOptionsArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <optional>)` - The file system type. + /// + [Input("fsType")] + public Input? FsType { get; set; } + + [Input("mountFlags")] + private InputList? _mountFlags; + + /// + /// `([]string: <optional>)` - The flags passed to `mount`. + /// + public InputList MountFlags + { + get => _mountFlags ?? (_mountFlags = new InputList()); + set => _mountFlags = value; + } + + public CsiVolumeRegistrationMountOptionsArgs() + { + } + public static new CsiVolumeRegistrationMountOptionsArgs Empty => new CsiVolumeRegistrationMountOptionsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsGetArgs.cs new file mode 100644 index 00000000..b11681f2 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationMountOptionsGetArgs.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationMountOptionsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string: <optional>)` - The file system type. + /// + [Input("fsType")] + public Input? FsType { get; set; } + + [Input("mountFlags")] + private InputList? _mountFlags; + + /// + /// `([]string: <optional>)` - The flags passed to `mount`. + /// + public InputList MountFlags + { + get => _mountFlags ?? (_mountFlags = new InputList()); + set => _mountFlags = value; + } + + public CsiVolumeRegistrationMountOptionsGetArgs() + { + } + public static new CsiVolumeRegistrationMountOptionsGetArgs Empty => new CsiVolumeRegistrationMountOptionsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyArgs.cs new file mode 100644 index 00000000..5ed1f552 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyArgs : global::Pulumi.ResourceArgs + { + [Input("segments")] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeRegistrationTopologyArgs() + { + } + public static new CsiVolumeRegistrationTopologyArgs Empty => new CsiVolumeRegistrationTopologyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyGetArgs.cs new file mode 100644 index 00000000..60cf8210 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyGetArgs : global::Pulumi.ResourceArgs + { + [Input("segments")] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeRegistrationTopologyGetArgs() + { + } + public static new CsiVolumeRegistrationTopologyGetArgs Empty => new CsiVolumeRegistrationTopologyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestArgs.cs new file mode 100644 index 00000000..6b09f5d3 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestArgs : global::Pulumi.ResourceArgs + { + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + [Input("required")] + public Input? Required { get; set; } + + public CsiVolumeRegistrationTopologyRequestArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestArgs Empty => new CsiVolumeRegistrationTopologyRequestArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestGetArgs.cs new file mode 100644 index 00000000..4fb4a063 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + [Input("required")] + public Input? Required { get; set; } + + public CsiVolumeRegistrationTopologyRequestGetArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestGetArgs Empty => new CsiVolumeRegistrationTopologyRequestGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.cs new file mode 100644 index 00000000..8b602456 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestRequiredArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeRegistrationTopologyRequestRequiredArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestRequiredArgs Empty => new CsiVolumeRegistrationTopologyRequestRequiredArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredGetArgs.cs new file mode 100644 index 00000000..19010b90 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestRequiredGetArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeRegistrationTopologyRequestRequiredGetArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestRequiredGetArgs Empty => new CsiVolumeRegistrationTopologyRequestRequiredGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.cs new file mode 100644 index 00000000..8bff13e1 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs Empty => new CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs.cs new file mode 100644 index 00000000..38627461 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs() + { + } + public static new CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs Empty => new CsiVolumeRegistrationTopologyRequestRequiredTopologyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyArgs.cs new file mode 100644 index 00000000..f1edd5a4 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyArgs : global::Pulumi.ResourceArgs + { + [Input("segments")] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyArgs() + { + } + public static new CsiVolumeTopologyArgs Empty => new CsiVolumeTopologyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyGetArgs.cs new file mode 100644 index 00000000..6236f49a --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyGetArgs : global::Pulumi.ResourceArgs + { + [Input("segments")] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyGetArgs() + { + } + public static new CsiVolumeTopologyGetArgs Empty => new CsiVolumeTopologyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestArgs.cs new file mode 100644 index 00000000..d900a4fb --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestArgs : global::Pulumi.ResourceArgs + { + /// + /// `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + /// + [Input("preferred")] + public Input? Preferred { get; set; } + + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + [Input("required")] + public Input? Required { get; set; } + + public CsiVolumeTopologyRequestArgs() + { + } + public static new CsiVolumeTopologyRequestArgs Empty => new CsiVolumeTopologyRequestArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestGetArgs.cs new file mode 100644 index 00000000..95abb74d --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestGetArgs.cs @@ -0,0 +1,32 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + /// + [Input("preferred")] + public Input? Preferred { get; set; } + + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + [Input("required")] + public Input? Required { get; set; } + + public CsiVolumeTopologyRequestGetArgs() + { + } + public static new CsiVolumeTopologyRequestGetArgs Empty => new CsiVolumeTopologyRequestGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredArgs.cs new file mode 100644 index 00000000..87c61529 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestPreferredArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeTopologyRequestPreferredArgs() + { + } + public static new CsiVolumeTopologyRequestPreferredArgs Empty => new CsiVolumeTopologyRequestPreferredArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredGetArgs.cs new file mode 100644 index 00000000..21e8ddfd --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestPreferredGetArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeTopologyRequestPreferredGetArgs() + { + } + public static new CsiVolumeTopologyRequestPreferredGetArgs Empty => new CsiVolumeTopologyRequestPreferredGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.cs new file mode 100644 index 00000000..e5466e85 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestPreferredTopologyArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyRequestPreferredTopologyArgs() + { + } + public static new CsiVolumeTopologyRequestPreferredTopologyArgs Empty => new CsiVolumeTopologyRequestPreferredTopologyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyGetArgs.cs new file mode 100644 index 00000000..8acddde4 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestPreferredTopologyGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestPreferredTopologyGetArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyRequestPreferredTopologyGetArgs() + { + } + public static new CsiVolumeTopologyRequestPreferredTopologyGetArgs Empty => new CsiVolumeTopologyRequestPreferredTopologyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredArgs.cs new file mode 100644 index 00000000..d2a1dd4c --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestRequiredArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeTopologyRequestRequiredArgs() + { + } + public static new CsiVolumeTopologyRequestRequiredArgs Empty => new CsiVolumeTopologyRequestRequiredArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredGetArgs.cs new file mode 100644 index 00000000..e0e062b0 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredGetArgs.cs @@ -0,0 +1,28 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestRequiredGetArgs : global::Pulumi.ResourceArgs + { + [Input("topologies", required: true)] + private InputList? _topologies; + public InputList Topologies + { + get => _topologies ?? (_topologies = new InputList()); + set => _topologies = value; + } + + public CsiVolumeTopologyRequestRequiredGetArgs() + { + } + public static new CsiVolumeTopologyRequestRequiredGetArgs Empty => new CsiVolumeTopologyRequestRequiredGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.cs new file mode 100644 index 00000000..f70db821 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestRequiredTopologyArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyRequestRequiredTopologyArgs() + { + } + public static new CsiVolumeTopologyRequestRequiredTopologyArgs Empty => new CsiVolumeTopologyRequestRequiredTopologyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyGetArgs.cs b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyGetArgs.cs new file mode 100644 index 00000000..07125da0 --- /dev/null +++ b/sdk/dotnet/Inputs/CsiVolumeTopologyRequestRequiredTopologyGetArgs.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class CsiVolumeTopologyRequestRequiredTopologyGetArgs : global::Pulumi.ResourceArgs + { + [Input("segments", required: true)] + private InputMap? _segments; + + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public InputMap Segments + { + get => _segments ?? (_segments = new InputMap()); + set => _segments = value; + } + + public CsiVolumeTopologyRequestRequiredTopologyGetArgs() + { + } + public static new CsiVolumeTopologyRequestRequiredTopologyGetArgs Empty => new CsiVolumeTopologyRequestRequiredTopologyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/JobHcl2Args.cs b/sdk/dotnet/Inputs/JobHcl2Args.cs index 59354769..cc766b80 100644 --- a/sdk/dotnet/Inputs/JobHcl2Args.cs +++ b/sdk/dotnet/Inputs/JobHcl2Args.cs @@ -20,8 +20,8 @@ public sealed class JobHcl2Args : global::Pulumi.ResourceArgs public Input? AllowFs { get; set; } /// - /// `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - /// format instead of the default HCL. + /// `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + /// HCL2 by default. /// [Input("enabled")] public Input? Enabled { get; set; } diff --git a/sdk/dotnet/Inputs/JobHcl2GetArgs.cs b/sdk/dotnet/Inputs/JobHcl2GetArgs.cs index 544a1b1d..beabaae6 100644 --- a/sdk/dotnet/Inputs/JobHcl2GetArgs.cs +++ b/sdk/dotnet/Inputs/JobHcl2GetArgs.cs @@ -20,8 +20,8 @@ public sealed class JobHcl2GetArgs : global::Pulumi.ResourceArgs public Input? AllowFs { get; set; } /// - /// `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - /// format instead of the default HCL. + /// `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + /// HCL2 by default. /// [Input("enabled")] public Input? Enabled { get; set; } diff --git a/sdk/dotnet/Inputs/NamespaceNodePoolConfigArgs.cs b/sdk/dotnet/Inputs/NamespaceNodePoolConfigArgs.cs new file mode 100644 index 00000000..c9ff199c --- /dev/null +++ b/sdk/dotnet/Inputs/NamespaceNodePoolConfigArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class NamespaceNodePoolConfigArgs : global::Pulumi.ResourceArgs + { + [Input("alloweds")] + private InputList? _alloweds; + + /// + /// `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + /// + public InputList Alloweds + { + get => _alloweds ?? (_alloweds = new InputList()); + set => _alloweds = value; + } + + /// + /// `(string: <optional>)` - The default node pool for jobs that don't define one. + /// + [Input("default")] + public Input? Default { get; set; } + + [Input("denieds")] + private InputList? _denieds; + + /// + /// `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + /// + public InputList Denieds + { + get => _denieds ?? (_denieds = new InputList()); + set => _denieds = value; + } + + public NamespaceNodePoolConfigArgs() + { + } + public static new NamespaceNodePoolConfigArgs Empty => new NamespaceNodePoolConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NamespaceNodePoolConfigGetArgs.cs b/sdk/dotnet/Inputs/NamespaceNodePoolConfigGetArgs.cs new file mode 100644 index 00000000..615e895d --- /dev/null +++ b/sdk/dotnet/Inputs/NamespaceNodePoolConfigGetArgs.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class NamespaceNodePoolConfigGetArgs : global::Pulumi.ResourceArgs + { + [Input("alloweds")] + private InputList? _alloweds; + + /// + /// `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + /// + public InputList Alloweds + { + get => _alloweds ?? (_alloweds = new InputList()); + set => _alloweds = value; + } + + /// + /// `(string: <optional>)` - The default node pool for jobs that don't define one. + /// + [Input("default")] + public Input? Default { get; set; } + + [Input("denieds")] + private InputList? _denieds; + + /// + /// `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + /// + public InputList Denieds + { + get => _denieds ?? (_denieds = new InputList()); + set => _denieds = value; + } + + public NamespaceNodePoolConfigGetArgs() + { + } + public static new NamespaceNodePoolConfigGetArgs Empty => new NamespaceNodePoolConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NodePoolSchedulerConfigArgs.cs b/sdk/dotnet/Inputs/NodePoolSchedulerConfigArgs.cs new file mode 100644 index 00000000..f0ee4afc --- /dev/null +++ b/sdk/dotnet/Inputs/NodePoolSchedulerConfigArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class NodePoolSchedulerConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string)` - Whether or not memory + /// oversubscription is enabled in the node pool. Possible values are + /// `"enabled"` or `"disabled"`. If not defined the global cluster + /// configuration is used. + /// + /// > This option differs from Nomad, where it's represented as a boolean, to + /// allow distinguishing between memory oversubscription being disabled in the + /// node pool and this property not being set. + /// + [Input("memoryOversubscription")] + public Input? MemoryOversubscription { get; set; } + + /// + /// `(string)` - The scheduler algorithm used in the node + /// pool. Possible values are `binpack` or `spread`. If not defined the global + /// cluster configuration is used. + /// + [Input("schedulerAlgorithm")] + public Input? SchedulerAlgorithm { get; set; } + + public NodePoolSchedulerConfigArgs() + { + } + public static new NodePoolSchedulerConfigArgs Empty => new NodePoolSchedulerConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NodePoolSchedulerConfigGetArgs.cs b/sdk/dotnet/Inputs/NodePoolSchedulerConfigGetArgs.cs new file mode 100644 index 00000000..ac9317d0 --- /dev/null +++ b/sdk/dotnet/Inputs/NodePoolSchedulerConfigGetArgs.cs @@ -0,0 +1,41 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Inputs +{ + + public sealed class NodePoolSchedulerConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string)` - Whether or not memory + /// oversubscription is enabled in the node pool. Possible values are + /// `"enabled"` or `"disabled"`. If not defined the global cluster + /// configuration is used. + /// + /// > This option differs from Nomad, where it's represented as a boolean, to + /// allow distinguishing between memory oversubscription being disabled in the + /// node pool and this property not being set. + /// + [Input("memoryOversubscription")] + public Input? MemoryOversubscription { get; set; } + + /// + /// `(string)` - The scheduler algorithm used in the node + /// pool. Possible values are `binpack` or `spread`. If not defined the global + /// cluster configuration is used. + /// + [Input("schedulerAlgorithm")] + public Input? SchedulerAlgorithm { get; set; } + + public NodePoolSchedulerConfigGetArgs() + { + } + public static new NodePoolSchedulerConfigGetArgs Empty => new NodePoolSchedulerConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Job.cs b/sdk/dotnet/Job.cs index dc6784bb..b9f912db 100644 --- a/sdk/dotnet/Job.cs +++ b/sdk/dotnet/Job.cs @@ -63,6 +63,14 @@ public partial class Job : global::Pulumi.CustomResource [Output("detach")] public Output Detach { get; private set; } = null!; + /// + /// `(boolean: false)` - Set this to `true` to use the previous HCL1 + /// parser. This option is provided for backwards compatibility only and should + /// not be used unless absolutely necessary. + /// + [Output("hcl1")] + public Output Hcl1 { get; private set; } = null!; + /// /// `(block: optional)` - Options for the HCL2 jobspec parser. /// @@ -114,6 +122,9 @@ public partial class Job : global::Pulumi.CustomResource [Output("purgeOnDestroy")] public Output PurgeOnDestroy { get; private set; } = null!; + [Output("readAllocationIds")] + public Output ReadAllocationIds { get; private set; } = null!; + /// /// The target region for the job, as derived from the jobspec. /// @@ -224,6 +235,14 @@ public Input? ConsulToken [Input("detach")] public Input? Detach { get; set; } + /// + /// `(boolean: false)` - Set this to `true` to use the previous HCL1 + /// parser. This option is provided for backwards compatibility only and should + /// not be used unless absolutely necessary. + /// + [Input("hcl1")] + public Input? Hcl1 { get; set; } + /// /// `(block: optional)` - Options for the HCL2 jobspec parser. /// @@ -257,6 +276,9 @@ public Input? ConsulToken [Input("purgeOnDestroy")] public Input? PurgeOnDestroy { get; set; } + [Input("readAllocationIds")] + public Input? ReadAllocationIds { get; set; } + [Input("vaultToken")] private Input? _vaultToken; @@ -288,6 +310,7 @@ public sealed class JobState : global::Pulumi.ResourceArgs /// /// The IDs for allocations associated with this job. /// + [Obsolete(@"Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.")] public InputList AllocationIds { get => _allocationIds ?? (_allocationIds = new InputList()); @@ -355,6 +378,14 @@ public InputList Datacenters [Input("detach")] public Input? Detach { get; set; } + /// + /// `(boolean: false)` - Set this to `true` to use the previous HCL1 + /// parser. This option is provided for backwards compatibility only and should + /// not be used unless absolutely necessary. + /// + [Input("hcl1")] + public Input? Hcl1 { get; set; } + /// /// `(block: optional)` - Options for the HCL2 jobspec parser. /// @@ -406,6 +437,9 @@ public InputList Datacenters [Input("purgeOnDestroy")] public Input? PurgeOnDestroy { get; set; } + [Input("readAllocationIds")] + public Input? ReadAllocationIds { get; set; } + /// /// The target region for the job, as derived from the jobspec. /// diff --git a/sdk/dotnet/Namespace.cs b/sdk/dotnet/Namespace.cs index f82537fc..4f9d8ef3 100644 --- a/sdk/dotnet/Namespace.cs +++ b/sdk/dotnet/Namespace.cs @@ -83,7 +83,7 @@ namespace Pulumi.Nomad public partial class Namespace : global::Pulumi.CustomResource { /// - /// `(block: <optional>)` - A block of capabilities for the namespace. Can't + /// `(block: <optional>)` - A block of capabilities for the namespace. Can't /// be repeated. See below for the structure of this block. /// [Output("capabilities")] @@ -107,6 +107,12 @@ public partial class Namespace : global::Pulumi.CustomResource [Output("name")] public Output Name { get; private set; } = null!; + /// + /// `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + /// + [Output("nodePoolConfig")] + public Output NodePoolConfig { get; private set; } = null!; + /// /// `(string: "")` - A resource quota to attach to the namespace. /// @@ -160,7 +166,7 @@ public static Namespace Get(string name, Input id, NamespaceState? state public sealed class NamespaceArgs : global::Pulumi.ResourceArgs { /// - /// `(block: <optional>)` - A block of capabilities for the namespace. Can't + /// `(block: <optional>)` - A block of capabilities for the namespace. Can't /// be repeated. See below for the structure of this block. /// [Input("capabilities")] @@ -190,6 +196,12 @@ public InputMap Meta [Input("name")] public Input? Name { get; set; } + /// + /// `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + /// + [Input("nodePoolConfig")] + public Input? NodePoolConfig { get; set; } + /// /// `(string: "")` - A resource quota to attach to the namespace. /// @@ -205,7 +217,7 @@ public NamespaceArgs() public sealed class NamespaceState : global::Pulumi.ResourceArgs { /// - /// `(block: <optional>)` - A block of capabilities for the namespace. Can't + /// `(block: <optional>)` - A block of capabilities for the namespace. Can't /// be repeated. See below for the structure of this block. /// [Input("capabilities")] @@ -235,6 +247,12 @@ public InputMap Meta [Input("name")] public Input? Name { get; set; } + /// + /// `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + /// + [Input("nodePoolConfig")] + public Input? NodePoolConfig { get; set; } + /// /// `(string: "")` - A resource quota to attach to the namespace. /// diff --git a/sdk/dotnet/NodePool.cs b/sdk/dotnet/NodePool.cs new file mode 100644 index 00000000..b19a3454 --- /dev/null +++ b/sdk/dotnet/NodePool.cs @@ -0,0 +1,189 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + /// + /// Provisions a node pool within a Nomad cluster. + /// + /// ## Example Usage + /// + /// Registering a node pool: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var dev = new Nomad.NodePool("dev", new() + /// { + /// Description = "Nodes for the development environment.", + /// Meta = + /// { + /// { "department", "Engineering" }, + /// { "env", "dev" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [NomadResourceType("nomad:index/nodePool:NodePool")] + public partial class NodePool : global::Pulumi.CustomResource + { + /// + /// `(string)` - The description of the node pool. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// `(map[string]string)` - Arbitrary KV metadata associated with the + /// node pool. + /// + [Output("meta")] + public Output?> Meta { get; private set; } = null!; + + /// + /// `(string)` - The name of the node pool. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// `(block)` - Scheduler configuration for the node pool. + /// + [Output("schedulerConfig")] + public Output SchedulerConfig { get; private set; } = null!; + + + /// + /// Create a NodePool resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public NodePool(string name, NodePoolArgs? args = null, CustomResourceOptions? options = null) + : base("nomad:index/nodePool:NodePool", name, args ?? new NodePoolArgs(), MakeResourceOptions(options, "")) + { + } + + private NodePool(string name, Input id, NodePoolState? state = null, CustomResourceOptions? options = null) + : base("nomad:index/nodePool:NodePool", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing NodePool resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static NodePool Get(string name, Input id, NodePoolState? state = null, CustomResourceOptions? options = null) + { + return new NodePool(name, id, state, options); + } + } + + public sealed class NodePoolArgs : global::Pulumi.ResourceArgs + { + /// + /// `(string)` - The description of the node pool. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("meta")] + private InputMap? _meta; + + /// + /// `(map[string]string)` - Arbitrary KV metadata associated with the + /// node pool. + /// + public InputMap Meta + { + get => _meta ?? (_meta = new InputMap()); + set => _meta = value; + } + + /// + /// `(string)` - The name of the node pool. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(block)` - Scheduler configuration for the node pool. + /// + [Input("schedulerConfig")] + public Input? SchedulerConfig { get; set; } + + public NodePoolArgs() + { + } + public static new NodePoolArgs Empty => new NodePoolArgs(); + } + + public sealed class NodePoolState : global::Pulumi.ResourceArgs + { + /// + /// `(string)` - The description of the node pool. + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("meta")] + private InputMap? _meta; + + /// + /// `(map[string]string)` - Arbitrary KV metadata associated with the + /// node pool. + /// + public InputMap Meta + { + get => _meta ?? (_meta = new InputMap()); + set => _meta = value; + } + + /// + /// `(string)` - The name of the node pool. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// `(block)` - Scheduler configuration for the node pool. + /// + [Input("schedulerConfig")] + public Input? SchedulerConfig { get; set; } + + public NodePoolState() + { + } + public static new NodePoolState Empty => new NodePoolState(); + } +} diff --git a/sdk/dotnet/Outputs/AclPolicyJobAcl.cs b/sdk/dotnet/Outputs/AclPolicyJobAcl.cs new file mode 100644 index 00000000..8afead8d --- /dev/null +++ b/sdk/dotnet/Outputs/AclPolicyJobAcl.cs @@ -0,0 +1,54 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class AclPolicyJobAcl + { + /// + /// `(string: <optional>` - The group to attach the policy. Required if + /// `task` is set. + /// + public readonly string? Group; + /// + /// `(string: <optional>` - The job to attach the policy. Required if + /// `group` is set. + /// + public readonly string JobId; + /// + /// `(string: "default")` - The namespace to attach the policy. + /// Required if `job_id` is set. + /// + public readonly string? Namespace; + /// + /// `(string: <optional>` - The task to attach the policy. + /// + /// [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + /// + public readonly string? Task; + + [OutputConstructor] + private AclPolicyJobAcl( + string? group, + + string jobId, + + string? @namespace, + + string? task) + { + Group = group; + JobId = jobId; + Namespace = @namespace; + Task = task; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeCapability.cs b/sdk/dotnet/Outputs/CsiVolumeCapability.cs new file mode 100644 index 00000000..8d2104c5 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeCapability.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeCapability + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + public readonly string AccessMode; + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + public readonly string AttachmentMode; + + [OutputConstructor] + private CsiVolumeCapability( + string accessMode, + + string attachmentMode) + { + AccessMode = accessMode; + AttachmentMode = attachmentMode; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeMountOptions.cs b/sdk/dotnet/Outputs/CsiVolumeMountOptions.cs new file mode 100644 index 00000000..5dd0b213 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeMountOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeMountOptions + { + /// + /// `(string: optional)` - The file system type. + /// + public readonly string? FsType; + /// + /// `[]string: optional` - The flags passed to `mount`. + /// + public readonly ImmutableArray MountFlags; + + [OutputConstructor] + private CsiVolumeMountOptions( + string? fsType, + + ImmutableArray mountFlags) + { + FsType = fsType; + MountFlags = mountFlags; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationCapability.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationCapability.cs new file mode 100644 index 00000000..3fa612f4 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationCapability.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationCapability + { + /// + /// `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + /// - `single-node-reader-only` + /// - `single-node-writer` + /// - `multi-node-reader-only` + /// - `multi-node-single-writer` + /// - `multi-node-multi-writer` + /// + public readonly string AccessMode; + /// + /// `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + /// - `block-device` + /// - `file-system` + /// + public readonly string AttachmentMode; + + [OutputConstructor] + private CsiVolumeRegistrationCapability( + string accessMode, + + string attachmentMode) + { + AccessMode = accessMode; + AttachmentMode = attachmentMode; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationMountOptions.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationMountOptions.cs new file mode 100644 index 00000000..8a09451b --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationMountOptions.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationMountOptions + { + /// + /// `(string: <optional>)` - The file system type. + /// + public readonly string? FsType; + /// + /// `([]string: <optional>)` - The flags passed to `mount`. + /// + public readonly ImmutableArray MountFlags; + + [OutputConstructor] + private CsiVolumeRegistrationMountOptions( + string? fsType, + + ImmutableArray mountFlags) + { + FsType = fsType; + MountFlags = mountFlags; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationTopology.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopology.cs new file mode 100644 index 00000000..dc51a760 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopology.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationTopology + { + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public readonly ImmutableDictionary? Segments; + + [OutputConstructor] + private CsiVolumeRegistrationTopology(ImmutableDictionary? segments) + { + Segments = segments; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequest.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequest.cs new file mode 100644 index 00000000..04fbfe3f --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequest.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationTopologyRequest + { + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + public readonly Outputs.CsiVolumeRegistrationTopologyRequestRequired? Required; + + [OutputConstructor] + private CsiVolumeRegistrationTopologyRequest(Outputs.CsiVolumeRegistrationTopologyRequestRequired? required) + { + Required = required; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequired.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequired.cs new file mode 100644 index 00000000..d196e80a --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequired.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationTopologyRequestRequired + { + public readonly ImmutableArray Topologies; + + [OutputConstructor] + private CsiVolumeRegistrationTopologyRequestRequired(ImmutableArray topologies) + { + Topologies = topologies; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.cs b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.cs new file mode 100644 index 00000000..34cd125b --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeRegistrationTopologyRequestRequiredTopology + { + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public readonly ImmutableDictionary Segments; + + [OutputConstructor] + private CsiVolumeRegistrationTopologyRequestRequiredTopology(ImmutableDictionary segments) + { + Segments = segments; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopology.cs b/sdk/dotnet/Outputs/CsiVolumeTopology.cs new file mode 100644 index 00000000..5faa928e --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopology.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopology + { + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public readonly ImmutableDictionary? Segments; + + [OutputConstructor] + private CsiVolumeTopology(ImmutableDictionary? segments) + { + Segments = segments; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopologyRequest.cs b/sdk/dotnet/Outputs/CsiVolumeTopologyRequest.cs new file mode 100644 index 00000000..2453b851 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopologyRequest.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopologyRequest + { + /// + /// `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + /// + public readonly Outputs.CsiVolumeTopologyRequestPreferred? Preferred; + /// + /// `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + /// + public readonly Outputs.CsiVolumeTopologyRequestRequired? Required; + + [OutputConstructor] + private CsiVolumeTopologyRequest( + Outputs.CsiVolumeTopologyRequestPreferred? preferred, + + Outputs.CsiVolumeTopologyRequestRequired? required) + { + Preferred = preferred; + Required = required; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferred.cs b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferred.cs new file mode 100644 index 00000000..b3dc8401 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferred.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopologyRequestPreferred + { + public readonly ImmutableArray Topologies; + + [OutputConstructor] + private CsiVolumeTopologyRequestPreferred(ImmutableArray topologies) + { + Topologies = topologies; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferredTopology.cs b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferredTopology.cs new file mode 100644 index 00000000..d23c8270 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestPreferredTopology.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopologyRequestPreferredTopology + { + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public readonly ImmutableDictionary Segments; + + [OutputConstructor] + private CsiVolumeTopologyRequestPreferredTopology(ImmutableDictionary segments) + { + Segments = segments; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequired.cs b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequired.cs new file mode 100644 index 00000000..7c6750da --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequired.cs @@ -0,0 +1,24 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopologyRequestRequired + { + public readonly ImmutableArray Topologies; + + [OutputConstructor] + private CsiVolumeTopologyRequestRequired(ImmutableArray topologies) + { + Topologies = topologies; + } + } +} diff --git a/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequiredTopology.cs b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequiredTopology.cs new file mode 100644 index 00000000..39e46e76 --- /dev/null +++ b/sdk/dotnet/Outputs/CsiVolumeTopologyRequestRequiredTopology.cs @@ -0,0 +1,30 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class CsiVolumeTopologyRequestRequiredTopology + { + /// + /// `(map[string]string)` - Define the attributes for the topology request. + /// + /// In addition to the above arguments, the following attributes are exported and + /// can be referenced: + /// + public readonly ImmutableDictionary Segments; + + [OutputConstructor] + private CsiVolumeTopologyRequestRequiredTopology(ImmutableDictionary segments) + { + Segments = segments; + } + } +} diff --git a/sdk/dotnet/Outputs/GetAllocationsAllocationResult.cs b/sdk/dotnet/Outputs/GetAllocationsAllocationResult.cs new file mode 100644 index 00000000..1b9de3c3 --- /dev/null +++ b/sdk/dotnet/Outputs/GetAllocationsAllocationResult.cs @@ -0,0 +1,154 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class GetAllocationsAllocationResult + { + /// + /// `(string)` - The current client status of the allocation. + /// + public readonly string ClientStatus; + /// + /// `(int)` - The Raft index in which the allocation was created. + /// + public readonly int CreateIndex; + /// + /// `(int)` - The timestamp of when the allocation was created. + /// + public readonly int CreateTime; + /// + /// `(string)` - The current desired status of the allocation. + /// + public readonly string DesiredStatus; + /// + /// `(string)` - The ID of the evaluation that generated the allocation. + /// + public readonly string EvalId; + /// + /// `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + /// + public readonly string FollowupEvalId; + /// + /// `(string)` - The ID of the allocation. + /// + public readonly string Id; + /// + /// `(string)` - The ID of the job related to the allocation. + /// + public readonly string JobId; + /// + /// `(string)` - The type of the job related to the allocation. + /// + public readonly string JobType; + /// + /// `(int)` - The version of the job that generated the allocation. + /// + public readonly int JobVersion; + /// + /// `(int)` - The Raft index in which the allocation was last modified. + /// + public readonly int ModifyIndex; + /// + /// `(int)` - The timestamp of when the allocation was last modified. + /// + public readonly int ModifyTime; + /// + /// `(string)` - The name of the allocation. + /// + public readonly string Name; + /// + /// `(string)` - The namespace the allocation belongs to. + /// + public readonly string Namespace; + /// + /// `(string)` - The ID of the allocation that succeeds the allocation. + /// + public readonly string NextAllocation; + /// + /// `(string)` - The ID of the node to which the allocation was scheduled. + /// + public readonly string NodeId; + /// + /// `(string)` - The ID of the node to which the allocation was scheduled. + /// + public readonly string NodeName; + /// + /// `(string)` - The ID of the allocation that preempted the allocation. + /// + public readonly string PreemptedByAllocation; + /// + /// `(string)` - The job task group related to the allocation. + /// + public readonly string TaskGroup; + + [OutputConstructor] + private GetAllocationsAllocationResult( + string clientStatus, + + int createIndex, + + int createTime, + + string desiredStatus, + + string evalId, + + string followupEvalId, + + string id, + + string jobId, + + string jobType, + + int jobVersion, + + int modifyIndex, + + int modifyTime, + + string name, + + string @namespace, + + string nextAllocation, + + string nodeId, + + string nodeName, + + string preemptedByAllocation, + + string taskGroup) + { + ClientStatus = clientStatus; + CreateIndex = createIndex; + CreateTime = createTime; + DesiredStatus = desiredStatus; + EvalId = evalId; + FollowupEvalId = followupEvalId; + Id = id; + JobId = jobId; + JobType = jobType; + JobVersion = jobVersion; + ModifyIndex = modifyIndex; + ModifyTime = modifyTime; + Name = name; + Namespace = @namespace; + NextAllocation = nextAllocation; + NodeId = nodeId; + NodeName = nodeName; + PreemptedByAllocation = preemptedByAllocation; + TaskGroup = taskGroup; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNamespaceNodePoolConfigResult.cs b/sdk/dotnet/Outputs/GetNamespaceNodePoolConfigResult.cs new file mode 100644 index 00000000..1408c6b9 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNamespaceNodePoolConfigResult.cs @@ -0,0 +1,33 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class GetNamespaceNodePoolConfigResult + { + public readonly ImmutableArray Alloweds; + public readonly string Default; + public readonly ImmutableArray Denieds; + + [OutputConstructor] + private GetNamespaceNodePoolConfigResult( + ImmutableArray alloweds, + + string @default, + + ImmutableArray denieds) + { + Alloweds = alloweds; + Default = @default; + Denieds = denieds; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNodePoolSchedulerConfigResult.cs b/sdk/dotnet/Outputs/GetNodePoolSchedulerConfigResult.cs new file mode 100644 index 00000000..6766a479 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNodePoolSchedulerConfigResult.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class GetNodePoolSchedulerConfigResult + { + /// + /// `(string)` - Whether or not memory + /// oversubscription is enabled in the node pool. If empty or not defined the + /// global cluster configuration is used. + /// + public readonly string MemoryOversubscription; + /// + /// `(string)` - The scheduler algorithm used in the node + /// pool. If empty or not defined the global cluster configuration is used. + /// + public readonly string SchedulerAlgorithm; + + [OutputConstructor] + private GetNodePoolSchedulerConfigResult( + string memoryOversubscription, + + string schedulerAlgorithm) + { + MemoryOversubscription = memoryOversubscription; + SchedulerAlgorithm = schedulerAlgorithm; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNodePoolsNodePoolResult.cs b/sdk/dotnet/Outputs/GetNodePoolsNodePoolResult.cs new file mode 100644 index 00000000..4c8fba64 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNodePoolsNodePoolResult.cs @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class GetNodePoolsNodePoolResult + { + /// + /// `(string)` - The description of the node pool. + /// + public readonly string Description; + /// + /// `(map[string]string)` - Arbitrary KV metadata associated with the + /// node pool. + /// + public readonly ImmutableDictionary Meta; + /// + /// `(string)` - The name of the node pool. + /// + public readonly string Name; + /// + /// `(block)` - Scheduler configuration for the node pool. + /// + public readonly ImmutableArray SchedulerConfigs; + + [OutputConstructor] + private GetNodePoolsNodePoolResult( + string description, + + ImmutableDictionary meta, + + string name, + + ImmutableArray schedulerConfigs) + { + Description = description; + Meta = meta; + Name = name; + SchedulerConfigs = schedulerConfigs; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNodePoolsNodePoolSchedulerConfigResult.cs b/sdk/dotnet/Outputs/GetNodePoolsNodePoolSchedulerConfigResult.cs new file mode 100644 index 00000000..a88c5506 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNodePoolsNodePoolSchedulerConfigResult.cs @@ -0,0 +1,38 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class GetNodePoolsNodePoolSchedulerConfigResult + { + /// + /// `(string)` - Whether or not memory + /// oversubscription is enabled in the node pool. If empty or not defined the + /// global cluster configuration is used. + /// + public readonly string MemoryOversubscription; + /// + /// `(string)` - The scheduler algorithm used in the node + /// pool. If empty or not defined the global cluster configuration is used. + /// + public readonly string SchedulerAlgorithm; + + [OutputConstructor] + private GetNodePoolsNodePoolSchedulerConfigResult( + string memoryOversubscription, + + string schedulerAlgorithm) + { + MemoryOversubscription = memoryOversubscription; + SchedulerAlgorithm = schedulerAlgorithm; + } + } +} diff --git a/sdk/dotnet/Outputs/JobHcl2.cs b/sdk/dotnet/Outputs/JobHcl2.cs index 80742ffa..9891a506 100644 --- a/sdk/dotnet/Outputs/JobHcl2.cs +++ b/sdk/dotnet/Outputs/JobHcl2.cs @@ -19,8 +19,8 @@ public sealed class JobHcl2 /// public readonly bool? AllowFs; /// - /// `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - /// format instead of the default HCL. + /// `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + /// HCL2 by default. /// public readonly bool? Enabled; public readonly ImmutableDictionary? Vars; diff --git a/sdk/dotnet/Outputs/NamespaceNodePoolConfig.cs b/sdk/dotnet/Outputs/NamespaceNodePoolConfig.cs new file mode 100644 index 00000000..d016d689 --- /dev/null +++ b/sdk/dotnet/Outputs/NamespaceNodePoolConfig.cs @@ -0,0 +1,42 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class NamespaceNodePoolConfig + { + /// + /// `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + /// + public readonly ImmutableArray Alloweds; + /// + /// `(string: <optional>)` - The default node pool for jobs that don't define one. + /// + public readonly string? Default; + /// + /// `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + /// + public readonly ImmutableArray Denieds; + + [OutputConstructor] + private NamespaceNodePoolConfig( + ImmutableArray alloweds, + + string? @default, + + ImmutableArray denieds) + { + Alloweds = alloweds; + Default = @default; + Denieds = denieds; + } + } +} diff --git a/sdk/dotnet/Outputs/NodePoolSchedulerConfig.cs b/sdk/dotnet/Outputs/NodePoolSchedulerConfig.cs new file mode 100644 index 00000000..0ec85f19 --- /dev/null +++ b/sdk/dotnet/Outputs/NodePoolSchedulerConfig.cs @@ -0,0 +1,44 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad.Outputs +{ + + [OutputType] + public sealed class NodePoolSchedulerConfig + { + /// + /// `(string)` - Whether or not memory + /// oversubscription is enabled in the node pool. Possible values are + /// `"enabled"` or `"disabled"`. If not defined the global cluster + /// configuration is used. + /// + /// > This option differs from Nomad, where it's represented as a boolean, to + /// allow distinguishing between memory oversubscription being disabled in the + /// node pool and this property not being set. + /// + public readonly string? MemoryOversubscription; + /// + /// `(string)` - The scheduler algorithm used in the node + /// pool. Possible values are `binpack` or `spread`. If not defined the global + /// cluster configuration is used. + /// + public readonly string? SchedulerAlgorithm; + + [OutputConstructor] + private NodePoolSchedulerConfig( + string? memoryOversubscription, + + string? schedulerAlgorithm) + { + MemoryOversubscription = memoryOversubscription; + SchedulerAlgorithm = schedulerAlgorithm; + } + } +} diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 71dc9c25..53a92c41 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -227,6 +227,12 @@ public InputMap IgnoreEnvVars [Input("secretId")] public Input? SecretId { get; set; } + /// + /// Skip TLS verification on client side. + /// + [Input("skipVerify", json: true)] + public Input? SkipVerify { get; set; } + [Input("vaultToken")] private Input? _vaultToken; diff --git a/sdk/dotnet/Pulumi.Nomad.csproj b/sdk/dotnet/Pulumi.Nomad.csproj index dda9de18..88086d29 100644 --- a/sdk/dotnet/Pulumi.Nomad.csproj +++ b/sdk/dotnet/Pulumi.Nomad.csproj @@ -12,7 +12,6 @@ net6.0 enable - false diff --git a/sdk/dotnet/Variable.cs b/sdk/dotnet/Variable.cs new file mode 100644 index 00000000..8247e9da --- /dev/null +++ b/sdk/dotnet/Variable.cs @@ -0,0 +1,205 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Nomad +{ + /// + /// ## Example Usage + /// + /// Creating a variable in the default namespace: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var example = new Nomad.Variable("example", new() + /// { + /// Items = + /// { + /// { "example_key", "example_value" }, + /// }, + /// Path = "some/path/of/your/choosing", + /// }); + /// + /// }); + /// ``` + /// + /// Creating a variable in a custom namespace: + /// + /// ```csharp + /// using System.Collections.Generic; + /// using System.Linq; + /// using Pulumi; + /// using Nomad = Pulumi.Nomad; + /// + /// return await Deployment.RunAsync(() => + /// { + /// var exampleNamespace = new Nomad.Namespace("exampleNamespace", new() + /// { + /// Description = "Example namespace.", + /// }); + /// + /// var exampleVariable = new Nomad.Variable("exampleVariable", new() + /// { + /// Path = "some/path/of/your/choosing", + /// Namespace = exampleNamespace.Name, + /// Items = + /// { + /// { "example_key", "example_value" }, + /// }, + /// }); + /// + /// }); + /// ``` + /// + [NomadResourceType("nomad:index/variable:Variable")] + public partial class Variable : global::Pulumi.CustomResource + { + /// + /// `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + /// + [Output("items")] + public Output> Items { get; private set; } = null!; + + /// + /// `(string: "default")` - The namepsace to create the variable in. + /// + [Output("namespace")] + public Output Namespace { get; private set; } = null!; + + /// + /// `(string: <required>)` - A unique path to create the variable at. + /// + [Output("path")] + public Output Path { get; private set; } = null!; + + + /// + /// Create a Variable resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public Variable(string name, VariableArgs args, CustomResourceOptions? options = null) + : base("nomad:index/variable:Variable", name, args ?? new VariableArgs(), MakeResourceOptions(options, "")) + { + } + + private Variable(string name, Input id, VariableState? state = null, CustomResourceOptions? options = null) + : base("nomad:index/variable:Variable", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + AdditionalSecretOutputs = + { + "items", + }, + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing Variable resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static Variable Get(string name, Input id, VariableState? state = null, CustomResourceOptions? options = null) + { + return new Variable(name, id, state, options); + } + } + + public sealed class VariableArgs : global::Pulumi.ResourceArgs + { + [Input("items", required: true)] + private InputMap? _items; + + /// + /// `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + /// + public InputMap Items + { + get => _items ?? (_items = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _items = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// `(string: "default")` - The namepsace to create the variable in. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(string: <required>)` - A unique path to create the variable at. + /// + [Input("path", required: true)] + public Input Path { get; set; } = null!; + + public VariableArgs() + { + } + public static new VariableArgs Empty => new VariableArgs(); + } + + public sealed class VariableState : global::Pulumi.ResourceArgs + { + [Input("items")] + private InputMap? _items; + + /// + /// `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + /// + public InputMap Items + { + get => _items ?? (_items = new InputMap()); + set + { + var emptySecret = Output.CreateSecret(ImmutableDictionary.Create()); + _items = Output.All(value, emptySecret).Apply(v => v[0]); + } + } + + /// + /// `(string: "default")` - The namepsace to create the variable in. + /// + [Input("namespace")] + public Input? Namespace { get; set; } + + /// + /// `(string: <required>)` - A unique path to create the variable at. + /// + [Input("path")] + public Input? Path { get; set; } + + public VariableState() + { + } + public static new VariableState Empty => new VariableState(); + } +} diff --git a/sdk/go.mod b/sdk/go.mod index c88f71dc..e33c4cba 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,4 +1,4 @@ -module github.com/pulumi/pulumi-nomad/sdk +module github.com/pulumi/pulumi-nomad/sdk/v2 go 1.21 diff --git a/sdk/go/nomad/aclAuthMethod.go b/sdk/go/nomad/aclAuthMethod.go index 1dd0b5ed..8c7e3a82 100644 --- a/sdk/go/nomad/aclAuthMethod.go +++ b/sdk/go/nomad/aclAuthMethod.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Manages an ACL Auth Method in Nomad. @@ -22,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -99,6 +101,7 @@ func NewAclAuthMethod(ctx *pulumi.Context, if args.Type == nil { return nil, errors.New("invalid value for required argument 'Type'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AclAuthMethod err := ctx.RegisterResource("nomad:index/aclAuthMethod:AclAuthMethod", name, args, &resource, opts...) if err != nil { @@ -228,6 +231,12 @@ func (i *AclAuthMethod) ToAclAuthMethodOutputWithContext(ctx context.Context) Ac return pulumi.ToOutputWithContext(ctx, i).(AclAuthMethodOutput) } +func (i *AclAuthMethod) ToOutput(ctx context.Context) pulumix.Output[*AclAuthMethod] { + return pulumix.Output[*AclAuthMethod]{ + OutputState: i.ToAclAuthMethodOutputWithContext(ctx).OutputState, + } +} + // AclAuthMethodArrayInput is an input type that accepts AclAuthMethodArray and AclAuthMethodArrayOutput values. // You can construct a concrete instance of `AclAuthMethodArrayInput` via: // @@ -253,6 +262,12 @@ func (i AclAuthMethodArray) ToAclAuthMethodArrayOutputWithContext(ctx context.Co return pulumi.ToOutputWithContext(ctx, i).(AclAuthMethodArrayOutput) } +func (i AclAuthMethodArray) ToOutput(ctx context.Context) pulumix.Output[[]*AclAuthMethod] { + return pulumix.Output[[]*AclAuthMethod]{ + OutputState: i.ToAclAuthMethodArrayOutputWithContext(ctx).OutputState, + } +} + // AclAuthMethodMapInput is an input type that accepts AclAuthMethodMap and AclAuthMethodMapOutput values. // You can construct a concrete instance of `AclAuthMethodMapInput` via: // @@ -278,6 +293,12 @@ func (i AclAuthMethodMap) ToAclAuthMethodMapOutputWithContext(ctx context.Contex return pulumi.ToOutputWithContext(ctx, i).(AclAuthMethodMapOutput) } +func (i AclAuthMethodMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclAuthMethod] { + return pulumix.Output[map[string]*AclAuthMethod]{ + OutputState: i.ToAclAuthMethodMapOutputWithContext(ctx).OutputState, + } +} + type AclAuthMethodOutput struct{ *pulumi.OutputState } func (AclAuthMethodOutput) ElementType() reflect.Type { @@ -292,6 +313,12 @@ func (o AclAuthMethodOutput) ToAclAuthMethodOutputWithContext(ctx context.Contex return o } +func (o AclAuthMethodOutput) ToOutput(ctx context.Context) pulumix.Output[*AclAuthMethod] { + return pulumix.Output[*AclAuthMethod]{ + OutputState: o.OutputState, + } +} + // Configuration specific to the auth method provider. func (o AclAuthMethodOutput) Config() AclAuthMethodConfigOutput { return o.ApplyT(func(v *AclAuthMethod) AclAuthMethodConfigOutput { return v.Config }).(AclAuthMethodConfigOutput) @@ -341,6 +368,12 @@ func (o AclAuthMethodArrayOutput) ToAclAuthMethodArrayOutputWithContext(ctx cont return o } +func (o AclAuthMethodArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*AclAuthMethod] { + return pulumix.Output[[]*AclAuthMethod]{ + OutputState: o.OutputState, + } +} + func (o AclAuthMethodArrayOutput) Index(i pulumi.IntInput) AclAuthMethodOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AclAuthMethod { return vs[0].([]*AclAuthMethod)[vs[1].(int)] @@ -361,6 +394,12 @@ func (o AclAuthMethodMapOutput) ToAclAuthMethodMapOutputWithContext(ctx context. return o } +func (o AclAuthMethodMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclAuthMethod] { + return pulumix.Output[map[string]*AclAuthMethod]{ + OutputState: o.OutputState, + } +} + func (o AclAuthMethodMapOutput) MapIndex(k pulumi.StringInput) AclAuthMethodOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AclAuthMethod { return vs[0].(map[string]*AclAuthMethod)[vs[1].(string)] diff --git a/sdk/go/nomad/aclBindingRule.go b/sdk/go/nomad/aclBindingRule.go index 7cbb6af2..358720aa 100644 --- a/sdk/go/nomad/aclBindingRule.go +++ b/sdk/go/nomad/aclBindingRule.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) type AclBindingRule struct { @@ -17,8 +19,10 @@ type AclBindingRule struct { // `(string: )` - Name of the auth method for which this // rule applies to. AuthMethod pulumi.StringOutput `pulumi:"authMethod"` - // `(string: "")` - Target of the binding. - BindName pulumi.StringOutput `pulumi:"bindName"` + // `(string: )` - Target of the binding. If `bindType` is + // `role` or `policy` then `bindName` is required. If `bindType` is + // `management` than `bindName` must not be defined. + BindName pulumi.StringPtrOutput `pulumi:"bindName"` // `(string: )` - Adjusts how this binding rule is applied // at login time. Valid values are `role`, `policy`, and `management`. BindType pulumi.StringOutput `pulumi:"bindType"` @@ -39,12 +43,10 @@ func NewAclBindingRule(ctx *pulumi.Context, if args.AuthMethod == nil { return nil, errors.New("invalid value for required argument 'AuthMethod'") } - if args.BindName == nil { - return nil, errors.New("invalid value for required argument 'BindName'") - } if args.BindType == nil { return nil, errors.New("invalid value for required argument 'BindType'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AclBindingRule err := ctx.RegisterResource("nomad:index/aclBindingRule:AclBindingRule", name, args, &resource, opts...) if err != nil { @@ -70,7 +72,9 @@ type aclBindingRuleState struct { // `(string: )` - Name of the auth method for which this // rule applies to. AuthMethod *string `pulumi:"authMethod"` - // `(string: "")` - Target of the binding. + // `(string: )` - Target of the binding. If `bindType` is + // `role` or `policy` then `bindName` is required. If `bindType` is + // `management` than `bindName` must not be defined. BindName *string `pulumi:"bindName"` // `(string: )` - Adjusts how this binding rule is applied // at login time. Valid values are `role`, `policy`, and `management`. @@ -86,7 +90,9 @@ type AclBindingRuleState struct { // `(string: )` - Name of the auth method for which this // rule applies to. AuthMethod pulumi.StringPtrInput - // `(string: "")` - Target of the binding. + // `(string: )` - Target of the binding. If `bindType` is + // `role` or `policy` then `bindName` is required. If `bindType` is + // `management` than `bindName` must not be defined. BindName pulumi.StringPtrInput // `(string: )` - Adjusts how this binding rule is applied // at login time. Valid values are `role`, `policy`, and `management`. @@ -106,8 +112,10 @@ type aclBindingRuleArgs struct { // `(string: )` - Name of the auth method for which this // rule applies to. AuthMethod string `pulumi:"authMethod"` - // `(string: "")` - Target of the binding. - BindName string `pulumi:"bindName"` + // `(string: )` - Target of the binding. If `bindType` is + // `role` or `policy` then `bindName` is required. If `bindType` is + // `management` than `bindName` must not be defined. + BindName *string `pulumi:"bindName"` // `(string: )` - Adjusts how this binding rule is applied // at login time. Valid values are `role`, `policy`, and `management`. BindType string `pulumi:"bindType"` @@ -123,8 +131,10 @@ type AclBindingRuleArgs struct { // `(string: )` - Name of the auth method for which this // rule applies to. AuthMethod pulumi.StringInput - // `(string: "")` - Target of the binding. - BindName pulumi.StringInput + // `(string: )` - Target of the binding. If `bindType` is + // `role` or `policy` then `bindName` is required. If `bindType` is + // `management` than `bindName` must not be defined. + BindName pulumi.StringPtrInput // `(string: )` - Adjusts how this binding rule is applied // at login time. Valid values are `role`, `policy`, and `management`. BindType pulumi.StringInput @@ -158,6 +168,12 @@ func (i *AclBindingRule) ToAclBindingRuleOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(AclBindingRuleOutput) } +func (i *AclBindingRule) ToOutput(ctx context.Context) pulumix.Output[*AclBindingRule] { + return pulumix.Output[*AclBindingRule]{ + OutputState: i.ToAclBindingRuleOutputWithContext(ctx).OutputState, + } +} + // AclBindingRuleArrayInput is an input type that accepts AclBindingRuleArray and AclBindingRuleArrayOutput values. // You can construct a concrete instance of `AclBindingRuleArrayInput` via: // @@ -183,6 +199,12 @@ func (i AclBindingRuleArray) ToAclBindingRuleArrayOutputWithContext(ctx context. return pulumi.ToOutputWithContext(ctx, i).(AclBindingRuleArrayOutput) } +func (i AclBindingRuleArray) ToOutput(ctx context.Context) pulumix.Output[[]*AclBindingRule] { + return pulumix.Output[[]*AclBindingRule]{ + OutputState: i.ToAclBindingRuleArrayOutputWithContext(ctx).OutputState, + } +} + // AclBindingRuleMapInput is an input type that accepts AclBindingRuleMap and AclBindingRuleMapOutput values. // You can construct a concrete instance of `AclBindingRuleMapInput` via: // @@ -208,6 +230,12 @@ func (i AclBindingRuleMap) ToAclBindingRuleMapOutputWithContext(ctx context.Cont return pulumi.ToOutputWithContext(ctx, i).(AclBindingRuleMapOutput) } +func (i AclBindingRuleMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclBindingRule] { + return pulumix.Output[map[string]*AclBindingRule]{ + OutputState: i.ToAclBindingRuleMapOutputWithContext(ctx).OutputState, + } +} + type AclBindingRuleOutput struct{ *pulumi.OutputState } func (AclBindingRuleOutput) ElementType() reflect.Type { @@ -222,15 +250,23 @@ func (o AclBindingRuleOutput) ToAclBindingRuleOutputWithContext(ctx context.Cont return o } +func (o AclBindingRuleOutput) ToOutput(ctx context.Context) pulumix.Output[*AclBindingRule] { + return pulumix.Output[*AclBindingRule]{ + OutputState: o.OutputState, + } +} + // `(string: )` - Name of the auth method for which this // rule applies to. func (o AclBindingRuleOutput) AuthMethod() pulumi.StringOutput { return o.ApplyT(func(v *AclBindingRule) pulumi.StringOutput { return v.AuthMethod }).(pulumi.StringOutput) } -// `(string: "")` - Target of the binding. -func (o AclBindingRuleOutput) BindName() pulumi.StringOutput { - return o.ApplyT(func(v *AclBindingRule) pulumi.StringOutput { return v.BindName }).(pulumi.StringOutput) +// `(string: )` - Target of the binding. If `bindType` is +// `role` or `policy` then `bindName` is required. If `bindType` is +// `management` than `bindName` must not be defined. +func (o AclBindingRuleOutput) BindName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AclBindingRule) pulumi.StringPtrOutput { return v.BindName }).(pulumi.StringPtrOutput) } // `(string: )` - Adjusts how this binding rule is applied @@ -264,6 +300,12 @@ func (o AclBindingRuleArrayOutput) ToAclBindingRuleArrayOutputWithContext(ctx co return o } +func (o AclBindingRuleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*AclBindingRule] { + return pulumix.Output[[]*AclBindingRule]{ + OutputState: o.OutputState, + } +} + func (o AclBindingRuleArrayOutput) Index(i pulumi.IntInput) AclBindingRuleOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AclBindingRule { return vs[0].([]*AclBindingRule)[vs[1].(int)] @@ -284,6 +326,12 @@ func (o AclBindingRuleMapOutput) ToAclBindingRuleMapOutputWithContext(ctx contex return o } +func (o AclBindingRuleMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclBindingRule] { + return pulumix.Output[map[string]*AclBindingRule]{ + OutputState: o.OutputState, + } +} + func (o AclBindingRuleMapOutput) MapIndex(k pulumi.StringInput) AclBindingRuleOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AclBindingRule { return vs[0].(map[string]*AclBindingRule)[vs[1].(string)] diff --git a/sdk/go/nomad/aclPolicy.go b/sdk/go/nomad/aclPolicy.go index 079b586d..516a3f52 100644 --- a/sdk/go/nomad/aclPolicy.go +++ b/sdk/go/nomad/aclPolicy.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Manages an ACL policy registered in Nomad. @@ -25,7 +27,7 @@ import ( // "fmt" // "os" // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -62,7 +64,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -86,6 +88,8 @@ type AclPolicy struct { // `(string: "")` - A description of the policy. Description pulumi.StringPtrOutput `pulumi:"description"` + // `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + JobAcl AclPolicyJobAclPtrOutput `pulumi:"jobAcl"` // `(string: )` - A unique name for the policy. Name pulumi.StringOutput `pulumi:"name"` // `(string: )` - The contents of the policy to register, @@ -103,6 +107,7 @@ func NewAclPolicy(ctx *pulumi.Context, if args.RulesHcl == nil { return nil, errors.New("invalid value for required argument 'RulesHcl'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AclPolicy err := ctx.RegisterResource("nomad:index/aclPolicy:AclPolicy", name, args, &resource, opts...) if err != nil { @@ -127,6 +132,8 @@ func GetAclPolicy(ctx *pulumi.Context, type aclPolicyState struct { // `(string: "")` - A description of the policy. Description *string `pulumi:"description"` + // `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + JobAcl *AclPolicyJobAcl `pulumi:"jobAcl"` // `(string: )` - A unique name for the policy. Name *string `pulumi:"name"` // `(string: )` - The contents of the policy to register, @@ -137,6 +144,8 @@ type aclPolicyState struct { type AclPolicyState struct { // `(string: "")` - A description of the policy. Description pulumi.StringPtrInput + // `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + JobAcl AclPolicyJobAclPtrInput // `(string: )` - A unique name for the policy. Name pulumi.StringPtrInput // `(string: )` - The contents of the policy to register, @@ -151,6 +160,8 @@ func (AclPolicyState) ElementType() reflect.Type { type aclPolicyArgs struct { // `(string: "")` - A description of the policy. Description *string `pulumi:"description"` + // `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + JobAcl *AclPolicyJobAcl `pulumi:"jobAcl"` // `(string: )` - A unique name for the policy. Name *string `pulumi:"name"` // `(string: )` - The contents of the policy to register, @@ -162,6 +173,8 @@ type aclPolicyArgs struct { type AclPolicyArgs struct { // `(string: "")` - A description of the policy. Description pulumi.StringPtrInput + // `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + JobAcl AclPolicyJobAclPtrInput // `(string: )` - A unique name for the policy. Name pulumi.StringPtrInput // `(string: )` - The contents of the policy to register, @@ -192,6 +205,12 @@ func (i *AclPolicy) ToAclPolicyOutputWithContext(ctx context.Context) AclPolicyO return pulumi.ToOutputWithContext(ctx, i).(AclPolicyOutput) } +func (i *AclPolicy) ToOutput(ctx context.Context) pulumix.Output[*AclPolicy] { + return pulumix.Output[*AclPolicy]{ + OutputState: i.ToAclPolicyOutputWithContext(ctx).OutputState, + } +} + // AclPolicyArrayInput is an input type that accepts AclPolicyArray and AclPolicyArrayOutput values. // You can construct a concrete instance of `AclPolicyArrayInput` via: // @@ -217,6 +236,12 @@ func (i AclPolicyArray) ToAclPolicyArrayOutputWithContext(ctx context.Context) A return pulumi.ToOutputWithContext(ctx, i).(AclPolicyArrayOutput) } +func (i AclPolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]*AclPolicy] { + return pulumix.Output[[]*AclPolicy]{ + OutputState: i.ToAclPolicyArrayOutputWithContext(ctx).OutputState, + } +} + // AclPolicyMapInput is an input type that accepts AclPolicyMap and AclPolicyMapOutput values. // You can construct a concrete instance of `AclPolicyMapInput` via: // @@ -242,6 +267,12 @@ func (i AclPolicyMap) ToAclPolicyMapOutputWithContext(ctx context.Context) AclPo return pulumi.ToOutputWithContext(ctx, i).(AclPolicyMapOutput) } +func (i AclPolicyMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclPolicy] { + return pulumix.Output[map[string]*AclPolicy]{ + OutputState: i.ToAclPolicyMapOutputWithContext(ctx).OutputState, + } +} + type AclPolicyOutput struct{ *pulumi.OutputState } func (AclPolicyOutput) ElementType() reflect.Type { @@ -256,11 +287,22 @@ func (o AclPolicyOutput) ToAclPolicyOutputWithContext(ctx context.Context) AclPo return o } +func (o AclPolicyOutput) ToOutput(ctx context.Context) pulumix.Output[*AclPolicy] { + return pulumix.Output[*AclPolicy]{ + OutputState: o.OutputState, + } +} + // `(string: "")` - A description of the policy. func (o AclPolicyOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *AclPolicy) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) } +// `(“JobACL“: )` - Options for assigning the ACL rules to a job, group, or task. +func (o AclPolicyOutput) JobAcl() AclPolicyJobAclPtrOutput { + return o.ApplyT(func(v *AclPolicy) AclPolicyJobAclPtrOutput { return v.JobAcl }).(AclPolicyJobAclPtrOutput) +} + // `(string: )` - A unique name for the policy. func (o AclPolicyOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *AclPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -286,6 +328,12 @@ func (o AclPolicyArrayOutput) ToAclPolicyArrayOutputWithContext(ctx context.Cont return o } +func (o AclPolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*AclPolicy] { + return pulumix.Output[[]*AclPolicy]{ + OutputState: o.OutputState, + } +} + func (o AclPolicyArrayOutput) Index(i pulumi.IntInput) AclPolicyOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AclPolicy { return vs[0].([]*AclPolicy)[vs[1].(int)] @@ -306,6 +354,12 @@ func (o AclPolicyMapOutput) ToAclPolicyMapOutputWithContext(ctx context.Context) return o } +func (o AclPolicyMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclPolicy] { + return pulumix.Output[map[string]*AclPolicy]{ + OutputState: o.OutputState, + } +} + func (o AclPolicyMapOutput) MapIndex(k pulumi.StringInput) AclPolicyOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AclPolicy { return vs[0].(map[string]*AclPolicy)[vs[1].(string)] diff --git a/sdk/go/nomad/aclRole.go b/sdk/go/nomad/aclRole.go index f7e3cc06..90c72cbb 100644 --- a/sdk/go/nomad/aclRole.go +++ b/sdk/go/nomad/aclRole.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) type AclRole struct { @@ -33,6 +35,7 @@ func NewAclRole(ctx *pulumi.Context, if args.Policies == nil { return nil, errors.New("invalid value for required argument 'Policies'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource AclRole err := ctx.RegisterResource("nomad:index/aclRole:AclRole", name, args, &resource, opts...) if err != nil { @@ -122,6 +125,12 @@ func (i *AclRole) ToAclRoleOutputWithContext(ctx context.Context) AclRoleOutput return pulumi.ToOutputWithContext(ctx, i).(AclRoleOutput) } +func (i *AclRole) ToOutput(ctx context.Context) pulumix.Output[*AclRole] { + return pulumix.Output[*AclRole]{ + OutputState: i.ToAclRoleOutputWithContext(ctx).OutputState, + } +} + // AclRoleArrayInput is an input type that accepts AclRoleArray and AclRoleArrayOutput values. // You can construct a concrete instance of `AclRoleArrayInput` via: // @@ -147,6 +156,12 @@ func (i AclRoleArray) ToAclRoleArrayOutputWithContext(ctx context.Context) AclRo return pulumi.ToOutputWithContext(ctx, i).(AclRoleArrayOutput) } +func (i AclRoleArray) ToOutput(ctx context.Context) pulumix.Output[[]*AclRole] { + return pulumix.Output[[]*AclRole]{ + OutputState: i.ToAclRoleArrayOutputWithContext(ctx).OutputState, + } +} + // AclRoleMapInput is an input type that accepts AclRoleMap and AclRoleMapOutput values. // You can construct a concrete instance of `AclRoleMapInput` via: // @@ -172,6 +187,12 @@ func (i AclRoleMap) ToAclRoleMapOutputWithContext(ctx context.Context) AclRoleMa return pulumi.ToOutputWithContext(ctx, i).(AclRoleMapOutput) } +func (i AclRoleMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclRole] { + return pulumix.Output[map[string]*AclRole]{ + OutputState: i.ToAclRoleMapOutputWithContext(ctx).OutputState, + } +} + type AclRoleOutput struct{ *pulumi.OutputState } func (AclRoleOutput) ElementType() reflect.Type { @@ -186,6 +207,12 @@ func (o AclRoleOutput) ToAclRoleOutputWithContext(ctx context.Context) AclRoleOu return o } +func (o AclRoleOutput) ToOutput(ctx context.Context) pulumix.Output[*AclRole] { + return pulumix.Output[*AclRole]{ + OutputState: o.OutputState, + } +} + // `(string: "")` - A description of the ACL Role. func (o AclRoleOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *AclRole) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) @@ -216,6 +243,12 @@ func (o AclRoleArrayOutput) ToAclRoleArrayOutputWithContext(ctx context.Context) return o } +func (o AclRoleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*AclRole] { + return pulumix.Output[[]*AclRole]{ + OutputState: o.OutputState, + } +} + func (o AclRoleArrayOutput) Index(i pulumi.IntInput) AclRoleOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AclRole { return vs[0].([]*AclRole)[vs[1].(int)] @@ -236,6 +269,12 @@ func (o AclRoleMapOutput) ToAclRoleMapOutputWithContext(ctx context.Context) Acl return o } +func (o AclRoleMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclRole] { + return pulumix.Output[map[string]*AclRole]{ + OutputState: o.OutputState, + } +} + func (o AclRoleMapOutput) MapIndex(k pulumi.StringInput) AclRoleOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AclRole { return vs[0].(map[string]*AclRole)[vs[1].(string)] diff --git a/sdk/go/nomad/aclToken.go b/sdk/go/nomad/aclToken.go index d8804ae1..4bcaa2d9 100644 --- a/sdk/go/nomad/aclToken.go +++ b/sdk/go/nomad/aclToken.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // ## Example Usage @@ -20,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,7 +52,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -81,7 +83,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -107,7 +109,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -182,6 +184,7 @@ func NewAclToken(ctx *pulumi.Context, "secretId", }) opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) var resource AclToken err := ctx.RegisterResource("nomad:index/aclToken:AclToken", name, args, &resource, opts...) if err != nil { @@ -357,6 +360,12 @@ func (i *AclToken) ToAclTokenOutputWithContext(ctx context.Context) AclTokenOutp return pulumi.ToOutputWithContext(ctx, i).(AclTokenOutput) } +func (i *AclToken) ToOutput(ctx context.Context) pulumix.Output[*AclToken] { + return pulumix.Output[*AclToken]{ + OutputState: i.ToAclTokenOutputWithContext(ctx).OutputState, + } +} + // AclTokenArrayInput is an input type that accepts AclTokenArray and AclTokenArrayOutput values. // You can construct a concrete instance of `AclTokenArrayInput` via: // @@ -382,6 +391,12 @@ func (i AclTokenArray) ToAclTokenArrayOutputWithContext(ctx context.Context) Acl return pulumi.ToOutputWithContext(ctx, i).(AclTokenArrayOutput) } +func (i AclTokenArray) ToOutput(ctx context.Context) pulumix.Output[[]*AclToken] { + return pulumix.Output[[]*AclToken]{ + OutputState: i.ToAclTokenArrayOutputWithContext(ctx).OutputState, + } +} + // AclTokenMapInput is an input type that accepts AclTokenMap and AclTokenMapOutput values. // You can construct a concrete instance of `AclTokenMapInput` via: // @@ -407,6 +422,12 @@ func (i AclTokenMap) ToAclTokenMapOutputWithContext(ctx context.Context) AclToke return pulumi.ToOutputWithContext(ctx, i).(AclTokenMapOutput) } +func (i AclTokenMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclToken] { + return pulumix.Output[map[string]*AclToken]{ + OutputState: i.ToAclTokenMapOutputWithContext(ctx).OutputState, + } +} + type AclTokenOutput struct{ *pulumi.OutputState } func (AclTokenOutput) ElementType() reflect.Type { @@ -421,6 +442,12 @@ func (o AclTokenOutput) ToAclTokenOutputWithContext(ctx context.Context) AclToke return o } +func (o AclTokenOutput) ToOutput(ctx context.Context) pulumix.Output[*AclToken] { + return pulumix.Output[*AclToken]{ + OutputState: o.OutputState, + } +} + // `(string)` - A non-sensitive identifier for this token that // can be logged and shared safely without granting any access to the cluster. func (o AclTokenOutput) AccessorId() pulumi.StringOutput { @@ -499,6 +526,12 @@ func (o AclTokenArrayOutput) ToAclTokenArrayOutputWithContext(ctx context.Contex return o } +func (o AclTokenArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*AclToken] { + return pulumix.Output[[]*AclToken]{ + OutputState: o.OutputState, + } +} + func (o AclTokenArrayOutput) Index(i pulumi.IntInput) AclTokenOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AclToken { return vs[0].([]*AclToken)[vs[1].(int)] @@ -519,6 +552,12 @@ func (o AclTokenMapOutput) ToAclTokenMapOutputWithContext(ctx context.Context) A return o } +func (o AclTokenMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*AclToken] { + return pulumix.Output[map[string]*AclToken]{ + OutputState: o.OutputState, + } +} + func (o AclTokenMapOutput) MapIndex(k pulumi.StringInput) AclTokenOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AclToken { return vs[0].(map[string]*AclToken)[vs[1].(string)] diff --git a/sdk/go/nomad/config/config.go b/sdk/go/nomad/config/config.go index 597c20d5..4f2f5bbf 100644 --- a/sdk/go/nomad/config/config.go +++ b/sdk/go/nomad/config/config.go @@ -4,10 +4,13 @@ package config import ( + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" ) +var _ = internal.GetEnvOrDefault + // URL of the root of the target Nomad agent. func GetAddress(ctx *pulumi.Context) string { return config.Get(ctx, "nomad:address") @@ -73,6 +76,11 @@ func GetSecretId(ctx *pulumi.Context) string { return config.Get(ctx, "nomad:secretId") } +// Skip TLS verification on client side. +func GetSkipVerify(ctx *pulumi.Context) bool { + return config.GetBool(ctx, "nomad:skipVerify") +} + // Vault token if policies are specified in the job file. func GetVaultToken(ctx *pulumi.Context) string { return config.Get(ctx, "nomad:vaultToken") diff --git a/sdk/go/nomad/config/pulumiTypes.go b/sdk/go/nomad/config/pulumiTypes.go index 7fc5ada8..de72e89c 100644 --- a/sdk/go/nomad/config/pulumiTypes.go +++ b/sdk/go/nomad/config/pulumiTypes.go @@ -7,9 +7,13 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) +var _ = internal.GetEnvOrDefault + type Headers struct { Name string `pulumi:"name"` Value string `pulumi:"value"` @@ -43,6 +47,12 @@ func (i HeadersArgs) ToHeadersOutputWithContext(ctx context.Context) HeadersOutp return pulumi.ToOutputWithContext(ctx, i).(HeadersOutput) } +func (i HeadersArgs) ToOutput(ctx context.Context) pulumix.Output[Headers] { + return pulumix.Output[Headers]{ + OutputState: i.ToHeadersOutputWithContext(ctx).OutputState, + } +} + // HeadersArrayInput is an input type that accepts HeadersArray and HeadersArrayOutput values. // You can construct a concrete instance of `HeadersArrayInput` via: // @@ -68,6 +78,12 @@ func (i HeadersArray) ToHeadersArrayOutputWithContext(ctx context.Context) Heade return pulumi.ToOutputWithContext(ctx, i).(HeadersArrayOutput) } +func (i HeadersArray) ToOutput(ctx context.Context) pulumix.Output[[]Headers] { + return pulumix.Output[[]Headers]{ + OutputState: i.ToHeadersArrayOutputWithContext(ctx).OutputState, + } +} + type HeadersOutput struct{ *pulumi.OutputState } func (HeadersOutput) ElementType() reflect.Type { @@ -82,6 +98,12 @@ func (o HeadersOutput) ToHeadersOutputWithContext(ctx context.Context) HeadersOu return o } +func (o HeadersOutput) ToOutput(ctx context.Context) pulumix.Output[Headers] { + return pulumix.Output[Headers]{ + OutputState: o.OutputState, + } +} + func (o HeadersOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v Headers) string { return v.Name }).(pulumi.StringOutput) } @@ -104,6 +126,12 @@ func (o HeadersArrayOutput) ToHeadersArrayOutputWithContext(ctx context.Context) return o } +func (o HeadersArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]Headers] { + return pulumix.Output[[]Headers]{ + OutputState: o.OutputState, + } +} + func (o HeadersArrayOutput) Index(i pulumi.IntInput) HeadersOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) Headers { return vs[0].([]Headers)[vs[1].(int)] diff --git a/sdk/go/nomad/csiVolume.go b/sdk/go/nomad/csiVolume.go new file mode 100644 index 00000000..814dbf8b --- /dev/null +++ b/sdk/go/nomad/csiVolume.go @@ -0,0 +1,612 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// ## Example Usage +// +// Creating a volume: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// ebs, err := nomad.GetPlugin(ctx, &nomad.GetPluginArgs{ +// PluginId: "aws-ebs0", +// WaitForHealthy: pulumi.BoolRef(true), +// }, nil) +// if err != nil { +// return err +// } +// _, err = nomad.NewCsiVolume(ctx, "mysqlVolume", &nomad.CsiVolumeArgs{ +// PluginId: pulumi.String("aws-ebs0"), +// VolumeId: pulumi.String("mysql_volume"), +// CapacityMin: pulumi.String("10GiB"), +// CapacityMax: pulumi.String("20GiB"), +// Capabilities: nomad.CsiVolumeCapabilityArray{ +// &nomad.CsiVolumeCapabilityArgs{ +// AccessMode: pulumi.String("single-node-writer"), +// AttachmentMode: pulumi.String("file-system"), +// }, +// }, +// MountOptions: &nomad.CsiVolumeMountOptionsArgs{ +// FsType: pulumi.String("ext4"), +// }, +// TopologyRequest: &nomad.CsiVolumeTopologyRequestArgs{ +// Required: &nomad.CsiVolumeTopologyRequestRequiredArgs{ +// Topologies: nomad.CsiVolumeTopologyRequestRequiredTopologyArray{ +// &nomad.CsiVolumeTopologyRequestRequiredTopologyArgs{ +// Segments: pulumi.StringMap{ +// "rack": pulumi.String("R1"), +// "zone": pulumi.String("us-east-1a"), +// }, +// }, +// &nomad.CsiVolumeTopologyRequestRequiredTopologyArgs{ +// Segments: pulumi.StringMap{ +// "rack": pulumi.String("R2"), +// }, +// }, +// }, +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// ebs, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type CsiVolume struct { + pulumi.CustomResourceState + + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeCapabilityArrayOutput `pulumi:"capabilities"` + // `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + CapacityMax pulumi.StringPtrOutput `pulumi:"capacityMax"` + // `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + CapacityMin pulumi.StringPtrOutput `pulumi:"capacityMin"` + // `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + CloneId pulumi.StringPtrOutput `pulumi:"cloneId"` + // `(boolean)` + ControllerRequired pulumi.BoolOutput `pulumi:"controllerRequired"` + // `(integer)` + ControllersExpected pulumi.IntOutput `pulumi:"controllersExpected"` + // `(integer)` + ControllersHealthy pulumi.IntOutput `pulumi:"controllersHealthy"` + // `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeMountOptionsPtrOutput `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name pulumi.StringOutput `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrOutput `pulumi:"namespace"` + // `(integer)` + NodesExpected pulumi.IntOutput `pulumi:"nodesExpected"` + // `(integer)` + NodesHealthy pulumi.IntOutput `pulumi:"nodesHealthy"` + // `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapOutput `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringOutput `pulumi:"pluginId"` + // `(string)` + PluginProvider pulumi.StringOutput `pulumi:"pluginProvider"` + // `(string)` + PluginProviderVersion pulumi.StringOutput `pulumi:"pluginProviderVersion"` + // `(boolean)` + Schedulable pulumi.BoolOutput `pulumi:"schedulable"` + // `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapOutput `pulumi:"secrets"` + // `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + SnapshotId pulumi.StringPtrOutput `pulumi:"snapshotId"` + // `(List of topologies)` + Topologies CsiVolumeTopologyArrayOutput `pulumi:"topologies"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeTopologyRequestPtrOutput `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringOutput `pulumi:"volumeId"` +} + +// NewCsiVolume registers a new resource with the given unique name, arguments, and options. +func NewCsiVolume(ctx *pulumi.Context, + name string, args *CsiVolumeArgs, opts ...pulumi.ResourceOption) (*CsiVolume, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Capabilities == nil { + return nil, errors.New("invalid value for required argument 'Capabilities'") + } + if args.PluginId == nil { + return nil, errors.New("invalid value for required argument 'PluginId'") + } + if args.VolumeId == nil { + return nil, errors.New("invalid value for required argument 'VolumeId'") + } + if args.Secrets != nil { + args.Secrets = pulumi.ToSecret(args.Secrets).(pulumi.StringMapInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "secrets", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource CsiVolume + err := ctx.RegisterResource("nomad:index/csiVolume:CsiVolume", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCsiVolume gets an existing CsiVolume resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCsiVolume(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CsiVolumeState, opts ...pulumi.ResourceOption) (*CsiVolume, error) { + var resource CsiVolume + err := ctx.ReadResource("nomad:index/csiVolume:CsiVolume", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CsiVolume resources. +type csiVolumeState struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities []CsiVolumeCapability `pulumi:"capabilities"` + // `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + CapacityMax *string `pulumi:"capacityMax"` + // `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + CapacityMin *string `pulumi:"capacityMin"` + // `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + CloneId *string `pulumi:"cloneId"` + // `(boolean)` + ControllerRequired *bool `pulumi:"controllerRequired"` + // `(integer)` + ControllersExpected *int `pulumi:"controllersExpected"` + // `(integer)` + ControllersHealthy *int `pulumi:"controllersHealthy"` + // `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions *CsiVolumeMountOptions `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name *string `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace *string `pulumi:"namespace"` + // `(integer)` + NodesExpected *int `pulumi:"nodesExpected"` + // `(integer)` + NodesHealthy *int `pulumi:"nodesHealthy"` + // `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters map[string]string `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId *string `pulumi:"pluginId"` + // `(string)` + PluginProvider *string `pulumi:"pluginProvider"` + // `(string)` + PluginProviderVersion *string `pulumi:"pluginProviderVersion"` + // `(boolean)` + Schedulable *bool `pulumi:"schedulable"` + // `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets map[string]string `pulumi:"secrets"` + // `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + SnapshotId *string `pulumi:"snapshotId"` + // `(List of topologies)` + Topologies []CsiVolumeTopology `pulumi:"topologies"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest *CsiVolumeTopologyRequest `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId *string `pulumi:"volumeId"` +} + +type CsiVolumeState struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeCapabilityArrayInput + // `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + CapacityMax pulumi.StringPtrInput + // `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + CapacityMin pulumi.StringPtrInput + // `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + CloneId pulumi.StringPtrInput + // `(boolean)` + ControllerRequired pulumi.BoolPtrInput + // `(integer)` + ControllersExpected pulumi.IntPtrInput + // `(integer)` + ControllersHealthy pulumi.IntPtrInput + // `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeMountOptionsPtrInput + // `(string: )` - The display name for the volume. + Name pulumi.StringPtrInput + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrInput + // `(integer)` + NodesExpected pulumi.IntPtrInput + // `(integer)` + NodesHealthy pulumi.IntPtrInput + // `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapInput + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringPtrInput + // `(string)` + PluginProvider pulumi.StringPtrInput + // `(string)` + PluginProviderVersion pulumi.StringPtrInput + // `(boolean)` + Schedulable pulumi.BoolPtrInput + // `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapInput + // `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + SnapshotId pulumi.StringPtrInput + // `(List of topologies)` + Topologies CsiVolumeTopologyArrayInput + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeTopologyRequestPtrInput + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringPtrInput +} + +func (CsiVolumeState) ElementType() reflect.Type { + return reflect.TypeOf((*csiVolumeState)(nil)).Elem() +} + +type csiVolumeArgs struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities []CsiVolumeCapability `pulumi:"capabilities"` + // `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + CapacityMax *string `pulumi:"capacityMax"` + // `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + CapacityMin *string `pulumi:"capacityMin"` + // `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + CloneId *string `pulumi:"cloneId"` + // `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions *CsiVolumeMountOptions `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name *string `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace *string `pulumi:"namespace"` + // `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters map[string]string `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId string `pulumi:"pluginId"` + // `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets map[string]string `pulumi:"secrets"` + // `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + SnapshotId *string `pulumi:"snapshotId"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest *CsiVolumeTopologyRequest `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId string `pulumi:"volumeId"` +} + +// The set of arguments for constructing a CsiVolume resource. +type CsiVolumeArgs struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeCapabilityArrayInput + // `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + CapacityMax pulumi.StringPtrInput + // `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + CapacityMin pulumi.StringPtrInput + // `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + CloneId pulumi.StringPtrInput + // `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeMountOptionsPtrInput + // `(string: )` - The display name for the volume. + Name pulumi.StringPtrInput + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrInput + // `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapInput + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringInput + // `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapInput + // `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + SnapshotId pulumi.StringPtrInput + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeTopologyRequestPtrInput + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringInput +} + +func (CsiVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*csiVolumeArgs)(nil)).Elem() +} + +type CsiVolumeInput interface { + pulumi.Input + + ToCsiVolumeOutput() CsiVolumeOutput + ToCsiVolumeOutputWithContext(ctx context.Context) CsiVolumeOutput +} + +func (*CsiVolume) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolume)(nil)).Elem() +} + +func (i *CsiVolume) ToCsiVolumeOutput() CsiVolumeOutput { + return i.ToCsiVolumeOutputWithContext(context.Background()) +} + +func (i *CsiVolume) ToCsiVolumeOutputWithContext(ctx context.Context) CsiVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeOutput) +} + +func (i *CsiVolume) ToOutput(ctx context.Context) pulumix.Output[*CsiVolume] { + return pulumix.Output[*CsiVolume]{ + OutputState: i.ToCsiVolumeOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeArrayInput is an input type that accepts CsiVolumeArray and CsiVolumeArrayOutput values. +// You can construct a concrete instance of `CsiVolumeArrayInput` via: +// +// CsiVolumeArray{ CsiVolumeArgs{...} } +type CsiVolumeArrayInput interface { + pulumi.Input + + ToCsiVolumeArrayOutput() CsiVolumeArrayOutput + ToCsiVolumeArrayOutputWithContext(context.Context) CsiVolumeArrayOutput +} + +type CsiVolumeArray []CsiVolumeInput + +func (CsiVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CsiVolume)(nil)).Elem() +} + +func (i CsiVolumeArray) ToCsiVolumeArrayOutput() CsiVolumeArrayOutput { + return i.ToCsiVolumeArrayOutputWithContext(context.Background()) +} + +func (i CsiVolumeArray) ToCsiVolumeArrayOutputWithContext(ctx context.Context) CsiVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeArrayOutput) +} + +func (i CsiVolumeArray) ToOutput(ctx context.Context) pulumix.Output[[]*CsiVolume] { + return pulumix.Output[[]*CsiVolume]{ + OutputState: i.ToCsiVolumeArrayOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeMapInput is an input type that accepts CsiVolumeMap and CsiVolumeMapOutput values. +// You can construct a concrete instance of `CsiVolumeMapInput` via: +// +// CsiVolumeMap{ "key": CsiVolumeArgs{...} } +type CsiVolumeMapInput interface { + pulumi.Input + + ToCsiVolumeMapOutput() CsiVolumeMapOutput + ToCsiVolumeMapOutputWithContext(context.Context) CsiVolumeMapOutput +} + +type CsiVolumeMap map[string]CsiVolumeInput + +func (CsiVolumeMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CsiVolume)(nil)).Elem() +} + +func (i CsiVolumeMap) ToCsiVolumeMapOutput() CsiVolumeMapOutput { + return i.ToCsiVolumeMapOutputWithContext(context.Background()) +} + +func (i CsiVolumeMap) ToCsiVolumeMapOutputWithContext(ctx context.Context) CsiVolumeMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeMapOutput) +} + +func (i CsiVolumeMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*CsiVolume] { + return pulumix.Output[map[string]*CsiVolume]{ + OutputState: i.ToCsiVolumeMapOutputWithContext(ctx).OutputState, + } +} + +type CsiVolumeOutput struct{ *pulumi.OutputState } + +func (CsiVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolume)(nil)).Elem() +} + +func (o CsiVolumeOutput) ToCsiVolumeOutput() CsiVolumeOutput { + return o +} + +func (o CsiVolumeOutput) ToCsiVolumeOutputWithContext(ctx context.Context) CsiVolumeOutput { + return o +} + +func (o CsiVolumeOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolume] { + return pulumix.Output[*CsiVolume]{ + OutputState: o.OutputState, + } +} + +// `(“Capability“: )` - Options for validating the capability of a volume. +func (o CsiVolumeOutput) Capabilities() CsiVolumeCapabilityArrayOutput { + return o.ApplyT(func(v *CsiVolume) CsiVolumeCapabilityArrayOutput { return v.Capabilities }).(CsiVolumeCapabilityArrayOutput) +} + +// `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. +func (o CsiVolumeOutput) CapacityMax() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringPtrOutput { return v.CapacityMax }).(pulumi.StringPtrOutput) +} + +// `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. +func (o CsiVolumeOutput) CapacityMin() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringPtrOutput { return v.CapacityMin }).(pulumi.StringPtrOutput) +} + +// `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. +func (o CsiVolumeOutput) CloneId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringPtrOutput { return v.CloneId }).(pulumi.StringPtrOutput) +} + +// `(boolean)` +func (o CsiVolumeOutput) ControllerRequired() pulumi.BoolOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.BoolOutput { return v.ControllerRequired }).(pulumi.BoolOutput) +} + +// `(integer)` +func (o CsiVolumeOutput) ControllersExpected() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.IntOutput { return v.ControllersExpected }).(pulumi.IntOutput) +} + +// `(integer)` +func (o CsiVolumeOutput) ControllersHealthy() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.IntOutput { return v.ControllersHealthy }).(pulumi.IntOutput) +} + +// `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. +func (o CsiVolumeOutput) MountOptions() CsiVolumeMountOptionsPtrOutput { + return o.ApplyT(func(v *CsiVolume) CsiVolumeMountOptionsPtrOutput { return v.MountOptions }).(CsiVolumeMountOptionsPtrOutput) +} + +// `(string: )` - The display name for the volume. +func (o CsiVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// `(string: "default")` - The namespace in which to register the volume. +func (o CsiVolumeOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringPtrOutput { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// `(integer)` +func (o CsiVolumeOutput) NodesExpected() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.IntOutput { return v.NodesExpected }).(pulumi.IntOutput) +} + +// `(integer)` +func (o CsiVolumeOutput) NodesHealthy() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.IntOutput { return v.NodesHealthy }).(pulumi.IntOutput) +} + +// `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. +func (o CsiVolumeOutput) Parameters() pulumi.StringMapOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +} + +// `(string: )` - The ID of the Nomad plugin for registering this volume. +func (o CsiVolumeOutput) PluginId() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringOutput { return v.PluginId }).(pulumi.StringOutput) +} + +// `(string)` +func (o CsiVolumeOutput) PluginProvider() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringOutput { return v.PluginProvider }).(pulumi.StringOutput) +} + +// `(string)` +func (o CsiVolumeOutput) PluginProviderVersion() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringOutput { return v.PluginProviderVersion }).(pulumi.StringOutput) +} + +// `(boolean)` +func (o CsiVolumeOutput) Schedulable() pulumi.BoolOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.BoolOutput { return v.Schedulable }).(pulumi.BoolOutput) +} + +// `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. +func (o CsiVolumeOutput) Secrets() pulumi.StringMapOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringMapOutput { return v.Secrets }).(pulumi.StringMapOutput) +} + +// `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. +func (o CsiVolumeOutput) SnapshotId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringPtrOutput { return v.SnapshotId }).(pulumi.StringPtrOutput) +} + +// `(List of topologies)` +func (o CsiVolumeOutput) Topologies() CsiVolumeTopologyArrayOutput { + return o.ApplyT(func(v *CsiVolume) CsiVolumeTopologyArrayOutput { return v.Topologies }).(CsiVolumeTopologyArrayOutput) +} + +// `(“TopologyRequest“: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. +func (o CsiVolumeOutput) TopologyRequest() CsiVolumeTopologyRequestPtrOutput { + return o.ApplyT(func(v *CsiVolume) CsiVolumeTopologyRequestPtrOutput { return v.TopologyRequest }).(CsiVolumeTopologyRequestPtrOutput) +} + +// `(string: )` - The unique ID of the volume. +func (o CsiVolumeOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolume) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput) +} + +type CsiVolumeArrayOutput struct{ *pulumi.OutputState } + +func (CsiVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CsiVolume)(nil)).Elem() +} + +func (o CsiVolumeArrayOutput) ToCsiVolumeArrayOutput() CsiVolumeArrayOutput { + return o +} + +func (o CsiVolumeArrayOutput) ToCsiVolumeArrayOutputWithContext(ctx context.Context) CsiVolumeArrayOutput { + return o +} + +func (o CsiVolumeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*CsiVolume] { + return pulumix.Output[[]*CsiVolume]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeArrayOutput) Index(i pulumi.IntInput) CsiVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CsiVolume { + return vs[0].([]*CsiVolume)[vs[1].(int)] + }).(CsiVolumeOutput) +} + +type CsiVolumeMapOutput struct{ *pulumi.OutputState } + +func (CsiVolumeMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CsiVolume)(nil)).Elem() +} + +func (o CsiVolumeMapOutput) ToCsiVolumeMapOutput() CsiVolumeMapOutput { + return o +} + +func (o CsiVolumeMapOutput) ToCsiVolumeMapOutputWithContext(ctx context.Context) CsiVolumeMapOutput { + return o +} + +func (o CsiVolumeMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*CsiVolume] { + return pulumix.Output[map[string]*CsiVolume]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeMapOutput) MapIndex(k pulumi.StringInput) CsiVolumeOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CsiVolume { + return vs[0].(map[string]*CsiVolume)[vs[1].(string)] + }).(CsiVolumeOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeInput)(nil)).Elem(), &CsiVolume{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeArrayInput)(nil)).Elem(), CsiVolumeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeMapInput)(nil)).Elem(), CsiVolumeMap{}) + pulumi.RegisterOutputType(CsiVolumeOutput{}) + pulumi.RegisterOutputType(CsiVolumeArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeMapOutput{}) +} diff --git a/sdk/go/nomad/csiVolumeRegistration.go b/sdk/go/nomad/csiVolumeRegistration.go new file mode 100644 index 00000000..1803867e --- /dev/null +++ b/sdk/go/nomad/csiVolumeRegistration.go @@ -0,0 +1,596 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// ## Example Usage +// +// Registering a volume: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// ebs, err := nomad.GetPlugin(ctx, &nomad.GetPluginArgs{ +// PluginId: "aws-ebs0", +// WaitForHealthy: pulumi.BoolRef(true), +// }, nil) +// if err != nil { +// return err +// } +// _, err = nomad.NewVolume(ctx, "mysqlVolume", &nomad.VolumeArgs{ +// PluginId: pulumi.String("aws-ebs0"), +// VolumeId: pulumi.String("mysql_volume"), +// ExternalId: pulumi.Any(module.Hashistack.Ebs_test_volume_id), +// Capabilities: nomad.VolumeCapabilityArray{ +// &nomad.VolumeCapabilityArgs{ +// AccessMode: pulumi.String("single-node-writer"), +// AttachmentMode: pulumi.String("file-system"), +// }, +// }, +// MountOptions: &nomad.VolumeMountOptionsArgs{ +// FsType: pulumi.String("ext4"), +// }, +// TopologyRequest: &nomad.VolumeTopologyRequestArgs{ +// Required: &nomad.VolumeTopologyRequestRequiredArgs{ +// Topologies: nomad.VolumeTopologyRequestRequiredTopologyArray{ +// &nomad.VolumeTopologyRequestRequiredTopologyArgs{ +// Segments: pulumi.StringMap{ +// "rack": pulumi.String("R1"), +// "zone": pulumi.String("us-east-1a"), +// }, +// }, +// &nomad.VolumeTopologyRequestRequiredTopologyArgs{ +// Segments: pulumi.StringMap{ +// "rack": pulumi.String("R2"), +// }, +// }, +// }, +// }, +// }, +// }, pulumi.DependsOn([]pulumi.Resource{ +// ebs, +// })) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type CsiVolumeRegistration struct { + pulumi.CustomResourceState + + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeRegistrationCapabilityArrayOutput `pulumi:"capabilities"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + Context pulumi.StringMapOutput `pulumi:"context"` + // `(boolean)` + ControllerRequired pulumi.BoolOutput `pulumi:"controllerRequired"` + // `(integer)` + ControllersExpected pulumi.IntOutput `pulumi:"controllersExpected"` + // `(integer)` + ControllersHealthy pulumi.IntOutput `pulumi:"controllersHealthy"` + // `(boolean: false)` - If true, the volume will be deregistered on destroy. + DeregisterOnDestroy pulumi.BoolPtrOutput `pulumi:"deregisterOnDestroy"` + // `(string: )` - The ID of the physical volume from the storage provider. + ExternalId pulumi.StringOutput `pulumi:"externalId"` + // `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeRegistrationMountOptionsPtrOutput `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name pulumi.StringOutput `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrOutput `pulumi:"namespace"` + // `(integer)` + NodesExpected pulumi.IntOutput `pulumi:"nodesExpected"` + // `(integer)` + NodesHealthy pulumi.IntOutput `pulumi:"nodesHealthy"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapOutput `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringOutput `pulumi:"pluginId"` + // `(string)` + PluginProvider pulumi.StringOutput `pulumi:"pluginProvider"` + // `(string)` + PluginProviderVersion pulumi.StringOutput `pulumi:"pluginProviderVersion"` + // `(boolean)` + Schedulable pulumi.BoolOutput `pulumi:"schedulable"` + // `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapOutput `pulumi:"secrets"` + // `(List of topologies)` + Topologies CsiVolumeRegistrationTopologyArrayOutput `pulumi:"topologies"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeRegistrationTopologyRequestPtrOutput `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringOutput `pulumi:"volumeId"` +} + +// NewCsiVolumeRegistration registers a new resource with the given unique name, arguments, and options. +func NewCsiVolumeRegistration(ctx *pulumi.Context, + name string, args *CsiVolumeRegistrationArgs, opts ...pulumi.ResourceOption) (*CsiVolumeRegistration, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExternalId == nil { + return nil, errors.New("invalid value for required argument 'ExternalId'") + } + if args.PluginId == nil { + return nil, errors.New("invalid value for required argument 'PluginId'") + } + if args.VolumeId == nil { + return nil, errors.New("invalid value for required argument 'VolumeId'") + } + if args.Secrets != nil { + args.Secrets = pulumi.ToSecret(args.Secrets).(pulumi.StringMapInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "secrets", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource CsiVolumeRegistration + err := ctx.RegisterResource("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetCsiVolumeRegistration gets an existing CsiVolumeRegistration resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetCsiVolumeRegistration(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *CsiVolumeRegistrationState, opts ...pulumi.ResourceOption) (*CsiVolumeRegistration, error) { + var resource CsiVolumeRegistration + err := ctx.ReadResource("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering CsiVolumeRegistration resources. +type csiVolumeRegistrationState struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities []CsiVolumeRegistrationCapability `pulumi:"capabilities"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + Context map[string]string `pulumi:"context"` + // `(boolean)` + ControllerRequired *bool `pulumi:"controllerRequired"` + // `(integer)` + ControllersExpected *int `pulumi:"controllersExpected"` + // `(integer)` + ControllersHealthy *int `pulumi:"controllersHealthy"` + // `(boolean: false)` - If true, the volume will be deregistered on destroy. + DeregisterOnDestroy *bool `pulumi:"deregisterOnDestroy"` + // `(string: )` - The ID of the physical volume from the storage provider. + ExternalId *string `pulumi:"externalId"` + // `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions *CsiVolumeRegistrationMountOptions `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name *string `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace *string `pulumi:"namespace"` + // `(integer)` + NodesExpected *int `pulumi:"nodesExpected"` + // `(integer)` + NodesHealthy *int `pulumi:"nodesHealthy"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters map[string]string `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId *string `pulumi:"pluginId"` + // `(string)` + PluginProvider *string `pulumi:"pluginProvider"` + // `(string)` + PluginProviderVersion *string `pulumi:"pluginProviderVersion"` + // `(boolean)` + Schedulable *bool `pulumi:"schedulable"` + // `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets map[string]string `pulumi:"secrets"` + // `(List of topologies)` + Topologies []CsiVolumeRegistrationTopology `pulumi:"topologies"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest *CsiVolumeRegistrationTopologyRequest `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId *string `pulumi:"volumeId"` +} + +type CsiVolumeRegistrationState struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeRegistrationCapabilityArrayInput + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + Context pulumi.StringMapInput + // `(boolean)` + ControllerRequired pulumi.BoolPtrInput + // `(integer)` + ControllersExpected pulumi.IntPtrInput + // `(integer)` + ControllersHealthy pulumi.IntPtrInput + // `(boolean: false)` - If true, the volume will be deregistered on destroy. + DeregisterOnDestroy pulumi.BoolPtrInput + // `(string: )` - The ID of the physical volume from the storage provider. + ExternalId pulumi.StringPtrInput + // `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeRegistrationMountOptionsPtrInput + // `(string: )` - The display name for the volume. + Name pulumi.StringPtrInput + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrInput + // `(integer)` + NodesExpected pulumi.IntPtrInput + // `(integer)` + NodesHealthy pulumi.IntPtrInput + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapInput + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringPtrInput + // `(string)` + PluginProvider pulumi.StringPtrInput + // `(string)` + PluginProviderVersion pulumi.StringPtrInput + // `(boolean)` + Schedulable pulumi.BoolPtrInput + // `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapInput + // `(List of topologies)` + Topologies CsiVolumeRegistrationTopologyArrayInput + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeRegistrationTopologyRequestPtrInput + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringPtrInput +} + +func (CsiVolumeRegistrationState) ElementType() reflect.Type { + return reflect.TypeOf((*csiVolumeRegistrationState)(nil)).Elem() +} + +type csiVolumeRegistrationArgs struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities []CsiVolumeRegistrationCapability `pulumi:"capabilities"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + Context map[string]string `pulumi:"context"` + // `(boolean: false)` - If true, the volume will be deregistered on destroy. + DeregisterOnDestroy *bool `pulumi:"deregisterOnDestroy"` + // `(string: )` - The ID of the physical volume from the storage provider. + ExternalId string `pulumi:"externalId"` + // `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions *CsiVolumeRegistrationMountOptions `pulumi:"mountOptions"` + // `(string: )` - The display name for the volume. + Name *string `pulumi:"name"` + // `(string: "default")` - The namespace in which to register the volume. + Namespace *string `pulumi:"namespace"` + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters map[string]string `pulumi:"parameters"` + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId string `pulumi:"pluginId"` + // `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets map[string]string `pulumi:"secrets"` + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest *CsiVolumeRegistrationTopologyRequest `pulumi:"topologyRequest"` + // `(string: )` - The unique ID of the volume. + VolumeId string `pulumi:"volumeId"` +} + +// The set of arguments for constructing a CsiVolumeRegistration resource. +type CsiVolumeRegistrationArgs struct { + // `(``Capability``: )` - Options for validating the capability of a volume. + Capabilities CsiVolumeRegistrationCapabilityArrayInput + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + Context pulumi.StringMapInput + // `(boolean: false)` - If true, the volume will be deregistered on destroy. + DeregisterOnDestroy pulumi.BoolPtrInput + // `(string: )` - The ID of the physical volume from the storage provider. + ExternalId pulumi.StringInput + // `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + MountOptions CsiVolumeRegistrationMountOptionsPtrInput + // `(string: )` - The display name for the volume. + Name pulumi.StringPtrInput + // `(string: "default")` - The namespace in which to register the volume. + Namespace pulumi.StringPtrInput + // `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + Parameters pulumi.StringMapInput + // `(string: )` - The ID of the Nomad plugin for registering this volume. + PluginId pulumi.StringInput + // `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + Secrets pulumi.StringMapInput + // `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + TopologyRequest CsiVolumeRegistrationTopologyRequestPtrInput + // `(string: )` - The unique ID of the volume. + VolumeId pulumi.StringInput +} + +func (CsiVolumeRegistrationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*csiVolumeRegistrationArgs)(nil)).Elem() +} + +type CsiVolumeRegistrationInput interface { + pulumi.Input + + ToCsiVolumeRegistrationOutput() CsiVolumeRegistrationOutput + ToCsiVolumeRegistrationOutputWithContext(ctx context.Context) CsiVolumeRegistrationOutput +} + +func (*CsiVolumeRegistration) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistration)(nil)).Elem() +} + +func (i *CsiVolumeRegistration) ToCsiVolumeRegistrationOutput() CsiVolumeRegistrationOutput { + return i.ToCsiVolumeRegistrationOutputWithContext(context.Background()) +} + +func (i *CsiVolumeRegistration) ToCsiVolumeRegistrationOutputWithContext(ctx context.Context) CsiVolumeRegistrationOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationOutput) +} + +func (i *CsiVolumeRegistration) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistration] { + return pulumix.Output[*CsiVolumeRegistration]{ + OutputState: i.ToCsiVolumeRegistrationOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeRegistrationArrayInput is an input type that accepts CsiVolumeRegistrationArray and CsiVolumeRegistrationArrayOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationArrayInput` via: +// +// CsiVolumeRegistrationArray{ CsiVolumeRegistrationArgs{...} } +type CsiVolumeRegistrationArrayInput interface { + pulumi.Input + + ToCsiVolumeRegistrationArrayOutput() CsiVolumeRegistrationArrayOutput + ToCsiVolumeRegistrationArrayOutputWithContext(context.Context) CsiVolumeRegistrationArrayOutput +} + +type CsiVolumeRegistrationArray []CsiVolumeRegistrationInput + +func (CsiVolumeRegistrationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CsiVolumeRegistration)(nil)).Elem() +} + +func (i CsiVolumeRegistrationArray) ToCsiVolumeRegistrationArrayOutput() CsiVolumeRegistrationArrayOutput { + return i.ToCsiVolumeRegistrationArrayOutputWithContext(context.Background()) +} + +func (i CsiVolumeRegistrationArray) ToCsiVolumeRegistrationArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationArrayOutput) +} + +func (i CsiVolumeRegistrationArray) ToOutput(ctx context.Context) pulumix.Output[[]*CsiVolumeRegistration] { + return pulumix.Output[[]*CsiVolumeRegistration]{ + OutputState: i.ToCsiVolumeRegistrationArrayOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeRegistrationMapInput is an input type that accepts CsiVolumeRegistrationMap and CsiVolumeRegistrationMapOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationMapInput` via: +// +// CsiVolumeRegistrationMap{ "key": CsiVolumeRegistrationArgs{...} } +type CsiVolumeRegistrationMapInput interface { + pulumi.Input + + ToCsiVolumeRegistrationMapOutput() CsiVolumeRegistrationMapOutput + ToCsiVolumeRegistrationMapOutputWithContext(context.Context) CsiVolumeRegistrationMapOutput +} + +type CsiVolumeRegistrationMap map[string]CsiVolumeRegistrationInput + +func (CsiVolumeRegistrationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CsiVolumeRegistration)(nil)).Elem() +} + +func (i CsiVolumeRegistrationMap) ToCsiVolumeRegistrationMapOutput() CsiVolumeRegistrationMapOutput { + return i.ToCsiVolumeRegistrationMapOutputWithContext(context.Background()) +} + +func (i CsiVolumeRegistrationMap) ToCsiVolumeRegistrationMapOutputWithContext(ctx context.Context) CsiVolumeRegistrationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationMapOutput) +} + +func (i CsiVolumeRegistrationMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*CsiVolumeRegistration] { + return pulumix.Output[map[string]*CsiVolumeRegistration]{ + OutputState: i.ToCsiVolumeRegistrationMapOutputWithContext(ctx).OutputState, + } +} + +type CsiVolumeRegistrationOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistration)(nil)).Elem() +} + +func (o CsiVolumeRegistrationOutput) ToCsiVolumeRegistrationOutput() CsiVolumeRegistrationOutput { + return o +} + +func (o CsiVolumeRegistrationOutput) ToCsiVolumeRegistrationOutputWithContext(ctx context.Context) CsiVolumeRegistrationOutput { + return o +} + +func (o CsiVolumeRegistrationOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistration] { + return pulumix.Output[*CsiVolumeRegistration]{ + OutputState: o.OutputState, + } +} + +// `(“Capability“: )` - Options for validating the capability of a volume. +func (o CsiVolumeRegistrationOutput) Capabilities() CsiVolumeRegistrationCapabilityArrayOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) CsiVolumeRegistrationCapabilityArrayOutput { return v.Capabilities }).(CsiVolumeRegistrationCapabilityArrayOutput) +} + +// `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. +func (o CsiVolumeRegistrationOutput) Context() pulumi.StringMapOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringMapOutput { return v.Context }).(pulumi.StringMapOutput) +} + +// `(boolean)` +func (o CsiVolumeRegistrationOutput) ControllerRequired() pulumi.BoolOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.BoolOutput { return v.ControllerRequired }).(pulumi.BoolOutput) +} + +// `(integer)` +func (o CsiVolumeRegistrationOutput) ControllersExpected() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.IntOutput { return v.ControllersExpected }).(pulumi.IntOutput) +} + +// `(integer)` +func (o CsiVolumeRegistrationOutput) ControllersHealthy() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.IntOutput { return v.ControllersHealthy }).(pulumi.IntOutput) +} + +// `(boolean: false)` - If true, the volume will be deregistered on destroy. +func (o CsiVolumeRegistrationOutput) DeregisterOnDestroy() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.BoolPtrOutput { return v.DeregisterOnDestroy }).(pulumi.BoolPtrOutput) +} + +// `(string: )` - The ID of the physical volume from the storage provider. +func (o CsiVolumeRegistrationOutput) ExternalId() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.ExternalId }).(pulumi.StringOutput) +} + +// `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. +func (o CsiVolumeRegistrationOutput) MountOptions() CsiVolumeRegistrationMountOptionsPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) CsiVolumeRegistrationMountOptionsPtrOutput { return v.MountOptions }).(CsiVolumeRegistrationMountOptionsPtrOutput) +} + +// `(string: )` - The display name for the volume. +func (o CsiVolumeRegistrationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// `(string: "default")` - The namespace in which to register the volume. +func (o CsiVolumeRegistrationOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringPtrOutput { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// `(integer)` +func (o CsiVolumeRegistrationOutput) NodesExpected() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.IntOutput { return v.NodesExpected }).(pulumi.IntOutput) +} + +// `(integer)` +func (o CsiVolumeRegistrationOutput) NodesHealthy() pulumi.IntOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.IntOutput { return v.NodesHealthy }).(pulumi.IntOutput) +} + +// `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. +func (o CsiVolumeRegistrationOutput) Parameters() pulumi.StringMapOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringMapOutput { return v.Parameters }).(pulumi.StringMapOutput) +} + +// `(string: )` - The ID of the Nomad plugin for registering this volume. +func (o CsiVolumeRegistrationOutput) PluginId() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.PluginId }).(pulumi.StringOutput) +} + +// `(string)` +func (o CsiVolumeRegistrationOutput) PluginProvider() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.PluginProvider }).(pulumi.StringOutput) +} + +// `(string)` +func (o CsiVolumeRegistrationOutput) PluginProviderVersion() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.PluginProviderVersion }).(pulumi.StringOutput) +} + +// `(boolean)` +func (o CsiVolumeRegistrationOutput) Schedulable() pulumi.BoolOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.BoolOutput { return v.Schedulable }).(pulumi.BoolOutput) +} + +// `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. +func (o CsiVolumeRegistrationOutput) Secrets() pulumi.StringMapOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringMapOutput { return v.Secrets }).(pulumi.StringMapOutput) +} + +// `(List of topologies)` +func (o CsiVolumeRegistrationOutput) Topologies() CsiVolumeRegistrationTopologyArrayOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) CsiVolumeRegistrationTopologyArrayOutput { return v.Topologies }).(CsiVolumeRegistrationTopologyArrayOutput) +} + +// `(“TopologyRequest“: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. +func (o CsiVolumeRegistrationOutput) TopologyRequest() CsiVolumeRegistrationTopologyRequestPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) CsiVolumeRegistrationTopologyRequestPtrOutput { return v.TopologyRequest }).(CsiVolumeRegistrationTopologyRequestPtrOutput) +} + +// `(string: )` - The unique ID of the volume. +func (o CsiVolumeRegistrationOutput) VolumeId() pulumi.StringOutput { + return o.ApplyT(func(v *CsiVolumeRegistration) pulumi.StringOutput { return v.VolumeId }).(pulumi.StringOutput) +} + +type CsiVolumeRegistrationArrayOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*CsiVolumeRegistration)(nil)).Elem() +} + +func (o CsiVolumeRegistrationArrayOutput) ToCsiVolumeRegistrationArrayOutput() CsiVolumeRegistrationArrayOutput { + return o +} + +func (o CsiVolumeRegistrationArrayOutput) ToCsiVolumeRegistrationArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationArrayOutput { + return o +} + +func (o CsiVolumeRegistrationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*CsiVolumeRegistration] { + return pulumix.Output[[]*CsiVolumeRegistration]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeRegistrationArrayOutput) Index(i pulumi.IntInput) CsiVolumeRegistrationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *CsiVolumeRegistration { + return vs[0].([]*CsiVolumeRegistration)[vs[1].(int)] + }).(CsiVolumeRegistrationOutput) +} + +type CsiVolumeRegistrationMapOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*CsiVolumeRegistration)(nil)).Elem() +} + +func (o CsiVolumeRegistrationMapOutput) ToCsiVolumeRegistrationMapOutput() CsiVolumeRegistrationMapOutput { + return o +} + +func (o CsiVolumeRegistrationMapOutput) ToCsiVolumeRegistrationMapOutputWithContext(ctx context.Context) CsiVolumeRegistrationMapOutput { + return o +} + +func (o CsiVolumeRegistrationMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*CsiVolumeRegistration] { + return pulumix.Output[map[string]*CsiVolumeRegistration]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeRegistrationMapOutput) MapIndex(k pulumi.StringInput) CsiVolumeRegistrationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *CsiVolumeRegistration { + return vs[0].(map[string]*CsiVolumeRegistration)[vs[1].(string)] + }).(CsiVolumeRegistrationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationInput)(nil)).Elem(), &CsiVolumeRegistration{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationArrayInput)(nil)).Elem(), CsiVolumeRegistrationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationMapInput)(nil)).Elem(), CsiVolumeRegistrationMap{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationMapOutput{}) +} diff --git a/sdk/go/nomad/externalVolume.go b/sdk/go/nomad/externalVolume.go index a8281414..8940e4fc 100644 --- a/sdk/go/nomad/externalVolume.go +++ b/sdk/go/nomad/externalVolume.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // ## Example Usage @@ -20,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -151,6 +153,7 @@ func NewExternalVolume(ctx *pulumi.Context, "secrets", }) opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) var resource ExternalVolume err := ctx.RegisterResource("nomad:index/externalVolume:ExternalVolume", name, args, &resource, opts...) if err != nil { @@ -360,6 +363,12 @@ func (i *ExternalVolume) ToExternalVolumeOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeOutput) } +func (i *ExternalVolume) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolume] { + return pulumix.Output[*ExternalVolume]{ + OutputState: i.ToExternalVolumeOutputWithContext(ctx).OutputState, + } +} + // ExternalVolumeArrayInput is an input type that accepts ExternalVolumeArray and ExternalVolumeArrayOutput values. // You can construct a concrete instance of `ExternalVolumeArrayInput` via: // @@ -385,6 +394,12 @@ func (i ExternalVolumeArray) ToExternalVolumeArrayOutputWithContext(ctx context. return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeArrayOutput) } +func (i ExternalVolumeArray) ToOutput(ctx context.Context) pulumix.Output[[]*ExternalVolume] { + return pulumix.Output[[]*ExternalVolume]{ + OutputState: i.ToExternalVolumeArrayOutputWithContext(ctx).OutputState, + } +} + // ExternalVolumeMapInput is an input type that accepts ExternalVolumeMap and ExternalVolumeMapOutput values. // You can construct a concrete instance of `ExternalVolumeMapInput` via: // @@ -410,6 +425,12 @@ func (i ExternalVolumeMap) ToExternalVolumeMapOutputWithContext(ctx context.Cont return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMapOutput) } +func (i ExternalVolumeMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*ExternalVolume] { + return pulumix.Output[map[string]*ExternalVolume]{ + OutputState: i.ToExternalVolumeMapOutputWithContext(ctx).OutputState, + } +} + type ExternalVolumeOutput struct{ *pulumi.OutputState } func (ExternalVolumeOutput) ElementType() reflect.Type { @@ -424,6 +445,12 @@ func (o ExternalVolumeOutput) ToExternalVolumeOutputWithContext(ctx context.Cont return o } +func (o ExternalVolumeOutput) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolume] { + return pulumix.Output[*ExternalVolume]{ + OutputState: o.OutputState, + } +} + // `(“Capability“: )` - Options for validating the capability of a volume. func (o ExternalVolumeOutput) Capabilities() ExternalVolumeCapabilityArrayOutput { return o.ApplyT(func(v *ExternalVolume) ExternalVolumeCapabilityArrayOutput { return v.Capabilities }).(ExternalVolumeCapabilityArrayOutput) @@ -553,6 +580,12 @@ func (o ExternalVolumeArrayOutput) ToExternalVolumeArrayOutputWithContext(ctx co return o } +func (o ExternalVolumeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*ExternalVolume] { + return pulumix.Output[[]*ExternalVolume]{ + OutputState: o.OutputState, + } +} + func (o ExternalVolumeArrayOutput) Index(i pulumi.IntInput) ExternalVolumeOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *ExternalVolume { return vs[0].([]*ExternalVolume)[vs[1].(int)] @@ -573,6 +606,12 @@ func (o ExternalVolumeMapOutput) ToExternalVolumeMapOutputWithContext(ctx contex return o } +func (o ExternalVolumeMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*ExternalVolume] { + return pulumix.Output[map[string]*ExternalVolume]{ + OutputState: o.OutputState, + } +} + func (o ExternalVolumeMapOutput) MapIndex(k pulumi.StringInput) ExternalVolumeOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *ExternalVolume { return vs[0].(map[string]*ExternalVolume)[vs[1].(string)] diff --git a/sdk/go/nomad/getAclPolicies.go b/sdk/go/nomad/getAclPolicies.go index 71998d6d..13d013ac 100644 --- a/sdk/go/nomad/getAclPolicies.go +++ b/sdk/go/nomad/getAclPolicies.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of ACL Policies. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func GetAclPolicies(ctx *pulumi.Context, args *GetAclPoliciesArgs, opts ...pulumi.InvokeOption) (*GetAclPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetAclPoliciesResult err := ctx.Invoke("nomad:index/getAclPolicies:getAclPolicies", args, &rv, opts...) if err != nil { @@ -99,6 +102,12 @@ func (o GetAclPoliciesResultOutput) ToGetAclPoliciesResultOutputWithContext(ctx return o } +func (o GetAclPoliciesResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclPoliciesResult] { + return pulumix.Output[GetAclPoliciesResult]{ + OutputState: o.OutputState, + } +} + // The provider-assigned unique ID for this managed resource. func (o GetAclPoliciesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetAclPoliciesResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getAclPolicy.go b/sdk/go/nomad/getAclPolicy.go index cb96572a..a592ef50 100644 --- a/sdk/go/nomad/getAclPolicy.go +++ b/sdk/go/nomad/getAclPolicy.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve information on an ACL Policy. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func LookupAclPolicy(ctx *pulumi.Context, args *LookupAclPolicyArgs, opts ...pulumi.InvokeOption) (*LookupAclPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupAclPolicyResult err := ctx.Invoke("nomad:index/getAclPolicy:getAclPolicy", args, &rv, opts...) if err != nil { @@ -102,6 +105,12 @@ func (o LookupAclPolicyResultOutput) ToLookupAclPolicyResultOutputWithContext(ct return o } +func (o LookupAclPolicyResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupAclPolicyResult] { + return pulumix.Output[LookupAclPolicyResult]{ + OutputState: o.OutputState, + } +} + // `(string)` - the description of the ACL Policy. func (o LookupAclPolicyResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupAclPolicyResult) string { return v.Description }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getAclRole.go b/sdk/go/nomad/getAclRole.go index 2c842ef5..5d2a4e4b 100644 --- a/sdk/go/nomad/getAclRole.go +++ b/sdk/go/nomad/getAclRole.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Get information on an ACL Role. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func LookupAclRole(ctx *pulumi.Context, args *LookupAclRoleArgs, opts ...pulumi.InvokeOption) (*LookupAclRoleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupAclRoleResult err := ctx.Invoke("nomad:index/getAclRole:getAclRole", args, &rv, opts...) if err != nil { @@ -102,6 +105,12 @@ func (o LookupAclRoleResultOutput) ToLookupAclRoleResultOutputWithContext(ctx co return o } +func (o LookupAclRoleResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupAclRoleResult] { + return pulumix.Output[LookupAclRoleResult]{ + OutputState: o.OutputState, + } +} + // `(string)` - The description of the ACL Role. func (o LookupAclRoleResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupAclRoleResult) string { return v.Description }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getAclRoles.go b/sdk/go/nomad/getAclRoles.go index 5a3d2cc0..ade245f0 100644 --- a/sdk/go/nomad/getAclRoles.go +++ b/sdk/go/nomad/getAclRoles.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of ACL Roles. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func GetAclRoles(ctx *pulumi.Context, args *GetAclRolesArgs, opts ...pulumi.InvokeOption) (*GetAclRolesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetAclRolesResult err := ctx.Invoke("nomad:index/getAclRoles:getAclRoles", args, &rv, opts...) if err != nil { @@ -100,6 +103,12 @@ func (o GetAclRolesResultOutput) ToGetAclRolesResultOutputWithContext(ctx contex return o } +func (o GetAclRolesResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclRolesResult] { + return pulumix.Output[GetAclRolesResult]{ + OutputState: o.OutputState, + } +} + func (o GetAclRolesResultOutput) AclRoles() GetAclRolesAclRoleArrayOutput { return o.ApplyT(func(v GetAclRolesResult) []GetAclRolesAclRole { return v.AclRoles }).(GetAclRolesAclRoleArrayOutput) } diff --git a/sdk/go/nomad/getAclToken.go b/sdk/go/nomad/getAclToken.go index 50a5e143..36565dc9 100644 --- a/sdk/go/nomad/getAclToken.go +++ b/sdk/go/nomad/getAclToken.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // ## Example Usage @@ -17,7 +19,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -36,6 +38,7 @@ import ( // // ``` func LookupAclToken(ctx *pulumi.Context, args *LookupAclTokenArgs, opts ...pulumi.InvokeOption) (*LookupAclTokenResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupAclTokenResult err := ctx.Invoke("nomad:index/getAclToken:getAclToken", args, &rv, opts...) if err != nil { @@ -117,6 +120,12 @@ func (o LookupAclTokenResultOutput) ToLookupAclTokenResultOutputWithContext(ctx return o } +func (o LookupAclTokenResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupAclTokenResult] { + return pulumix.Output[LookupAclTokenResult]{ + OutputState: o.OutputState, + } +} + // `(string)` Non-sensitive identifier for this token. func (o LookupAclTokenResultOutput) AccessorId() pulumi.StringOutput { return o.ApplyT(func(v LookupAclTokenResult) string { return v.AccessorId }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getAclTokens.go b/sdk/go/nomad/getAclTokens.go index 69ef41c0..2fdff3ed 100644 --- a/sdk/go/nomad/getAclTokens.go +++ b/sdk/go/nomad/getAclTokens.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Get a list of ACL tokens. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func GetAclTokens(ctx *pulumi.Context, args *GetAclTokensArgs, opts ...pulumi.InvokeOption) (*GetAclTokensResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetAclTokensResult err := ctx.Invoke("nomad:index/getAclTokens:getAclTokens", args, &rv, opts...) if err != nil { @@ -99,6 +102,12 @@ func (o GetAclTokensResultOutput) ToGetAclTokensResultOutputWithContext(ctx cont return o } +func (o GetAclTokensResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclTokensResult] { + return pulumix.Output[GetAclTokensResult]{ + OutputState: o.OutputState, + } +} + // `(list of objects)` The list of tokens found in the given prefix. func (o GetAclTokensResultOutput) AclTokens() GetAclTokensAclTokenArrayOutput { return o.ApplyT(func(v GetAclTokensResult) []GetAclTokensAclToken { return v.AclTokens }).(GetAclTokensAclTokenArrayOutput) diff --git a/sdk/go/nomad/getAllocations.go b/sdk/go/nomad/getAllocations.go new file mode 100644 index 00000000..3b067767 --- /dev/null +++ b/sdk/go/nomad/getAllocations.go @@ -0,0 +1,142 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Retrieve a list of allocations from Nomad. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.GetAllocations(ctx, &nomad.GetAllocationsArgs{ +// Filter: pulumi.StringRef("JobID == \"example\""), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetAllocations(ctx *pulumi.Context, args *GetAllocationsArgs, opts ...pulumi.InvokeOption) (*GetAllocationsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetAllocationsResult + err := ctx.Invoke("nomad:index/getAllocations:getAllocations", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAllocations. +type GetAllocationsArgs struct { + // `(string: )` - Specifies the + // [expression][nomadApiFilter] used to filter the results. + Filter *string `pulumi:"filter"` + // `(string: )` - Specifies a string to filter allocations + // based on an ID prefix. + Prefix *string `pulumi:"prefix"` +} + +// A collection of values returned by getAllocations. +type GetAllocationsResult struct { + // `(list of allocations)` - A list of allocations matching the + // search criteria. + Allocations []GetAllocationsAllocation `pulumi:"allocations"` + Filter *string `pulumi:"filter"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + Prefix *string `pulumi:"prefix"` +} + +func GetAllocationsOutput(ctx *pulumi.Context, args GetAllocationsOutputArgs, opts ...pulumi.InvokeOption) GetAllocationsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetAllocationsResult, error) { + args := v.(GetAllocationsArgs) + r, err := GetAllocations(ctx, &args, opts...) + var s GetAllocationsResult + if r != nil { + s = *r + } + return s, err + }).(GetAllocationsResultOutput) +} + +// A collection of arguments for invoking getAllocations. +type GetAllocationsOutputArgs struct { + // `(string: )` - Specifies the + // [expression][nomadApiFilter] used to filter the results. + Filter pulumi.StringPtrInput `pulumi:"filter"` + // `(string: )` - Specifies a string to filter allocations + // based on an ID prefix. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (GetAllocationsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAllocationsArgs)(nil)).Elem() +} + +// A collection of values returned by getAllocations. +type GetAllocationsResultOutput struct{ *pulumi.OutputState } + +func (GetAllocationsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAllocationsResult)(nil)).Elem() +} + +func (o GetAllocationsResultOutput) ToGetAllocationsResultOutput() GetAllocationsResultOutput { + return o +} + +func (o GetAllocationsResultOutput) ToGetAllocationsResultOutputWithContext(ctx context.Context) GetAllocationsResultOutput { + return o +} + +func (o GetAllocationsResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetAllocationsResult] { + return pulumix.Output[GetAllocationsResult]{ + OutputState: o.OutputState, + } +} + +// `(list of allocations)` - A list of allocations matching the +// search criteria. +func (o GetAllocationsResultOutput) Allocations() GetAllocationsAllocationArrayOutput { + return o.ApplyT(func(v GetAllocationsResult) []GetAllocationsAllocation { return v.Allocations }).(GetAllocationsAllocationArrayOutput) +} + +func (o GetAllocationsResultOutput) Filter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAllocationsResult) *string { return v.Filter }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetAllocationsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsResult) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetAllocationsResultOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetAllocationsResult) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetAllocationsResultOutput{}) +} diff --git a/sdk/go/nomad/getDatacenters.go b/sdk/go/nomad/getDatacenters.go index 74bc2460..9b6ca793 100644 --- a/sdk/go/nomad/getDatacenters.go +++ b/sdk/go/nomad/getDatacenters.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of datacenters. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -39,6 +41,7 @@ import ( // // ``` func GetDatacenters(ctx *pulumi.Context, args *GetDatacentersArgs, opts ...pulumi.InvokeOption) (*GetDatacentersResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetDatacentersResult err := ctx.Invoke("nomad:index/getDatacenters:getDatacenters", args, &rv, opts...) if err != nil { @@ -105,6 +108,12 @@ func (o GetDatacentersResultOutput) ToGetDatacentersResultOutputWithContext(ctx return o } +func (o GetDatacentersResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetDatacentersResult] { + return pulumix.Output[GetDatacentersResult]{ + OutputState: o.OutputState, + } +} + // `list(string)` a list of datacenters. func (o GetDatacentersResultOutput) Datacenters() pulumi.StringArrayOutput { return o.ApplyT(func(v GetDatacentersResult) []string { return v.Datacenters }).(pulumi.StringArrayOutput) diff --git a/sdk/go/nomad/getDeployments.go b/sdk/go/nomad/getDeployments.go index c45696bc..4a267594 100644 --- a/sdk/go/nomad/getDeployments.go +++ b/sdk/go/nomad/getDeployments.go @@ -4,6 +4,7 @@ package nomad import ( + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -16,7 +17,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -33,6 +34,7 @@ import ( // // ``` func GetDeployments(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetDeploymentsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetDeploymentsResult err := ctx.Invoke("nomad:index/getDeployments:getDeployments", nil, &rv, opts...) if err != nil { diff --git a/sdk/go/nomad/getJob.go b/sdk/go/nomad/getJob.go index 55497884..81c1a1fc 100644 --- a/sdk/go/nomad/getJob.go +++ b/sdk/go/nomad/getJob.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Get information on a job ID. The aim of this datasource is to enable @@ -24,7 +26,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -43,6 +45,7 @@ import ( // // ``` func LookupJob(ctx *pulumi.Context, args *LookupJobArgs, opts ...pulumi.InvokeOption) (*LookupJobResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupJobResult err := ctx.Invoke("nomad:index/getJob:getJob", args, &rv, opts...) if err != nil { @@ -145,6 +148,12 @@ func (o LookupJobResultOutput) ToLookupJobResultOutputWithContext(ctx context.Co return o } +func (o LookupJobResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupJobResult] { + return pulumix.Output[LookupJobResult]{ + OutputState: o.OutputState, + } +} + // `(boolean)` If the scheduler can make partial placements on oversubscribed nodes. func (o LookupJobResultOutput) AllAtOnce() pulumi.BoolOutput { return o.ApplyT(func(v LookupJobResult) bool { return v.AllAtOnce }).(pulumi.BoolOutput) diff --git a/sdk/go/nomad/getJobParser.go b/sdk/go/nomad/getJobParser.go index a86c32ae..c66a30d9 100644 --- a/sdk/go/nomad/getJobParser.go +++ b/sdk/go/nomad/getJobParser.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Parse a HCL jobspec and produce the equivalent JSON encoded job. @@ -22,7 +24,7 @@ import ( // "fmt" // "os" // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -50,6 +52,7 @@ import ( // // ``` func GetJobParser(ctx *pulumi.Context, args *GetJobParserArgs, opts ...pulumi.InvokeOption) (*GetJobParserResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetJobParserResult err := ctx.Invoke("nomad:index/getJobParser:getJobParser", args, &rv, opts...) if err != nil { @@ -118,6 +121,12 @@ func (o GetJobParserResultOutput) ToGetJobParserResultOutputWithContext(ctx cont return o } +func (o GetJobParserResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobParserResult] { + return pulumix.Output[GetJobParserResult]{ + OutputState: o.OutputState, + } +} + // `(boolean: true)` - flag to enable setting any unset fields to their default values. func (o GetJobParserResultOutput) Canonicalize() pulumi.BoolPtrOutput { return o.ApplyT(func(v GetJobParserResult) *bool { return v.Canonicalize }).(pulumi.BoolPtrOutput) diff --git a/sdk/go/nomad/getNamespace.go b/sdk/go/nomad/getNamespace.go index dad7be14..5c44e19a 100644 --- a/sdk/go/nomad/getNamespace.go +++ b/sdk/go/nomad/getNamespace.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Get information about a namespace in Nomad. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func LookupNamespace(ctx *pulumi.Context, args *LookupNamespaceArgs, opts ...pulumi.InvokeOption) (*LookupNamespaceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv LookupNamespaceResult err := ctx.Invoke("nomad:index/getNamespace:getNamespace", args, &rv, opts...) if err != nil { @@ -61,8 +64,9 @@ type LookupNamespaceResult struct { // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // `(map[string]string)` - Arbitrary KV metadata associated with the namespace. - Meta map[string]string `pulumi:"meta"` - Name string `pulumi:"name"` + Meta map[string]string `pulumi:"meta"` + Name string `pulumi:"name"` + NodePoolConfigs []GetNamespaceNodePoolConfig `pulumi:"nodePoolConfigs"` // `(string)` - The quota associated with the namespace. Quota string `pulumi:"quota"` } @@ -105,6 +109,12 @@ func (o LookupNamespaceResultOutput) ToLookupNamespaceResultOutputWithContext(ct return o } +func (o LookupNamespaceResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupNamespaceResult] { + return pulumix.Output[LookupNamespaceResult]{ + OutputState: o.OutputState, + } +} + // `(block)` - Capabilities of the namespace func (o LookupNamespaceResultOutput) Capabilities() GetNamespaceCapabilityArrayOutput { return o.ApplyT(func(v LookupNamespaceResult) []GetNamespaceCapability { return v.Capabilities }).(GetNamespaceCapabilityArrayOutput) @@ -129,6 +139,10 @@ func (o LookupNamespaceResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupNamespaceResult) string { return v.Name }).(pulumi.StringOutput) } +func (o LookupNamespaceResultOutput) NodePoolConfigs() GetNamespaceNodePoolConfigArrayOutput { + return o.ApplyT(func(v LookupNamespaceResult) []GetNamespaceNodePoolConfig { return v.NodePoolConfigs }).(GetNamespaceNodePoolConfigArrayOutput) +} + // `(string)` - The quota associated with the namespace. func (o LookupNamespaceResultOutput) Quota() pulumi.StringOutput { return o.ApplyT(func(v LookupNamespaceResult) string { return v.Quota }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getNamespaces.go b/sdk/go/nomad/getNamespaces.go index abd80c41..48173436 100644 --- a/sdk/go/nomad/getNamespaces.go +++ b/sdk/go/nomad/getNamespaces.go @@ -4,11 +4,52 @@ package nomad import ( + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // Retrieve a list of namespaces available in Nomad. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "fmt" +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// namespaces, err := nomad.GetNamespaces(ctx, nil, nil) +// if err != nil { +// return err +// } +// var namespace []*nomad.AclPolicy +// for index := 0; index < len(namespaces.Namespaces); index++ { +// key0 := index +// val0 := index +// __res, err := nomad.NewAclPolicy(ctx, fmt.Sprintf("namespace-%v", key0), &nomad.AclPolicyArgs{ +// Description: pulumi.String(fmt.Sprintf("Write to the namespace %v", namespaces[val0])), +// RulesHcl: pulumi.String(fmt.Sprintf("namespace \"%v\" {\n policy = \"write\"\n}\n", namespaces[val0])), +// }) +// if err != nil { +// return err +// } +// namespace = append(namespace, __res) +// } +// return nil +// }) +// } +// +// ``` func GetNamespaces(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetNamespacesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetNamespacesResult err := ctx.Invoke("nomad:index/getNamespaces:getNamespaces", nil, &rv, opts...) if err != nil { diff --git a/sdk/go/nomad/getNodePool.go b/sdk/go/nomad/getNodePool.go new file mode 100644 index 00000000..944717cd --- /dev/null +++ b/sdk/go/nomad/getNodePool.go @@ -0,0 +1,143 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Get information about a node pool in Nomad. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.LookupNodePool(ctx, &nomad.LookupNodePoolArgs{ +// Name: "dev", +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupNodePool(ctx *pulumi.Context, args *LookupNodePoolArgs, opts ...pulumi.InvokeOption) (*LookupNodePoolResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupNodePoolResult + err := ctx.Invoke("nomad:index/getNodePool:getNodePool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getNodePool. +type LookupNodePoolArgs struct { + // `(string)` - The name of the node pool to fetch. + Name string `pulumi:"name"` +} + +// A collection of values returned by getNodePool. +type LookupNodePoolResult struct { + // `(string)` - The description of the node pool. + Description string `pulumi:"description"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta map[string]string `pulumi:"meta"` + Name string `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfigs []GetNodePoolSchedulerConfig `pulumi:"schedulerConfigs"` +} + +func LookupNodePoolOutput(ctx *pulumi.Context, args LookupNodePoolOutputArgs, opts ...pulumi.InvokeOption) LookupNodePoolResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupNodePoolResult, error) { + args := v.(LookupNodePoolArgs) + r, err := LookupNodePool(ctx, &args, opts...) + var s LookupNodePoolResult + if r != nil { + s = *r + } + return s, err + }).(LookupNodePoolResultOutput) +} + +// A collection of arguments for invoking getNodePool. +type LookupNodePoolOutputArgs struct { + // `(string)` - The name of the node pool to fetch. + Name pulumi.StringInput `pulumi:"name"` +} + +func (LookupNodePoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNodePoolArgs)(nil)).Elem() +} + +// A collection of values returned by getNodePool. +type LookupNodePoolResultOutput struct{ *pulumi.OutputState } + +func (LookupNodePoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNodePoolResult)(nil)).Elem() +} + +func (o LookupNodePoolResultOutput) ToLookupNodePoolResultOutput() LookupNodePoolResultOutput { + return o +} + +func (o LookupNodePoolResultOutput) ToLookupNodePoolResultOutputWithContext(ctx context.Context) LookupNodePoolResultOutput { + return o +} + +func (o LookupNodePoolResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupNodePoolResult] { + return pulumix.Output[LookupNodePoolResult]{ + OutputState: o.OutputState, + } +} + +// `(string)` - The description of the node pool. +func (o LookupNodePoolResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupNodePoolResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupNodePoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupNodePoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +// `(map[string]string)` - Arbitrary KV metadata associated with the +// node pool. +func (o LookupNodePoolResultOutput) Meta() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupNodePoolResult) map[string]string { return v.Meta }).(pulumi.StringMapOutput) +} + +func (o LookupNodePoolResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupNodePoolResult) string { return v.Name }).(pulumi.StringOutput) +} + +// `(block)` - Scheduler configuration for the node pool. +func (o LookupNodePoolResultOutput) SchedulerConfigs() GetNodePoolSchedulerConfigArrayOutput { + return o.ApplyT(func(v LookupNodePoolResult) []GetNodePoolSchedulerConfig { return v.SchedulerConfigs }).(GetNodePoolSchedulerConfigArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupNodePoolResultOutput{}) +} diff --git a/sdk/go/nomad/getNodePools.go b/sdk/go/nomad/getNodePools.go new file mode 100644 index 00000000..1495f97a --- /dev/null +++ b/sdk/go/nomad/getNodePools.go @@ -0,0 +1,142 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Retrieve a list of node pools available in Nomad. +// +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.GetNodePools(ctx, &nomad.GetNodePoolsArgs{ +// Filter: pulumi.StringRef("Meta.env == \"prod\""), +// }, nil) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func GetNodePools(ctx *pulumi.Context, args *GetNodePoolsArgs, opts ...pulumi.InvokeOption) (*GetNodePoolsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetNodePoolsResult + err := ctx.Invoke("nomad:index/getNodePools:getNodePools", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getNodePools. +type GetNodePoolsArgs struct { + // `(string)` - Specifies the [expression][nomadApiFilter] used to + // filter the results. + Filter *string `pulumi:"filter"` + // `(string)` - Specifies a string to filter node pools based on a name + // prefix. + Prefix *string `pulumi:"prefix"` +} + +// A collection of values returned by getNodePools. +type GetNodePoolsResult struct { + Filter *string `pulumi:"filter"` + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // `(list of node pools)` - A list of node pools matching the + // search criteria. + NodePools []GetNodePoolsNodePool `pulumi:"nodePools"` + Prefix *string `pulumi:"prefix"` +} + +func GetNodePoolsOutput(ctx *pulumi.Context, args GetNodePoolsOutputArgs, opts ...pulumi.InvokeOption) GetNodePoolsResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (GetNodePoolsResult, error) { + args := v.(GetNodePoolsArgs) + r, err := GetNodePools(ctx, &args, opts...) + var s GetNodePoolsResult + if r != nil { + s = *r + } + return s, err + }).(GetNodePoolsResultOutput) +} + +// A collection of arguments for invoking getNodePools. +type GetNodePoolsOutputArgs struct { + // `(string)` - Specifies the [expression][nomadApiFilter] used to + // filter the results. + Filter pulumi.StringPtrInput `pulumi:"filter"` + // `(string)` - Specifies a string to filter node pools based on a name + // prefix. + Prefix pulumi.StringPtrInput `pulumi:"prefix"` +} + +func (GetNodePoolsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsArgs)(nil)).Elem() +} + +// A collection of values returned by getNodePools. +type GetNodePoolsResultOutput struct{ *pulumi.OutputState } + +func (GetNodePoolsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsResult)(nil)).Elem() +} + +func (o GetNodePoolsResultOutput) ToGetNodePoolsResultOutput() GetNodePoolsResultOutput { + return o +} + +func (o GetNodePoolsResultOutput) ToGetNodePoolsResultOutputWithContext(ctx context.Context) GetNodePoolsResultOutput { + return o +} + +func (o GetNodePoolsResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolsResult] { + return pulumix.Output[GetNodePoolsResult]{ + OutputState: o.OutputState, + } +} + +func (o GetNodePoolsResultOutput) Filter() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetNodePoolsResult) *string { return v.Filter }).(pulumi.StringPtrOutput) +} + +// The provider-assigned unique ID for this managed resource. +func (o GetNodePoolsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// `(list of node pools)` - A list of node pools matching the +// search criteria. +func (o GetNodePoolsResultOutput) NodePools() GetNodePoolsNodePoolArrayOutput { + return o.ApplyT(func(v GetNodePoolsResult) []GetNodePoolsNodePool { return v.NodePools }).(GetNodePoolsNodePoolArrayOutput) +} + +func (o GetNodePoolsResultOutput) Prefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetNodePoolsResult) *string { return v.Prefix }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetNodePoolsResultOutput{}) +} diff --git a/sdk/go/nomad/getPlugin.go b/sdk/go/nomad/getPlugin.go index 9706304d..07def9bc 100644 --- a/sdk/go/nomad/getPlugin.go +++ b/sdk/go/nomad/getPlugin.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Lookup a plugin by ID. The aim of this datasource is to determine whether @@ -28,7 +30,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -51,6 +53,7 @@ import ( // This will check for a plugin with the ID `aws-ebs0`, waiting until the plugin // is healthy before returning. func GetPlugin(ctx *pulumi.Context, args *GetPluginArgs, opts ...pulumi.InvokeOption) (*GetPluginResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetPluginResult err := ctx.Invoke("nomad:index/getPlugin:getPlugin", args, &rv, opts...) if err != nil { @@ -136,6 +139,12 @@ func (o GetPluginResultOutput) ToGetPluginResultOutputWithContext(ctx context.Co return o } +func (o GetPluginResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetPluginResult] { + return pulumix.Output[GetPluginResult]{ + OutputState: o.OutputState, + } +} + // `(boolean)` Whether a controller is required. func (o GetPluginResultOutput) ControllerRequired() pulumi.BoolOutput { return o.ApplyT(func(v GetPluginResult) bool { return v.ControllerRequired }).(pulumi.BoolOutput) diff --git a/sdk/go/nomad/getPlugins.go b/sdk/go/nomad/getPlugins.go index b7d528dc..8f9dfa6f 100644 --- a/sdk/go/nomad/getPlugins.go +++ b/sdk/go/nomad/getPlugins.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of dynamic plugins in Nomad. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -36,6 +38,7 @@ import ( // // ``` func GetPlugins(ctx *pulumi.Context, args *GetPluginsArgs, opts ...pulumi.InvokeOption) (*GetPluginsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetPluginsResult err := ctx.Invoke("nomad:index/getPlugins:getPlugins", args, &rv, opts...) if err != nil { @@ -95,6 +98,12 @@ func (o GetPluginsResultOutput) ToGetPluginsResultOutputWithContext(ctx context. return o } +func (o GetPluginsResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetPluginsResult] { + return pulumix.Output[GetPluginsResult]{ + OutputState: o.OutputState, + } +} + // The provider-assigned unique ID for this managed resource. func (o GetPluginsResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetPluginsResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getRegions.go b/sdk/go/nomad/getRegions.go index 30438512..b55ef21c 100644 --- a/sdk/go/nomad/getRegions.go +++ b/sdk/go/nomad/getRegions.go @@ -4,11 +4,13 @@ package nomad import ( + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) // Retrieve a list of regions available in Nomad. func GetRegions(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetRegionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetRegionsResult err := ctx.Invoke("nomad:index/getRegions:getRegions", nil, &rv, opts...) if err != nil { diff --git a/sdk/go/nomad/getScalingPolicies.go b/sdk/go/nomad/getScalingPolicies.go index b7c9f69a..cd35eab6 100644 --- a/sdk/go/nomad/getScalingPolicies.go +++ b/sdk/go/nomad/getScalingPolicies.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of Scaling Policies. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -39,6 +41,7 @@ import ( // // ``` func GetScalingPolicies(ctx *pulumi.Context, args *GetScalingPoliciesArgs, opts ...pulumi.InvokeOption) (*GetScalingPoliciesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetScalingPoliciesResult err := ctx.Invoke("nomad:index/getScalingPolicies:getScalingPolicies", args, &rv, opts...) if err != nil { @@ -106,6 +109,12 @@ func (o GetScalingPoliciesResultOutput) ToGetScalingPoliciesResultOutputWithCont return o } +func (o GetScalingPoliciesResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetScalingPoliciesResult] { + return pulumix.Output[GetScalingPoliciesResult]{ + OutputState: o.OutputState, + } +} + // The provider-assigned unique ID for this managed resource. func (o GetScalingPoliciesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetScalingPoliciesResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/getScalingPolicy.go b/sdk/go/nomad/getScalingPolicy.go index 7dd8a371..9645513a 100644 --- a/sdk/go/nomad/getScalingPolicy.go +++ b/sdk/go/nomad/getScalingPolicy.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a Scaling Policy. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -38,6 +40,7 @@ import ( // // ``` func GetScalingPolicy(ctx *pulumi.Context, args *GetScalingPolicyArgs, opts ...pulumi.InvokeOption) (*GetScalingPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetScalingPolicyResult err := ctx.Invoke("nomad:index/getScalingPolicy:getScalingPolicy", args, &rv, opts...) if err != nil { @@ -107,6 +110,12 @@ func (o GetScalingPolicyResultOutput) ToGetScalingPolicyResultOutputWithContext( return o } +func (o GetScalingPolicyResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetScalingPolicyResult] { + return pulumix.Output[GetScalingPolicyResult]{ + OutputState: o.OutputState, + } +} + // `(boolean)` - Whether or not the scaling policy is enabled. func (o GetScalingPolicyResultOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v GetScalingPolicyResult) bool { return v.Enabled }).(pulumi.BoolOutput) diff --git a/sdk/go/nomad/getSchedulerPolicy.go b/sdk/go/nomad/getSchedulerPolicy.go index 1a42be90..05c7752e 100644 --- a/sdk/go/nomad/getSchedulerPolicy.go +++ b/sdk/go/nomad/getSchedulerPolicy.go @@ -4,6 +4,7 @@ package nomad import ( + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -16,7 +17,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -33,6 +34,7 @@ import ( // // ``` func GetSchedulerPolicy(ctx *pulumi.Context, opts ...pulumi.InvokeOption) (*GetSchedulerPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetSchedulerPolicyResult err := ctx.Invoke("nomad:index/getSchedulerPolicy:getSchedulerPolicy", nil, &rv, opts...) if err != nil { diff --git a/sdk/go/nomad/getVariable.go b/sdk/go/nomad/getVariable.go new file mode 100644 index 00000000..7c46ad90 --- /dev/null +++ b/sdk/go/nomad/getVariable.go @@ -0,0 +1,138 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// ## Example Usage +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.NewVariable(ctx, "example", &nomad.VariableArgs{ +// Path: pulumi.String("path/of/existing/variable"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +func LookupVariable(ctx *pulumi.Context, args *LookupVariableArgs, opts ...pulumi.InvokeOption) (*LookupVariableResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVariableResult + err := ctx.Invoke("nomad:index/getVariable:getVariable", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVariable. +type LookupVariableArgs struct { + // `(string: "default")` - The namepsace in which the variable exists. + Namespace *string `pulumi:"namespace"` + // `(string)` - Path to the existing variable. + Path string `pulumi:"path"` +} + +// A collection of values returned by getVariable. +type LookupVariableResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // `(map[string]string)` - Map of items in the variable. + Items map[string]interface{} `pulumi:"items"` + // `(string)` - The namespace in which the variable exists. + Namespace *string `pulumi:"namespace"` + // `(string)` - The path at which the variable exists. + Path string `pulumi:"path"` +} + +func LookupVariableOutput(ctx *pulumi.Context, args LookupVariableOutputArgs, opts ...pulumi.InvokeOption) LookupVariableResultOutput { + return pulumi.ToOutputWithContext(context.Background(), args). + ApplyT(func(v interface{}) (LookupVariableResult, error) { + args := v.(LookupVariableArgs) + r, err := LookupVariable(ctx, &args, opts...) + var s LookupVariableResult + if r != nil { + s = *r + } + return s, err + }).(LookupVariableResultOutput) +} + +// A collection of arguments for invoking getVariable. +type LookupVariableOutputArgs struct { + // `(string: "default")` - The namepsace in which the variable exists. + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + // `(string)` - Path to the existing variable. + Path pulumi.StringInput `pulumi:"path"` +} + +func (LookupVariableOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVariableArgs)(nil)).Elem() +} + +// A collection of values returned by getVariable. +type LookupVariableResultOutput struct{ *pulumi.OutputState } + +func (LookupVariableResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVariableResult)(nil)).Elem() +} + +func (o LookupVariableResultOutput) ToLookupVariableResultOutput() LookupVariableResultOutput { + return o +} + +func (o LookupVariableResultOutput) ToLookupVariableResultOutputWithContext(ctx context.Context) LookupVariableResultOutput { + return o +} + +func (o LookupVariableResultOutput) ToOutput(ctx context.Context) pulumix.Output[LookupVariableResult] { + return pulumix.Output[LookupVariableResult]{ + OutputState: o.OutputState, + } +} + +// The provider-assigned unique ID for this managed resource. +func (o LookupVariableResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVariableResult) string { return v.Id }).(pulumi.StringOutput) +} + +// `(map[string]string)` - Map of items in the variable. +func (o LookupVariableResultOutput) Items() pulumi.MapOutput { + return o.ApplyT(func(v LookupVariableResult) map[string]interface{} { return v.Items }).(pulumi.MapOutput) +} + +// `(string)` - The namespace in which the variable exists. +func (o LookupVariableResultOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVariableResult) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// `(string)` - The path at which the variable exists. +func (o LookupVariableResultOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v LookupVariableResult) string { return v.Path }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVariableResultOutput{}) +} diff --git a/sdk/go/nomad/getVolumes.go b/sdk/go/nomad/getVolumes.go index 2f421ca3..34723f36 100644 --- a/sdk/go/nomad/getVolumes.go +++ b/sdk/go/nomad/getVolumes.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Retrieve a list of volumes in Nomad. @@ -19,7 +21,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -36,6 +38,7 @@ import ( // // ``` func GetVolumes(ctx *pulumi.Context, args *GetVolumesArgs, opts ...pulumi.InvokeOption) (*GetVolumesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) var rv GetVolumesResult err := ctx.Invoke("nomad:index/getVolumes:getVolumes", args, &rv, opts...) if err != nil { @@ -113,6 +116,12 @@ func (o GetVolumesResultOutput) ToGetVolumesResultOutputWithContext(ctx context. return o } +func (o GetVolumesResultOutput) ToOutput(ctx context.Context) pulumix.Output[GetVolumesResult] { + return pulumix.Output[GetVolumesResult]{ + OutputState: o.OutputState, + } +} + // The provider-assigned unique ID for this managed resource. func (o GetVolumesResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetVolumesResult) string { return v.Id }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/init.go b/sdk/go/nomad/init.go index 5f81c53d..53ec0484 100644 --- a/sdk/go/nomad/init.go +++ b/sdk/go/nomad/init.go @@ -7,6 +7,7 @@ import ( "fmt" "github.com/blang/semver" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) @@ -30,18 +31,26 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AclRole{} case "nomad:index/aclToken:AclToken": r = &AclToken{} + case "nomad:index/csiVolume:CsiVolume": + r = &CsiVolume{} + case "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": + r = &CsiVolumeRegistration{} case "nomad:index/externalVolume:ExternalVolume": r = &ExternalVolume{} case "nomad:index/job:Job": r = &Job{} case "nomad:index/namespace:Namespace": r = &Namespace{} + case "nomad:index/nodePool:NodePool": + r = &NodePool{} case "nomad:index/quoteSpecification:QuoteSpecification": r = &QuoteSpecification{} case "nomad:index/schedulerConfig:SchedulerConfig": r = &SchedulerConfig{} case "nomad:index/sentinelPolicy:SentinelPolicy": r = &SentinelPolicy{} + case "nomad:index/variable:Variable": + r = &Variable{} case "nomad:index/volume:Volume": r = &Volume{} default: @@ -71,7 +80,10 @@ func (p *pkg) ConstructProvider(ctx *pulumi.Context, name, typ, urn string) (pul } func init() { - version, _ := PkgVersion() + version, err := internal.PkgVersion() + if err != nil { + version = semver.Version{Major: 1} + } pulumi.RegisterResourceModule( "nomad", "index/aclAuthMethod", @@ -97,6 +109,16 @@ func init() { "index/aclToken", &module{version}, ) + pulumi.RegisterResourceModule( + "nomad", + "index/csiVolume", + &module{version}, + ) + pulumi.RegisterResourceModule( + "nomad", + "index/csiVolumeRegistration", + &module{version}, + ) pulumi.RegisterResourceModule( "nomad", "index/externalVolume", @@ -112,6 +134,11 @@ func init() { "index/namespace", &module{version}, ) + pulumi.RegisterResourceModule( + "nomad", + "index/nodePool", + &module{version}, + ) pulumi.RegisterResourceModule( "nomad", "index/quoteSpecification", @@ -127,6 +154,11 @@ func init() { "index/sentinelPolicy", &module{version}, ) + pulumi.RegisterResourceModule( + "nomad", + "index/variable", + &module{version}, + ) pulumi.RegisterResourceModule( "nomad", "index/volume", diff --git a/sdk/go/nomad/pulumiUtilities.go b/sdk/go/nomad/internal/pulumiUtilities.go similarity index 60% rename from sdk/go/nomad/pulumiUtilities.go rename to sdk/go/nomad/internal/pulumiUtilities.go index 4213de2f..817e6af6 100644 --- a/sdk/go/nomad/pulumiUtilities.go +++ b/sdk/go/nomad/internal/pulumiUtilities.go @@ -1,7 +1,7 @@ // Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. // *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** -package nomad +package internal import ( "fmt" @@ -17,7 +17,7 @@ import ( type envParser func(v string) interface{} -func parseEnvBool(v string) interface{} { +func ParseEnvBool(v string) interface{} { b, err := strconv.ParseBool(v) if err != nil { return nil @@ -25,7 +25,7 @@ func parseEnvBool(v string) interface{} { return b } -func parseEnvInt(v string) interface{} { +func ParseEnvInt(v string) interface{} { i, err := strconv.ParseInt(v, 0, 0) if err != nil { return nil @@ -33,7 +33,7 @@ func parseEnvInt(v string) interface{} { return int(i) } -func parseEnvFloat(v string) interface{} { +func ParseEnvFloat(v string) interface{} { f, err := strconv.ParseFloat(v, 64) if err != nil { return nil @@ -41,7 +41,7 @@ func parseEnvFloat(v string) interface{} { return f } -func parseEnvStringArray(v string) interface{} { +func ParseEnvStringArray(v string) interface{} { var result pulumi.StringArray for _, item := range strings.Split(v, ";") { result = append(result, pulumi.String(item)) @@ -49,7 +49,7 @@ func parseEnvStringArray(v string) interface{} { return result } -func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { +func GetEnvOrDefault(def interface{}, parser envParser, vars ...string) interface{} { for _, v := range vars { if value, ok := os.LookupEnv(v); ok { if parser != nil { @@ -65,6 +65,10 @@ func getEnvOrDefault(def interface{}, parser envParser, vars ...string) interfac // If a version cannot be determined, v1 will be assumed. The second return // value is always nil. func PkgVersion() (semver.Version, error) { + // emptyVersion defaults to v0.0.0 + if !SdkVersion.Equals(semver.Version{}) { + return SdkVersion, nil + } type sentinal struct{} pkgPath := reflect.TypeOf(sentinal{}).PkgPath() re := regexp.MustCompile("^.*/pulumi-nomad/sdk(/v\\d+)?") @@ -79,9 +83,31 @@ func PkgVersion() (semver.Version, error) { } // isZero is a null safe check for if a value is it's types zero value. -func isZero(v interface{}) bool { +func IsZero(v interface{}) bool { if v == nil { return true } return reflect.ValueOf(v).IsZero() } + +// PkgResourceDefaultOpts provides package level defaults to pulumi.OptionResource. +func PkgResourceDefaultOpts(opts []pulumi.ResourceOption) []pulumi.ResourceOption { + defaults := []pulumi.ResourceOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} + +// PkgInvokeDefaultOpts provides package level defaults to pulumi.OptionInvoke. +func PkgInvokeDefaultOpts(opts []pulumi.InvokeOption) []pulumi.InvokeOption { + defaults := []pulumi.InvokeOption{} + + version := SdkVersion + if !version.Equals(semver.Version{}) { + defaults = append(defaults, pulumi.Version(version.String())) + } + return append(defaults, opts...) +} diff --git a/sdk/go/nomad/internal/pulumiVersion.go b/sdk/go/nomad/internal/pulumiVersion.go new file mode 100644 index 00000000..d5916876 --- /dev/null +++ b/sdk/go/nomad/internal/pulumiVersion.go @@ -0,0 +1,11 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package internal + +import ( + "github.com/blang/semver" +) + +var SdkVersion semver.Version = semver.Version{} +var pluginDownloadURL string = "" diff --git a/sdk/go/nomad/job.go b/sdk/go/nomad/job.go index 9a61655c..f3412ee4 100644 --- a/sdk/go/nomad/job.go +++ b/sdk/go/nomad/job.go @@ -8,13 +8,17 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) type Job struct { pulumi.CustomResourceState // The IDs for allocations associated with this job. + // + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. AllocationIds pulumi.StringArrayOutput `pulumi:"allocationIds"` // `(string: )` - Consul token used when registering this job. // Will fallback to the value declared in Nomad provider configuration, if any. @@ -33,6 +37,10 @@ type Job struct { // `(boolean: true)` - If true, the provider will return immediately // after creating or updating, instead of monitoring. Detach pulumi.BoolPtrOutput `pulumi:"detach"` + // `(boolean: false)` - Set this to `true` to use the previous HCL1 + // parser. This option is provided for backwards compatibility only and should + // not be used unless absolutely necessary. + Hcl1 pulumi.BoolPtrOutput `pulumi:"hcl1"` // `(block: optional)` - Options for the HCL2 jobspec parser. Hcl2 JobHcl2PtrOutput `pulumi:"hcl2"` // `(string: )` - The contents of the jobspec to register. @@ -52,6 +60,8 @@ type Job struct { // `(boolean: false)` - Set this to true if you want the job to // be purged when the resource is destroyed. PurgeOnDestroy pulumi.BoolPtrOutput `pulumi:"purgeOnDestroy"` + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + ReadAllocationIds pulumi.BoolPtrOutput `pulumi:"readAllocationIds"` // The target region for the job, as derived from the jobspec. Region pulumi.StringOutput `pulumi:"region"` TaskGroups JobTaskGroupArrayOutput `pulumi:"taskGroups"` @@ -83,6 +93,7 @@ func NewJob(ctx *pulumi.Context, "vaultToken", }) opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) var resource Job err := ctx.RegisterResource("nomad:index/job:Job", name, args, &resource, opts...) if err != nil { @@ -106,6 +117,8 @@ func GetJob(ctx *pulumi.Context, // Input properties used for looking up and filtering Job resources. type jobState struct { // The IDs for allocations associated with this job. + // + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. AllocationIds []string `pulumi:"allocationIds"` // `(string: )` - Consul token used when registering this job. // Will fallback to the value declared in Nomad provider configuration, if any. @@ -124,6 +137,10 @@ type jobState struct { // `(boolean: true)` - If true, the provider will return immediately // after creating or updating, instead of monitoring. Detach *bool `pulumi:"detach"` + // `(boolean: false)` - Set this to `true` to use the previous HCL1 + // parser. This option is provided for backwards compatibility only and should + // not be used unless absolutely necessary. + Hcl1 *bool `pulumi:"hcl1"` // `(block: optional)` - Options for the HCL2 jobspec parser. Hcl2 *JobHcl2 `pulumi:"hcl2"` // `(string: )` - The contents of the jobspec to register. @@ -143,6 +160,8 @@ type jobState struct { // `(boolean: false)` - Set this to true if you want the job to // be purged when the resource is destroyed. PurgeOnDestroy *bool `pulumi:"purgeOnDestroy"` + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + ReadAllocationIds *bool `pulumi:"readAllocationIds"` // The target region for the job, as derived from the jobspec. Region *string `pulumi:"region"` TaskGroups []JobTaskGroup `pulumi:"taskGroups"` @@ -155,6 +174,8 @@ type jobState struct { type JobState struct { // The IDs for allocations associated with this job. + // + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. AllocationIds pulumi.StringArrayInput // `(string: )` - Consul token used when registering this job. // Will fallback to the value declared in Nomad provider configuration, if any. @@ -173,6 +194,10 @@ type JobState struct { // `(boolean: true)` - If true, the provider will return immediately // after creating or updating, instead of monitoring. Detach pulumi.BoolPtrInput + // `(boolean: false)` - Set this to `true` to use the previous HCL1 + // parser. This option is provided for backwards compatibility only and should + // not be used unless absolutely necessary. + Hcl1 pulumi.BoolPtrInput // `(block: optional)` - Options for the HCL2 jobspec parser. Hcl2 JobHcl2PtrInput // `(string: )` - The contents of the jobspec to register. @@ -192,6 +217,8 @@ type JobState struct { // `(boolean: false)` - Set this to true if you want the job to // be purged when the resource is destroyed. PurgeOnDestroy pulumi.BoolPtrInput + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + ReadAllocationIds pulumi.BoolPtrInput // The target region for the job, as derived from the jobspec. Region pulumi.StringPtrInput TaskGroups JobTaskGroupArrayInput @@ -218,6 +245,10 @@ type jobArgs struct { // `(boolean: true)` - If true, the provider will return immediately // after creating or updating, instead of monitoring. Detach *bool `pulumi:"detach"` + // `(boolean: false)` - Set this to `true` to use the previous HCL1 + // parser. This option is provided for backwards compatibility only and should + // not be used unless absolutely necessary. + Hcl1 *bool `pulumi:"hcl1"` // `(block: optional)` - Options for the HCL2 jobspec parser. Hcl2 *JobHcl2 `pulumi:"hcl2"` // `(string: )` - The contents of the jobspec to register. @@ -231,6 +262,8 @@ type jobArgs struct { // `(boolean: false)` - Set this to true if you want the job to // be purged when the resource is destroyed. PurgeOnDestroy *bool `pulumi:"purgeOnDestroy"` + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + ReadAllocationIds *bool `pulumi:"readAllocationIds"` // `(string: )` - Vault token used when registering this job. // Will fallback to the value declared in Nomad provider configuration, if any. VaultToken *string `pulumi:"vaultToken"` @@ -249,6 +282,10 @@ type JobArgs struct { // `(boolean: true)` - If true, the provider will return immediately // after creating or updating, instead of monitoring. Detach pulumi.BoolPtrInput + // `(boolean: false)` - Set this to `true` to use the previous HCL1 + // parser. This option is provided for backwards compatibility only and should + // not be used unless absolutely necessary. + Hcl1 pulumi.BoolPtrInput // `(block: optional)` - Options for the HCL2 jobspec parser. Hcl2 JobHcl2PtrInput // `(string: )` - The contents of the jobspec to register. @@ -262,6 +299,8 @@ type JobArgs struct { // `(boolean: false)` - Set this to true if you want the job to // be purged when the resource is destroyed. PurgeOnDestroy pulumi.BoolPtrInput + // Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + ReadAllocationIds pulumi.BoolPtrInput // `(string: )` - Vault token used when registering this job. // Will fallback to the value declared in Nomad provider configuration, if any. VaultToken pulumi.StringPtrInput @@ -290,6 +329,12 @@ func (i *Job) ToJobOutputWithContext(ctx context.Context) JobOutput { return pulumi.ToOutputWithContext(ctx, i).(JobOutput) } +func (i *Job) ToOutput(ctx context.Context) pulumix.Output[*Job] { + return pulumix.Output[*Job]{ + OutputState: i.ToJobOutputWithContext(ctx).OutputState, + } +} + // JobArrayInput is an input type that accepts JobArray and JobArrayOutput values. // You can construct a concrete instance of `JobArrayInput` via: // @@ -315,6 +360,12 @@ func (i JobArray) ToJobArrayOutputWithContext(ctx context.Context) JobArrayOutpu return pulumi.ToOutputWithContext(ctx, i).(JobArrayOutput) } +func (i JobArray) ToOutput(ctx context.Context) pulumix.Output[[]*Job] { + return pulumix.Output[[]*Job]{ + OutputState: i.ToJobArrayOutputWithContext(ctx).OutputState, + } +} + // JobMapInput is an input type that accepts JobMap and JobMapOutput values. // You can construct a concrete instance of `JobMapInput` via: // @@ -340,6 +391,12 @@ func (i JobMap) ToJobMapOutputWithContext(ctx context.Context) JobMapOutput { return pulumi.ToOutputWithContext(ctx, i).(JobMapOutput) } +func (i JobMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Job] { + return pulumix.Output[map[string]*Job]{ + OutputState: i.ToJobMapOutputWithContext(ctx).OutputState, + } +} + type JobOutput struct{ *pulumi.OutputState } func (JobOutput) ElementType() reflect.Type { @@ -354,7 +411,15 @@ func (o JobOutput) ToJobOutputWithContext(ctx context.Context) JobOutput { return o } +func (o JobOutput) ToOutput(ctx context.Context) pulumix.Output[*Job] { + return pulumix.Output[*Job]{ + OutputState: o.OutputState, + } +} + // The IDs for allocations associated with this job. +// +// Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. func (o JobOutput) AllocationIds() pulumi.StringArrayOutput { return o.ApplyT(func(v *Job) pulumi.StringArrayOutput { return v.AllocationIds }).(pulumi.StringArrayOutput) } @@ -397,6 +462,13 @@ func (o JobOutput) Detach() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Job) pulumi.BoolPtrOutput { return v.Detach }).(pulumi.BoolPtrOutput) } +// `(boolean: false)` - Set this to `true` to use the previous HCL1 +// parser. This option is provided for backwards compatibility only and should +// not be used unless absolutely necessary. +func (o JobOutput) Hcl1() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Job) pulumi.BoolPtrOutput { return v.Hcl1 }).(pulumi.BoolPtrOutput) +} + // `(block: optional)` - Options for the HCL2 jobspec parser. func (o JobOutput) Hcl2() JobHcl2PtrOutput { return o.ApplyT(func(v *Job) JobHcl2PtrOutput { return v.Hcl2 }).(JobHcl2PtrOutput) @@ -440,6 +512,11 @@ func (o JobOutput) PurgeOnDestroy() pulumi.BoolPtrOutput { return o.ApplyT(func(v *Job) pulumi.BoolPtrOutput { return v.PurgeOnDestroy }).(pulumi.BoolPtrOutput) } +// Deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. +func (o JobOutput) ReadAllocationIds() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *Job) pulumi.BoolPtrOutput { return v.ReadAllocationIds }).(pulumi.BoolPtrOutput) +} + // The target region for the job, as derived from the jobspec. func (o JobOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *Job) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) @@ -474,6 +551,12 @@ func (o JobArrayOutput) ToJobArrayOutputWithContext(ctx context.Context) JobArra return o } +func (o JobArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Job] { + return pulumix.Output[[]*Job]{ + OutputState: o.OutputState, + } +} + func (o JobArrayOutput) Index(i pulumi.IntInput) JobOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Job { return vs[0].([]*Job)[vs[1].(int)] @@ -494,6 +577,12 @@ func (o JobMapOutput) ToJobMapOutputWithContext(ctx context.Context) JobMapOutpu return o } +func (o JobMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Job] { + return pulumix.Output[map[string]*Job]{ + OutputState: o.OutputState, + } +} + func (o JobMapOutput) MapIndex(k pulumi.StringInput) JobOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Job { return vs[0].(map[string]*Job)[vs[1].(string)] diff --git a/sdk/go/nomad/namespace.go b/sdk/go/nomad/namespace.go index a045abec..52464714 100644 --- a/sdk/go/nomad/namespace.go +++ b/sdk/go/nomad/namespace.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Provisions a namespace within a Nomad cluster. @@ -26,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -57,7 +59,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -103,6 +105,8 @@ type Namespace struct { Meta pulumi.StringMapOutput `pulumi:"meta"` // `(string: )` - A unique name for the namespace. Name pulumi.StringOutput `pulumi:"name"` + // `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + NodePoolConfig NamespaceNodePoolConfigOutput `pulumi:"nodePoolConfig"` // `(string: "")` - A resource quota to attach to the namespace. Quota pulumi.StringPtrOutput `pulumi:"quota"` } @@ -114,6 +118,7 @@ func NewNamespace(ctx *pulumi.Context, args = &NamespaceArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource Namespace err := ctx.RegisterResource("nomad:index/namespace:Namespace", name, args, &resource, opts...) if err != nil { @@ -145,6 +150,8 @@ type namespaceState struct { Meta map[string]string `pulumi:"meta"` // `(string: )` - A unique name for the namespace. Name *string `pulumi:"name"` + // `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + NodePoolConfig *NamespaceNodePoolConfig `pulumi:"nodePoolConfig"` // `(string: "")` - A resource quota to attach to the namespace. Quota *string `pulumi:"quota"` } @@ -159,6 +166,8 @@ type NamespaceState struct { Meta pulumi.StringMapInput // `(string: )` - A unique name for the namespace. Name pulumi.StringPtrInput + // `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + NodePoolConfig NamespaceNodePoolConfigPtrInput // `(string: "")` - A resource quota to attach to the namespace. Quota pulumi.StringPtrInput } @@ -177,6 +186,8 @@ type namespaceArgs struct { Meta map[string]string `pulumi:"meta"` // `(string: )` - A unique name for the namespace. Name *string `pulumi:"name"` + // `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + NodePoolConfig *NamespaceNodePoolConfig `pulumi:"nodePoolConfig"` // `(string: "")` - A resource quota to attach to the namespace. Quota *string `pulumi:"quota"` } @@ -192,6 +203,8 @@ type NamespaceArgs struct { Meta pulumi.StringMapInput // `(string: )` - A unique name for the namespace. Name pulumi.StringPtrInput + // `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + NodePoolConfig NamespaceNodePoolConfigPtrInput // `(string: "")` - A resource quota to attach to the namespace. Quota pulumi.StringPtrInput } @@ -219,6 +232,12 @@ func (i *Namespace) ToNamespaceOutputWithContext(ctx context.Context) NamespaceO return pulumi.ToOutputWithContext(ctx, i).(NamespaceOutput) } +func (i *Namespace) ToOutput(ctx context.Context) pulumix.Output[*Namespace] { + return pulumix.Output[*Namespace]{ + OutputState: i.ToNamespaceOutputWithContext(ctx).OutputState, + } +} + // NamespaceArrayInput is an input type that accepts NamespaceArray and NamespaceArrayOutput values. // You can construct a concrete instance of `NamespaceArrayInput` via: // @@ -244,6 +263,12 @@ func (i NamespaceArray) ToNamespaceArrayOutputWithContext(ctx context.Context) N return pulumi.ToOutputWithContext(ctx, i).(NamespaceArrayOutput) } +func (i NamespaceArray) ToOutput(ctx context.Context) pulumix.Output[[]*Namespace] { + return pulumix.Output[[]*Namespace]{ + OutputState: i.ToNamespaceArrayOutputWithContext(ctx).OutputState, + } +} + // NamespaceMapInput is an input type that accepts NamespaceMap and NamespaceMapOutput values. // You can construct a concrete instance of `NamespaceMapInput` via: // @@ -269,6 +294,12 @@ func (i NamespaceMap) ToNamespaceMapOutputWithContext(ctx context.Context) Names return pulumi.ToOutputWithContext(ctx, i).(NamespaceMapOutput) } +func (i NamespaceMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Namespace] { + return pulumix.Output[map[string]*Namespace]{ + OutputState: i.ToNamespaceMapOutputWithContext(ctx).OutputState, + } +} + type NamespaceOutput struct{ *pulumi.OutputState } func (NamespaceOutput) ElementType() reflect.Type { @@ -283,6 +314,12 @@ func (o NamespaceOutput) ToNamespaceOutputWithContext(ctx context.Context) Names return o } +func (o NamespaceOutput) ToOutput(ctx context.Context) pulumix.Output[*Namespace] { + return pulumix.Output[*Namespace]{ + OutputState: o.OutputState, + } +} + // `(block: )` - A block of capabilities for the namespace. Can't // be repeated. See below for the structure of this block. func (o NamespaceOutput) Capabilities() NamespaceCapabilitiesPtrOutput { @@ -304,6 +341,11 @@ func (o NamespaceOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Namespace) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } +// `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). +func (o NamespaceOutput) NodePoolConfig() NamespaceNodePoolConfigOutput { + return o.ApplyT(func(v *Namespace) NamespaceNodePoolConfigOutput { return v.NodePoolConfig }).(NamespaceNodePoolConfigOutput) +} + // `(string: "")` - A resource quota to attach to the namespace. func (o NamespaceOutput) Quota() pulumi.StringPtrOutput { return o.ApplyT(func(v *Namespace) pulumi.StringPtrOutput { return v.Quota }).(pulumi.StringPtrOutput) @@ -323,6 +365,12 @@ func (o NamespaceArrayOutput) ToNamespaceArrayOutputWithContext(ctx context.Cont return o } +func (o NamespaceArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Namespace] { + return pulumix.Output[[]*Namespace]{ + OutputState: o.OutputState, + } +} + func (o NamespaceArrayOutput) Index(i pulumi.IntInput) NamespaceOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Namespace { return vs[0].([]*Namespace)[vs[1].(int)] @@ -343,6 +391,12 @@ func (o NamespaceMapOutput) ToNamespaceMapOutputWithContext(ctx context.Context) return o } +func (o NamespaceMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Namespace] { + return pulumix.Output[map[string]*Namespace]{ + OutputState: o.OutputState, + } +} + func (o NamespaceMapOutput) MapIndex(k pulumi.StringInput) NamespaceOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Namespace { return vs[0].(map[string]*Namespace)[vs[1].(string)] diff --git a/sdk/go/nomad/nodePool.go b/sdk/go/nomad/nodePool.go new file mode 100644 index 00000000..befeb7e7 --- /dev/null +++ b/sdk/go/nomad/nodePool.go @@ -0,0 +1,335 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// Provisions a node pool within a Nomad cluster. +// +// ## Example Usage +// +// Registering a node pool: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.NewNodePool(ctx, "dev", &nomad.NodePoolArgs{ +// Description: pulumi.String("Nodes for the development environment."), +// Meta: pulumi.StringMap{ +// "department": pulumi.String("Engineering"), +// "env": pulumi.String("dev"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type NodePool struct { + pulumi.CustomResourceState + + // `(string)` - The description of the node pool. + Description pulumi.StringPtrOutput `pulumi:"description"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta pulumi.StringMapOutput `pulumi:"meta"` + // `(string)` - The name of the node pool. + Name pulumi.StringOutput `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfig NodePoolSchedulerConfigPtrOutput `pulumi:"schedulerConfig"` +} + +// NewNodePool registers a new resource with the given unique name, arguments, and options. +func NewNodePool(ctx *pulumi.Context, + name string, args *NodePoolArgs, opts ...pulumi.ResourceOption) (*NodePool, error) { + if args == nil { + args = &NodePoolArgs{} + } + + opts = internal.PkgResourceDefaultOpts(opts) + var resource NodePool + err := ctx.RegisterResource("nomad:index/nodePool:NodePool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNodePool gets an existing NodePool resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetNodePool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NodePoolState, opts ...pulumi.ResourceOption) (*NodePool, error) { + var resource NodePool + err := ctx.ReadResource("nomad:index/nodePool:NodePool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering NodePool resources. +type nodePoolState struct { + // `(string)` - The description of the node pool. + Description *string `pulumi:"description"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta map[string]string `pulumi:"meta"` + // `(string)` - The name of the node pool. + Name *string `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfig *NodePoolSchedulerConfig `pulumi:"schedulerConfig"` +} + +type NodePoolState struct { + // `(string)` - The description of the node pool. + Description pulumi.StringPtrInput + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta pulumi.StringMapInput + // `(string)` - The name of the node pool. + Name pulumi.StringPtrInput + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfig NodePoolSchedulerConfigPtrInput +} + +func (NodePoolState) ElementType() reflect.Type { + return reflect.TypeOf((*nodePoolState)(nil)).Elem() +} + +type nodePoolArgs struct { + // `(string)` - The description of the node pool. + Description *string `pulumi:"description"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta map[string]string `pulumi:"meta"` + // `(string)` - The name of the node pool. + Name *string `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfig *NodePoolSchedulerConfig `pulumi:"schedulerConfig"` +} + +// The set of arguments for constructing a NodePool resource. +type NodePoolArgs struct { + // `(string)` - The description of the node pool. + Description pulumi.StringPtrInput + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta pulumi.StringMapInput + // `(string)` - The name of the node pool. + Name pulumi.StringPtrInput + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfig NodePoolSchedulerConfigPtrInput +} + +func (NodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*nodePoolArgs)(nil)).Elem() +} + +type NodePoolInput interface { + pulumi.Input + + ToNodePoolOutput() NodePoolOutput + ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput +} + +func (*NodePool) ElementType() reflect.Type { + return reflect.TypeOf((**NodePool)(nil)).Elem() +} + +func (i *NodePool) ToNodePoolOutput() NodePoolOutput { + return i.ToNodePoolOutputWithContext(context.Background()) +} + +func (i *NodePool) ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolOutput) +} + +func (i *NodePool) ToOutput(ctx context.Context) pulumix.Output[*NodePool] { + return pulumix.Output[*NodePool]{ + OutputState: i.ToNodePoolOutputWithContext(ctx).OutputState, + } +} + +// NodePoolArrayInput is an input type that accepts NodePoolArray and NodePoolArrayOutput values. +// You can construct a concrete instance of `NodePoolArrayInput` via: +// +// NodePoolArray{ NodePoolArgs{...} } +type NodePoolArrayInput interface { + pulumi.Input + + ToNodePoolArrayOutput() NodePoolArrayOutput + ToNodePoolArrayOutputWithContext(context.Context) NodePoolArrayOutput +} + +type NodePoolArray []NodePoolInput + +func (NodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NodePool)(nil)).Elem() +} + +func (i NodePoolArray) ToNodePoolArrayOutput() NodePoolArrayOutput { + return i.ToNodePoolArrayOutputWithContext(context.Background()) +} + +func (i NodePoolArray) ToNodePoolArrayOutputWithContext(ctx context.Context) NodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolArrayOutput) +} + +func (i NodePoolArray) ToOutput(ctx context.Context) pulumix.Output[[]*NodePool] { + return pulumix.Output[[]*NodePool]{ + OutputState: i.ToNodePoolArrayOutputWithContext(ctx).OutputState, + } +} + +// NodePoolMapInput is an input type that accepts NodePoolMap and NodePoolMapOutput values. +// You can construct a concrete instance of `NodePoolMapInput` via: +// +// NodePoolMap{ "key": NodePoolArgs{...} } +type NodePoolMapInput interface { + pulumi.Input + + ToNodePoolMapOutput() NodePoolMapOutput + ToNodePoolMapOutputWithContext(context.Context) NodePoolMapOutput +} + +type NodePoolMap map[string]NodePoolInput + +func (NodePoolMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NodePool)(nil)).Elem() +} + +func (i NodePoolMap) ToNodePoolMapOutput() NodePoolMapOutput { + return i.ToNodePoolMapOutputWithContext(context.Background()) +} + +func (i NodePoolMap) ToNodePoolMapOutputWithContext(ctx context.Context) NodePoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolMapOutput) +} + +func (i NodePoolMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*NodePool] { + return pulumix.Output[map[string]*NodePool]{ + OutputState: i.ToNodePoolMapOutputWithContext(ctx).OutputState, + } +} + +type NodePoolOutput struct{ *pulumi.OutputState } + +func (NodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePool)(nil)).Elem() +} + +func (o NodePoolOutput) ToNodePoolOutput() NodePoolOutput { + return o +} + +func (o NodePoolOutput) ToNodePoolOutputWithContext(ctx context.Context) NodePoolOutput { + return o +} + +func (o NodePoolOutput) ToOutput(ctx context.Context) pulumix.Output[*NodePool] { + return pulumix.Output[*NodePool]{ + OutputState: o.OutputState, + } +} + +// `(string)` - The description of the node pool. +func (o NodePoolOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePool) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// `(map[string]string)` - Arbitrary KV metadata associated with the +// node pool. +func (o NodePoolOutput) Meta() pulumi.StringMapOutput { + return o.ApplyT(func(v *NodePool) pulumi.StringMapOutput { return v.Meta }).(pulumi.StringMapOutput) +} + +// `(string)` - The name of the node pool. +func (o NodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *NodePool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// `(block)` - Scheduler configuration for the node pool. +func (o NodePoolOutput) SchedulerConfig() NodePoolSchedulerConfigPtrOutput { + return o.ApplyT(func(v *NodePool) NodePoolSchedulerConfigPtrOutput { return v.SchedulerConfig }).(NodePoolSchedulerConfigPtrOutput) +} + +type NodePoolArrayOutput struct{ *pulumi.OutputState } + +func (NodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NodePool)(nil)).Elem() +} + +func (o NodePoolArrayOutput) ToNodePoolArrayOutput() NodePoolArrayOutput { + return o +} + +func (o NodePoolArrayOutput) ToNodePoolArrayOutputWithContext(ctx context.Context) NodePoolArrayOutput { + return o +} + +func (o NodePoolArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*NodePool] { + return pulumix.Output[[]*NodePool]{ + OutputState: o.OutputState, + } +} + +func (o NodePoolArrayOutput) Index(i pulumi.IntInput) NodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NodePool { + return vs[0].([]*NodePool)[vs[1].(int)] + }).(NodePoolOutput) +} + +type NodePoolMapOutput struct{ *pulumi.OutputState } + +func (NodePoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NodePool)(nil)).Elem() +} + +func (o NodePoolMapOutput) ToNodePoolMapOutput() NodePoolMapOutput { + return o +} + +func (o NodePoolMapOutput) ToNodePoolMapOutputWithContext(ctx context.Context) NodePoolMapOutput { + return o +} + +func (o NodePoolMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*NodePool] { + return pulumix.Output[map[string]*NodePool]{ + OutputState: o.OutputState, + } +} + +func (o NodePoolMapOutput) MapIndex(k pulumi.StringInput) NodePoolOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NodePool { + return vs[0].(map[string]*NodePool)[vs[1].(string)] + }).(NodePoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolInput)(nil)).Elem(), &NodePool{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolArrayInput)(nil)).Elem(), NodePoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolMapInput)(nil)).Elem(), NodePoolMap{}) + pulumi.RegisterOutputType(NodePoolOutput{}) + pulumi.RegisterOutputType(NodePoolArrayOutput{}) + pulumi.RegisterOutputType(NodePoolMapOutput{}) +} diff --git a/sdk/go/nomad/provider.go b/sdk/go/nomad/provider.go index a392571e..f6c50e51 100644 --- a/sdk/go/nomad/provider.go +++ b/sdk/go/nomad/provider.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // The provider type for the nomad package. By default, resources use package-wide configuration @@ -68,6 +70,7 @@ func NewProvider(ctx *pulumi.Context, "vaultToken", }) opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) var resource Provider err := ctx.RegisterResource("pulumi:providers:nomad", name, args, &resource, opts...) if err != nil { @@ -103,6 +106,8 @@ type providerArgs struct { Region *string `pulumi:"region"` // ACL token secret for API requests. SecretId *string `pulumi:"secretId"` + // Skip TLS verification on client side. + SkipVerify *bool `pulumi:"skipVerify"` // Vault token if policies are specified in the job file. VaultToken *string `pulumi:"vaultToken"` } @@ -135,6 +140,8 @@ type ProviderArgs struct { Region pulumi.StringPtrInput // ACL token secret for API requests. SecretId pulumi.StringPtrInput + // Skip TLS verification on client side. + SkipVerify pulumi.BoolPtrInput // Vault token if policies are specified in the job file. VaultToken pulumi.StringPtrInput } @@ -162,6 +169,12 @@ func (i *Provider) ToProviderOutputWithContext(ctx context.Context) ProviderOutp return pulumi.ToOutputWithContext(ctx, i).(ProviderOutput) } +func (i *Provider) ToOutput(ctx context.Context) pulumix.Output[*Provider] { + return pulumix.Output[*Provider]{ + OutputState: i.ToProviderOutputWithContext(ctx).OutputState, + } +} + type ProviderOutput struct{ *pulumi.OutputState } func (ProviderOutput) ElementType() reflect.Type { @@ -176,6 +189,12 @@ func (o ProviderOutput) ToProviderOutputWithContext(ctx context.Context) Provide return o } +func (o ProviderOutput) ToOutput(ctx context.Context) pulumix.Output[*Provider] { + return pulumix.Output[*Provider]{ + OutputState: o.OutputState, + } +} + // URL of the root of the target Nomad agent. func (o ProviderOutput) Address() pulumi.StringOutput { return o.ApplyT(func(v *Provider) pulumi.StringOutput { return v.Address }).(pulumi.StringOutput) diff --git a/sdk/go/nomad/pulumiTypes.go b/sdk/go/nomad/pulumiTypes.go index 94b7f68b..eb922b57 100644 --- a/sdk/go/nomad/pulumiTypes.go +++ b/sdk/go/nomad/pulumiTypes.go @@ -7,9 +7,13 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) +var _ = internal.GetEnvOrDefault + type AclAuthMethodConfig struct { AllowedRedirectUris []string `pulumi:"allowedRedirectUris"` BoundAudiences []string `pulumi:"boundAudiences"` @@ -59,6 +63,12 @@ func (i AclAuthMethodConfigArgs) ToAclAuthMethodConfigOutputWithContext(ctx cont return pulumi.ToOutputWithContext(ctx, i).(AclAuthMethodConfigOutput) } +func (i AclAuthMethodConfigArgs) ToOutput(ctx context.Context) pulumix.Output[AclAuthMethodConfig] { + return pulumix.Output[AclAuthMethodConfig]{ + OutputState: i.ToAclAuthMethodConfigOutputWithContext(ctx).OutputState, + } +} + func (i AclAuthMethodConfigArgs) ToAclAuthMethodConfigPtrOutput() AclAuthMethodConfigPtrOutput { return i.ToAclAuthMethodConfigPtrOutputWithContext(context.Background()) } @@ -100,6 +110,12 @@ func (i *aclAuthMethodConfigPtrType) ToAclAuthMethodConfigPtrOutputWithContext(c return pulumi.ToOutputWithContext(ctx, i).(AclAuthMethodConfigPtrOutput) } +func (i *aclAuthMethodConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*AclAuthMethodConfig] { + return pulumix.Output[*AclAuthMethodConfig]{ + OutputState: i.ToAclAuthMethodConfigPtrOutputWithContext(ctx).OutputState, + } +} + type AclAuthMethodConfigOutput struct{ *pulumi.OutputState } func (AclAuthMethodConfigOutput) ElementType() reflect.Type { @@ -124,6 +140,12 @@ func (o AclAuthMethodConfigOutput) ToAclAuthMethodConfigPtrOutputWithContext(ctx }).(AclAuthMethodConfigPtrOutput) } +func (o AclAuthMethodConfigOutput) ToOutput(ctx context.Context) pulumix.Output[AclAuthMethodConfig] { + return pulumix.Output[AclAuthMethodConfig]{ + OutputState: o.OutputState, + } +} + func (o AclAuthMethodConfigOutput) AllowedRedirectUris() pulumi.StringArrayOutput { return o.ApplyT(func(v AclAuthMethodConfig) []string { return v.AllowedRedirectUris }).(pulumi.StringArrayOutput) } @@ -178,6 +200,12 @@ func (o AclAuthMethodConfigPtrOutput) ToAclAuthMethodConfigPtrOutputWithContext( return o } +func (o AclAuthMethodConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*AclAuthMethodConfig] { + return pulumix.Output[*AclAuthMethodConfig]{ + OutputState: o.OutputState, + } +} + func (o AclAuthMethodConfigPtrOutput) Elem() AclAuthMethodConfigOutput { return o.ApplyT(func(v *AclAuthMethodConfig) AclAuthMethodConfig { if v != nil { @@ -278,6 +306,244 @@ func (o AclAuthMethodConfigPtrOutput) SigningAlgs() pulumi.StringArrayOutput { }).(pulumi.StringArrayOutput) } +type AclPolicyJobAcl struct { + // `(string: ` - The group to attach the policy. Required if + // `task` is set. + Group *string `pulumi:"group"` + // `(string: ` - The job to attach the policy. Required if + // `group` is set. + JobId string `pulumi:"jobId"` + // `(string: "default")` - The namespace to attach the policy. + // Required if `jobId` is set. + Namespace *string `pulumi:"namespace"` + // `(string: ` - The task to attach the policy. + // + // [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + Task *string `pulumi:"task"` +} + +// AclPolicyJobAclInput is an input type that accepts AclPolicyJobAclArgs and AclPolicyJobAclOutput values. +// You can construct a concrete instance of `AclPolicyJobAclInput` via: +// +// AclPolicyJobAclArgs{...} +type AclPolicyJobAclInput interface { + pulumi.Input + + ToAclPolicyJobAclOutput() AclPolicyJobAclOutput + ToAclPolicyJobAclOutputWithContext(context.Context) AclPolicyJobAclOutput +} + +type AclPolicyJobAclArgs struct { + // `(string: ` - The group to attach the policy. Required if + // `task` is set. + Group pulumi.StringPtrInput `pulumi:"group"` + // `(string: ` - The job to attach the policy. Required if + // `group` is set. + JobId pulumi.StringInput `pulumi:"jobId"` + // `(string: "default")` - The namespace to attach the policy. + // Required if `jobId` is set. + Namespace pulumi.StringPtrInput `pulumi:"namespace"` + // `(string: ` - The task to attach the policy. + // + // [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + Task pulumi.StringPtrInput `pulumi:"task"` +} + +func (AclPolicyJobAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*AclPolicyJobAcl)(nil)).Elem() +} + +func (i AclPolicyJobAclArgs) ToAclPolicyJobAclOutput() AclPolicyJobAclOutput { + return i.ToAclPolicyJobAclOutputWithContext(context.Background()) +} + +func (i AclPolicyJobAclArgs) ToAclPolicyJobAclOutputWithContext(ctx context.Context) AclPolicyJobAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(AclPolicyJobAclOutput) +} + +func (i AclPolicyJobAclArgs) ToOutput(ctx context.Context) pulumix.Output[AclPolicyJobAcl] { + return pulumix.Output[AclPolicyJobAcl]{ + OutputState: i.ToAclPolicyJobAclOutputWithContext(ctx).OutputState, + } +} + +func (i AclPolicyJobAclArgs) ToAclPolicyJobAclPtrOutput() AclPolicyJobAclPtrOutput { + return i.ToAclPolicyJobAclPtrOutputWithContext(context.Background()) +} + +func (i AclPolicyJobAclArgs) ToAclPolicyJobAclPtrOutputWithContext(ctx context.Context) AclPolicyJobAclPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AclPolicyJobAclOutput).ToAclPolicyJobAclPtrOutputWithContext(ctx) +} + +// AclPolicyJobAclPtrInput is an input type that accepts AclPolicyJobAclArgs, AclPolicyJobAclPtr and AclPolicyJobAclPtrOutput values. +// You can construct a concrete instance of `AclPolicyJobAclPtrInput` via: +// +// AclPolicyJobAclArgs{...} +// +// or: +// +// nil +type AclPolicyJobAclPtrInput interface { + pulumi.Input + + ToAclPolicyJobAclPtrOutput() AclPolicyJobAclPtrOutput + ToAclPolicyJobAclPtrOutputWithContext(context.Context) AclPolicyJobAclPtrOutput +} + +type aclPolicyJobAclPtrType AclPolicyJobAclArgs + +func AclPolicyJobAclPtr(v *AclPolicyJobAclArgs) AclPolicyJobAclPtrInput { + return (*aclPolicyJobAclPtrType)(v) +} + +func (*aclPolicyJobAclPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**AclPolicyJobAcl)(nil)).Elem() +} + +func (i *aclPolicyJobAclPtrType) ToAclPolicyJobAclPtrOutput() AclPolicyJobAclPtrOutput { + return i.ToAclPolicyJobAclPtrOutputWithContext(context.Background()) +} + +func (i *aclPolicyJobAclPtrType) ToAclPolicyJobAclPtrOutputWithContext(ctx context.Context) AclPolicyJobAclPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(AclPolicyJobAclPtrOutput) +} + +func (i *aclPolicyJobAclPtrType) ToOutput(ctx context.Context) pulumix.Output[*AclPolicyJobAcl] { + return pulumix.Output[*AclPolicyJobAcl]{ + OutputState: i.ToAclPolicyJobAclPtrOutputWithContext(ctx).OutputState, + } +} + +type AclPolicyJobAclOutput struct{ *pulumi.OutputState } + +func (AclPolicyJobAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*AclPolicyJobAcl)(nil)).Elem() +} + +func (o AclPolicyJobAclOutput) ToAclPolicyJobAclOutput() AclPolicyJobAclOutput { + return o +} + +func (o AclPolicyJobAclOutput) ToAclPolicyJobAclOutputWithContext(ctx context.Context) AclPolicyJobAclOutput { + return o +} + +func (o AclPolicyJobAclOutput) ToAclPolicyJobAclPtrOutput() AclPolicyJobAclPtrOutput { + return o.ToAclPolicyJobAclPtrOutputWithContext(context.Background()) +} + +func (o AclPolicyJobAclOutput) ToAclPolicyJobAclPtrOutputWithContext(ctx context.Context) AclPolicyJobAclPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v AclPolicyJobAcl) *AclPolicyJobAcl { + return &v + }).(AclPolicyJobAclPtrOutput) +} + +func (o AclPolicyJobAclOutput) ToOutput(ctx context.Context) pulumix.Output[AclPolicyJobAcl] { + return pulumix.Output[AclPolicyJobAcl]{ + OutputState: o.OutputState, + } +} + +// `(string: ` - The group to attach the policy. Required if +// `task` is set. +func (o AclPolicyJobAclOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v AclPolicyJobAcl) *string { return v.Group }).(pulumi.StringPtrOutput) +} + +// `(string: ` - The job to attach the policy. Required if +// `group` is set. +func (o AclPolicyJobAclOutput) JobId() pulumi.StringOutput { + return o.ApplyT(func(v AclPolicyJobAcl) string { return v.JobId }).(pulumi.StringOutput) +} + +// `(string: "default")` - The namespace to attach the policy. +// Required if `jobId` is set. +func (o AclPolicyJobAclOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v AclPolicyJobAcl) *string { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// `(string: ` - The task to attach the policy. +// +// [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies +func (o AclPolicyJobAclOutput) Task() pulumi.StringPtrOutput { + return o.ApplyT(func(v AclPolicyJobAcl) *string { return v.Task }).(pulumi.StringPtrOutput) +} + +type AclPolicyJobAclPtrOutput struct{ *pulumi.OutputState } + +func (AclPolicyJobAclPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AclPolicyJobAcl)(nil)).Elem() +} + +func (o AclPolicyJobAclPtrOutput) ToAclPolicyJobAclPtrOutput() AclPolicyJobAclPtrOutput { + return o +} + +func (o AclPolicyJobAclPtrOutput) ToAclPolicyJobAclPtrOutputWithContext(ctx context.Context) AclPolicyJobAclPtrOutput { + return o +} + +func (o AclPolicyJobAclPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*AclPolicyJobAcl] { + return pulumix.Output[*AclPolicyJobAcl]{ + OutputState: o.OutputState, + } +} + +func (o AclPolicyJobAclPtrOutput) Elem() AclPolicyJobAclOutput { + return o.ApplyT(func(v *AclPolicyJobAcl) AclPolicyJobAcl { + if v != nil { + return *v + } + var ret AclPolicyJobAcl + return ret + }).(AclPolicyJobAclOutput) +} + +// `(string: ` - The group to attach the policy. Required if +// `task` is set. +func (o AclPolicyJobAclPtrOutput) Group() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AclPolicyJobAcl) *string { + if v == nil { + return nil + } + return v.Group + }).(pulumi.StringPtrOutput) +} + +// `(string: ` - The job to attach the policy. Required if +// `group` is set. +func (o AclPolicyJobAclPtrOutput) JobId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AclPolicyJobAcl) *string { + if v == nil { + return nil + } + return &v.JobId + }).(pulumi.StringPtrOutput) +} + +// `(string: "default")` - The namespace to attach the policy. +// Required if `jobId` is set. +func (o AclPolicyJobAclPtrOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AclPolicyJobAcl) *string { + if v == nil { + return nil + } + return v.Namespace + }).(pulumi.StringPtrOutput) +} + +// `(string: ` - The task to attach the policy. +// +// [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies +func (o AclPolicyJobAclPtrOutput) Task() pulumi.StringPtrOutput { + return o.ApplyT(func(v *AclPolicyJobAcl) *string { + if v == nil { + return nil + } + return v.Task + }).(pulumi.StringPtrOutput) +} + type AclRolePolicy struct { // `(string: )` - A human-friendly name for this ACL Role. Name string `pulumi:"name"` @@ -311,6 +577,12 @@ func (i AclRolePolicyArgs) ToAclRolePolicyOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(AclRolePolicyOutput) } +func (i AclRolePolicyArgs) ToOutput(ctx context.Context) pulumix.Output[AclRolePolicy] { + return pulumix.Output[AclRolePolicy]{ + OutputState: i.ToAclRolePolicyOutputWithContext(ctx).OutputState, + } +} + // AclRolePolicyArrayInput is an input type that accepts AclRolePolicyArray and AclRolePolicyArrayOutput values. // You can construct a concrete instance of `AclRolePolicyArrayInput` via: // @@ -336,6 +608,12 @@ func (i AclRolePolicyArray) ToAclRolePolicyArrayOutputWithContext(ctx context.Co return pulumi.ToOutputWithContext(ctx, i).(AclRolePolicyArrayOutput) } +func (i AclRolePolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]AclRolePolicy] { + return pulumix.Output[[]AclRolePolicy]{ + OutputState: i.ToAclRolePolicyArrayOutputWithContext(ctx).OutputState, + } +} + type AclRolePolicyOutput struct{ *pulumi.OutputState } func (AclRolePolicyOutput) ElementType() reflect.Type { @@ -350,6 +628,12 @@ func (o AclRolePolicyOutput) ToAclRolePolicyOutputWithContext(ctx context.Contex return o } +func (o AclRolePolicyOutput) ToOutput(ctx context.Context) pulumix.Output[AclRolePolicy] { + return pulumix.Output[AclRolePolicy]{ + OutputState: o.OutputState, + } +} + // `(string: )` - A human-friendly name for this ACL Role. func (o AclRolePolicyOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v AclRolePolicy) string { return v.Name }).(pulumi.StringOutput) @@ -369,6 +653,12 @@ func (o AclRolePolicyArrayOutput) ToAclRolePolicyArrayOutputWithContext(ctx cont return o } +func (o AclRolePolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]AclRolePolicy] { + return pulumix.Output[[]AclRolePolicy]{ + OutputState: o.OutputState, + } +} + func (o AclRolePolicyArrayOutput) Index(i pulumi.IntInput) AclRolePolicyOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) AclRolePolicy { return vs[0].([]AclRolePolicy)[vs[1].(int)] @@ -410,6 +700,12 @@ func (i AclTokenRoleArgs) ToAclTokenRoleOutputWithContext(ctx context.Context) A return pulumi.ToOutputWithContext(ctx, i).(AclTokenRoleOutput) } +func (i AclTokenRoleArgs) ToOutput(ctx context.Context) pulumix.Output[AclTokenRole] { + return pulumix.Output[AclTokenRole]{ + OutputState: i.ToAclTokenRoleOutputWithContext(ctx).OutputState, + } +} + // AclTokenRoleArrayInput is an input type that accepts AclTokenRoleArray and AclTokenRoleArrayOutput values. // You can construct a concrete instance of `AclTokenRoleArrayInput` via: // @@ -435,6 +731,12 @@ func (i AclTokenRoleArray) ToAclTokenRoleArrayOutputWithContext(ctx context.Cont return pulumi.ToOutputWithContext(ctx, i).(AclTokenRoleArrayOutput) } +func (i AclTokenRoleArray) ToOutput(ctx context.Context) pulumix.Output[[]AclTokenRole] { + return pulumix.Output[[]AclTokenRole]{ + OutputState: i.ToAclTokenRoleArrayOutputWithContext(ctx).OutputState, + } +} + type AclTokenRoleOutput struct{ *pulumi.OutputState } func (AclTokenRoleOutput) ElementType() reflect.Type { @@ -449,6 +751,12 @@ func (o AclTokenRoleOutput) ToAclTokenRoleOutputWithContext(ctx context.Context) return o } +func (o AclTokenRoleOutput) ToOutput(ctx context.Context) pulumix.Output[AclTokenRole] { + return pulumix.Output[AclTokenRole]{ + OutputState: o.OutputState, + } +} + func (o AclTokenRoleOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v AclTokenRole) string { return v.Id }).(pulumi.StringOutput) } @@ -472,13 +780,19 @@ func (o AclTokenRoleArrayOutput) ToAclTokenRoleArrayOutputWithContext(ctx contex return o } +func (o AclTokenRoleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]AclTokenRole] { + return pulumix.Output[[]AclTokenRole]{ + OutputState: o.OutputState, + } +} + func (o AclTokenRoleArrayOutput) Index(i pulumi.IntInput) AclTokenRoleOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) AclTokenRole { return vs[0].([]AclTokenRole)[vs[1].(int)] }).(AclTokenRoleOutput) } -type ExternalVolumeCapability struct { +type CsiVolumeCapability struct { // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: // - `single-node-reader-only` // - `single-node-writer` @@ -492,18 +806,18 @@ type ExternalVolumeCapability struct { AttachmentMode string `pulumi:"attachmentMode"` } -// ExternalVolumeCapabilityInput is an input type that accepts ExternalVolumeCapabilityArgs and ExternalVolumeCapabilityOutput values. -// You can construct a concrete instance of `ExternalVolumeCapabilityInput` via: +// CsiVolumeCapabilityInput is an input type that accepts CsiVolumeCapabilityArgs and CsiVolumeCapabilityOutput values. +// You can construct a concrete instance of `CsiVolumeCapabilityInput` via: // -// ExternalVolumeCapabilityArgs{...} -type ExternalVolumeCapabilityInput interface { +// CsiVolumeCapabilityArgs{...} +type CsiVolumeCapabilityInput interface { pulumi.Input - ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput - ToExternalVolumeCapabilityOutputWithContext(context.Context) ExternalVolumeCapabilityOutput + ToCsiVolumeCapabilityOutput() CsiVolumeCapabilityOutput + ToCsiVolumeCapabilityOutputWithContext(context.Context) CsiVolumeCapabilityOutput } -type ExternalVolumeCapabilityArgs struct { +type CsiVolumeCapabilityArgs struct { // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: // - `single-node-reader-only` // - `single-node-writer` @@ -517,233 +831,281 @@ type ExternalVolumeCapabilityArgs struct { AttachmentMode pulumi.StringInput `pulumi:"attachmentMode"` } -func (ExternalVolumeCapabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeCapability)(nil)).Elem() +func (CsiVolumeCapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeCapability)(nil)).Elem() } -func (i ExternalVolumeCapabilityArgs) ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput { - return i.ToExternalVolumeCapabilityOutputWithContext(context.Background()) +func (i CsiVolumeCapabilityArgs) ToCsiVolumeCapabilityOutput() CsiVolumeCapabilityOutput { + return i.ToCsiVolumeCapabilityOutputWithContext(context.Background()) } -func (i ExternalVolumeCapabilityArgs) ToExternalVolumeCapabilityOutputWithContext(ctx context.Context) ExternalVolumeCapabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeCapabilityOutput) +func (i CsiVolumeCapabilityArgs) ToCsiVolumeCapabilityOutputWithContext(ctx context.Context) CsiVolumeCapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeCapabilityOutput) } -// ExternalVolumeCapabilityArrayInput is an input type that accepts ExternalVolumeCapabilityArray and ExternalVolumeCapabilityArrayOutput values. -// You can construct a concrete instance of `ExternalVolumeCapabilityArrayInput` via: +func (i CsiVolumeCapabilityArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeCapability] { + return pulumix.Output[CsiVolumeCapability]{ + OutputState: i.ToCsiVolumeCapabilityOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeCapabilityArrayInput is an input type that accepts CsiVolumeCapabilityArray and CsiVolumeCapabilityArrayOutput values. +// You can construct a concrete instance of `CsiVolumeCapabilityArrayInput` via: // -// ExternalVolumeCapabilityArray{ ExternalVolumeCapabilityArgs{...} } -type ExternalVolumeCapabilityArrayInput interface { +// CsiVolumeCapabilityArray{ CsiVolumeCapabilityArgs{...} } +type CsiVolumeCapabilityArrayInput interface { pulumi.Input - ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput - ToExternalVolumeCapabilityArrayOutputWithContext(context.Context) ExternalVolumeCapabilityArrayOutput + ToCsiVolumeCapabilityArrayOutput() CsiVolumeCapabilityArrayOutput + ToCsiVolumeCapabilityArrayOutputWithContext(context.Context) CsiVolumeCapabilityArrayOutput } -type ExternalVolumeCapabilityArray []ExternalVolumeCapabilityInput +type CsiVolumeCapabilityArray []CsiVolumeCapabilityInput -func (ExternalVolumeCapabilityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeCapability)(nil)).Elem() +func (CsiVolumeCapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeCapability)(nil)).Elem() } -func (i ExternalVolumeCapabilityArray) ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput { - return i.ToExternalVolumeCapabilityArrayOutputWithContext(context.Background()) +func (i CsiVolumeCapabilityArray) ToCsiVolumeCapabilityArrayOutput() CsiVolumeCapabilityArrayOutput { + return i.ToCsiVolumeCapabilityArrayOutputWithContext(context.Background()) } -func (i ExternalVolumeCapabilityArray) ToExternalVolumeCapabilityArrayOutputWithContext(ctx context.Context) ExternalVolumeCapabilityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeCapabilityArrayOutput) +func (i CsiVolumeCapabilityArray) ToCsiVolumeCapabilityArrayOutputWithContext(ctx context.Context) CsiVolumeCapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeCapabilityArrayOutput) } -type ExternalVolumeCapabilityOutput struct{ *pulumi.OutputState } +func (i CsiVolumeCapabilityArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeCapability] { + return pulumix.Output[[]CsiVolumeCapability]{ + OutputState: i.ToCsiVolumeCapabilityArrayOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeCapabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeCapability)(nil)).Elem() +type CsiVolumeCapabilityOutput struct{ *pulumi.OutputState } + +func (CsiVolumeCapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeCapability)(nil)).Elem() } -func (o ExternalVolumeCapabilityOutput) ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput { +func (o CsiVolumeCapabilityOutput) ToCsiVolumeCapabilityOutput() CsiVolumeCapabilityOutput { return o } -func (o ExternalVolumeCapabilityOutput) ToExternalVolumeCapabilityOutputWithContext(ctx context.Context) ExternalVolumeCapabilityOutput { +func (o CsiVolumeCapabilityOutput) ToCsiVolumeCapabilityOutputWithContext(ctx context.Context) CsiVolumeCapabilityOutput { return o } +func (o CsiVolumeCapabilityOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeCapability] { + return pulumix.Output[CsiVolumeCapability]{ + OutputState: o.OutputState, + } +} + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: // - `single-node-reader-only` // - `single-node-writer` // - `multi-node-reader-only` // - `multi-node-single-writer` // - `multi-node-multi-writer` -func (o ExternalVolumeCapabilityOutput) AccessMode() pulumi.StringOutput { - return o.ApplyT(func(v ExternalVolumeCapability) string { return v.AccessMode }).(pulumi.StringOutput) +func (o CsiVolumeCapabilityOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v CsiVolumeCapability) string { return v.AccessMode }).(pulumi.StringOutput) } // `(string: )` - The storage API that will be used by the volume. Possible values are: // - `block-device` // - `file-system` -func (o ExternalVolumeCapabilityOutput) AttachmentMode() pulumi.StringOutput { - return o.ApplyT(func(v ExternalVolumeCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) +func (o CsiVolumeCapabilityOutput) AttachmentMode() pulumi.StringOutput { + return o.ApplyT(func(v CsiVolumeCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) } -type ExternalVolumeCapabilityArrayOutput struct{ *pulumi.OutputState } +type CsiVolumeCapabilityArrayOutput struct{ *pulumi.OutputState } -func (ExternalVolumeCapabilityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeCapability)(nil)).Elem() +func (CsiVolumeCapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeCapability)(nil)).Elem() } -func (o ExternalVolumeCapabilityArrayOutput) ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput { +func (o CsiVolumeCapabilityArrayOutput) ToCsiVolumeCapabilityArrayOutput() CsiVolumeCapabilityArrayOutput { return o } -func (o ExternalVolumeCapabilityArrayOutput) ToExternalVolumeCapabilityArrayOutputWithContext(ctx context.Context) ExternalVolumeCapabilityArrayOutput { +func (o CsiVolumeCapabilityArrayOutput) ToCsiVolumeCapabilityArrayOutputWithContext(ctx context.Context) CsiVolumeCapabilityArrayOutput { return o } -func (o ExternalVolumeCapabilityArrayOutput) Index(i pulumi.IntInput) ExternalVolumeCapabilityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeCapability { - return vs[0].([]ExternalVolumeCapability)[vs[1].(int)] - }).(ExternalVolumeCapabilityOutput) +func (o CsiVolumeCapabilityArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeCapability] { + return pulumix.Output[[]CsiVolumeCapability]{ + OutputState: o.OutputState, + } } -type ExternalVolumeMountOptions struct { +func (o CsiVolumeCapabilityArrayOutput) Index(i pulumi.IntInput) CsiVolumeCapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeCapability { + return vs[0].([]CsiVolumeCapability)[vs[1].(int)] + }).(CsiVolumeCapabilityOutput) +} + +type CsiVolumeMountOptions struct { // `(string: optional)` - The file system type. FsType *string `pulumi:"fsType"` // `[]string: optional` - The flags passed to `mount`. MountFlags []string `pulumi:"mountFlags"` } -// ExternalVolumeMountOptionsInput is an input type that accepts ExternalVolumeMountOptionsArgs and ExternalVolumeMountOptionsOutput values. -// You can construct a concrete instance of `ExternalVolumeMountOptionsInput` via: +// CsiVolumeMountOptionsInput is an input type that accepts CsiVolumeMountOptionsArgs and CsiVolumeMountOptionsOutput values. +// You can construct a concrete instance of `CsiVolumeMountOptionsInput` via: // -// ExternalVolumeMountOptionsArgs{...} -type ExternalVolumeMountOptionsInput interface { +// CsiVolumeMountOptionsArgs{...} +type CsiVolumeMountOptionsInput interface { pulumi.Input - ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput - ToExternalVolumeMountOptionsOutputWithContext(context.Context) ExternalVolumeMountOptionsOutput + ToCsiVolumeMountOptionsOutput() CsiVolumeMountOptionsOutput + ToCsiVolumeMountOptionsOutputWithContext(context.Context) CsiVolumeMountOptionsOutput } -type ExternalVolumeMountOptionsArgs struct { +type CsiVolumeMountOptionsArgs struct { // `(string: optional)` - The file system type. FsType pulumi.StringPtrInput `pulumi:"fsType"` // `[]string: optional` - The flags passed to `mount`. MountFlags pulumi.StringArrayInput `pulumi:"mountFlags"` } -func (ExternalVolumeMountOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeMountOptions)(nil)).Elem() +func (CsiVolumeMountOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeMountOptions)(nil)).Elem() } -func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput { - return i.ToExternalVolumeMountOptionsOutputWithContext(context.Background()) +func (i CsiVolumeMountOptionsArgs) ToCsiVolumeMountOptionsOutput() CsiVolumeMountOptionsOutput { + return i.ToCsiVolumeMountOptionsOutputWithContext(context.Background()) } -func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsOutput) +func (i CsiVolumeMountOptionsArgs) ToCsiVolumeMountOptionsOutputWithContext(ctx context.Context) CsiVolumeMountOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeMountOptionsOutput) } -func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { - return i.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) +func (i CsiVolumeMountOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeMountOptions] { + return pulumix.Output[CsiVolumeMountOptions]{ + OutputState: i.ToCsiVolumeMountOptionsOutputWithContext(ctx).OutputState, + } } -func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsOutput).ToExternalVolumeMountOptionsPtrOutputWithContext(ctx) +func (i CsiVolumeMountOptionsArgs) ToCsiVolumeMountOptionsPtrOutput() CsiVolumeMountOptionsPtrOutput { + return i.ToCsiVolumeMountOptionsPtrOutputWithContext(context.Background()) } -// ExternalVolumeMountOptionsPtrInput is an input type that accepts ExternalVolumeMountOptionsArgs, ExternalVolumeMountOptionsPtr and ExternalVolumeMountOptionsPtrOutput values. -// You can construct a concrete instance of `ExternalVolumeMountOptionsPtrInput` via: +func (i CsiVolumeMountOptionsArgs) ToCsiVolumeMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeMountOptionsOutput).ToCsiVolumeMountOptionsPtrOutputWithContext(ctx) +} + +// CsiVolumeMountOptionsPtrInput is an input type that accepts CsiVolumeMountOptionsArgs, CsiVolumeMountOptionsPtr and CsiVolumeMountOptionsPtrOutput values. +// You can construct a concrete instance of `CsiVolumeMountOptionsPtrInput` via: // -// ExternalVolumeMountOptionsArgs{...} +// CsiVolumeMountOptionsArgs{...} // // or: // // nil -type ExternalVolumeMountOptionsPtrInput interface { +type CsiVolumeMountOptionsPtrInput interface { pulumi.Input - ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput - ToExternalVolumeMountOptionsPtrOutputWithContext(context.Context) ExternalVolumeMountOptionsPtrOutput + ToCsiVolumeMountOptionsPtrOutput() CsiVolumeMountOptionsPtrOutput + ToCsiVolumeMountOptionsPtrOutputWithContext(context.Context) CsiVolumeMountOptionsPtrOutput } -type externalVolumeMountOptionsPtrType ExternalVolumeMountOptionsArgs +type csiVolumeMountOptionsPtrType CsiVolumeMountOptionsArgs -func ExternalVolumeMountOptionsPtr(v *ExternalVolumeMountOptionsArgs) ExternalVolumeMountOptionsPtrInput { - return (*externalVolumeMountOptionsPtrType)(v) +func CsiVolumeMountOptionsPtr(v *CsiVolumeMountOptionsArgs) CsiVolumeMountOptionsPtrInput { + return (*csiVolumeMountOptionsPtrType)(v) } -func (*externalVolumeMountOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeMountOptions)(nil)).Elem() +func (*csiVolumeMountOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeMountOptions)(nil)).Elem() } -func (i *externalVolumeMountOptionsPtrType) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { - return i.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) +func (i *csiVolumeMountOptionsPtrType) ToCsiVolumeMountOptionsPtrOutput() CsiVolumeMountOptionsPtrOutput { + return i.ToCsiVolumeMountOptionsPtrOutputWithContext(context.Background()) } -func (i *externalVolumeMountOptionsPtrType) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsPtrOutput) +func (i *csiVolumeMountOptionsPtrType) ToCsiVolumeMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeMountOptionsPtrOutput) } -type ExternalVolumeMountOptionsOutput struct{ *pulumi.OutputState } +func (i *csiVolumeMountOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeMountOptions] { + return pulumix.Output[*CsiVolumeMountOptions]{ + OutputState: i.ToCsiVolumeMountOptionsPtrOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeMountOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeMountOptions)(nil)).Elem() +type CsiVolumeMountOptionsOutput struct{ *pulumi.OutputState } + +func (CsiVolumeMountOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeMountOptions)(nil)).Elem() } -func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput { +func (o CsiVolumeMountOptionsOutput) ToCsiVolumeMountOptionsOutput() CsiVolumeMountOptionsOutput { return o } -func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsOutput { +func (o CsiVolumeMountOptionsOutput) ToCsiVolumeMountOptionsOutputWithContext(ctx context.Context) CsiVolumeMountOptionsOutput { return o } -func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { - return o.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) +func (o CsiVolumeMountOptionsOutput) ToCsiVolumeMountOptionsPtrOutput() CsiVolumeMountOptionsPtrOutput { + return o.ToCsiVolumeMountOptionsPtrOutputWithContext(context.Background()) } -func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeMountOptions) *ExternalVolumeMountOptions { +func (o CsiVolumeMountOptionsOutput) ToCsiVolumeMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeMountOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeMountOptions) *CsiVolumeMountOptions { return &v - }).(ExternalVolumeMountOptionsPtrOutput) + }).(CsiVolumeMountOptionsPtrOutput) +} + +func (o CsiVolumeMountOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeMountOptions] { + return pulumix.Output[CsiVolumeMountOptions]{ + OutputState: o.OutputState, + } } // `(string: optional)` - The file system type. -func (o ExternalVolumeMountOptionsOutput) FsType() pulumi.StringPtrOutput { - return o.ApplyT(func(v ExternalVolumeMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) +func (o CsiVolumeMountOptionsOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v CsiVolumeMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) } // `[]string: optional` - The flags passed to `mount`. -func (o ExternalVolumeMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { - return o.ApplyT(func(v ExternalVolumeMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) +func (o CsiVolumeMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v CsiVolumeMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) } -type ExternalVolumeMountOptionsPtrOutput struct{ *pulumi.OutputState } +type CsiVolumeMountOptionsPtrOutput struct{ *pulumi.OutputState } -func (ExternalVolumeMountOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeMountOptions)(nil)).Elem() +func (CsiVolumeMountOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeMountOptions)(nil)).Elem() } -func (o ExternalVolumeMountOptionsPtrOutput) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { +func (o CsiVolumeMountOptionsPtrOutput) ToCsiVolumeMountOptionsPtrOutput() CsiVolumeMountOptionsPtrOutput { return o } -func (o ExternalVolumeMountOptionsPtrOutput) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { +func (o CsiVolumeMountOptionsPtrOutput) ToCsiVolumeMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeMountOptionsPtrOutput { return o } -func (o ExternalVolumeMountOptionsPtrOutput) Elem() ExternalVolumeMountOptionsOutput { - return o.ApplyT(func(v *ExternalVolumeMountOptions) ExternalVolumeMountOptions { +func (o CsiVolumeMountOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeMountOptions] { + return pulumix.Output[*CsiVolumeMountOptions]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeMountOptionsPtrOutput) Elem() CsiVolumeMountOptionsOutput { + return o.ApplyT(func(v *CsiVolumeMountOptions) CsiVolumeMountOptions { if v != nil { return *v } - var ret ExternalVolumeMountOptions + var ret CsiVolumeMountOptions return ret - }).(ExternalVolumeMountOptionsOutput) + }).(CsiVolumeMountOptionsOutput) } // `(string: optional)` - The file system type. -func (o ExternalVolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ExternalVolumeMountOptions) *string { +func (o CsiVolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolumeMountOptions) *string { if v == nil { return nil } @@ -752,8 +1114,8 @@ func (o ExternalVolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { } // `[]string: optional` - The flags passed to `mount`. -func (o ExternalVolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ExternalVolumeMountOptions) []string { +func (o CsiVolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CsiVolumeMountOptions) []string { if v == nil { return nil } @@ -761,645 +1123,790 @@ func (o ExternalVolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutp }).(pulumi.StringArrayOutput) } -type ExternalVolumeTopology struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments map[string]string `pulumi:"segments"` +type CsiVolumeRegistrationCapability struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode string `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode string `pulumi:"attachmentMode"` } -// ExternalVolumeTopologyInput is an input type that accepts ExternalVolumeTopologyArgs and ExternalVolumeTopologyOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyInput` via: +// CsiVolumeRegistrationCapabilityInput is an input type that accepts CsiVolumeRegistrationCapabilityArgs and CsiVolumeRegistrationCapabilityOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationCapabilityInput` via: // -// ExternalVolumeTopologyArgs{...} -type ExternalVolumeTopologyInput interface { +// CsiVolumeRegistrationCapabilityArgs{...} +type CsiVolumeRegistrationCapabilityInput interface { pulumi.Input - ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput - ToExternalVolumeTopologyOutputWithContext(context.Context) ExternalVolumeTopologyOutput + ToCsiVolumeRegistrationCapabilityOutput() CsiVolumeRegistrationCapabilityOutput + ToCsiVolumeRegistrationCapabilityOutputWithContext(context.Context) CsiVolumeRegistrationCapabilityOutput } -type ExternalVolumeTopologyArgs struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments pulumi.StringMapInput `pulumi:"segments"` +type CsiVolumeRegistrationCapabilityArgs struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode pulumi.StringInput `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode pulumi.StringInput `pulumi:"attachmentMode"` } -func (ExternalVolumeTopologyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopology)(nil)).Elem() +func (CsiVolumeRegistrationCapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationCapability)(nil)).Elem() } -func (i ExternalVolumeTopologyArgs) ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput { - return i.ToExternalVolumeTopologyOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationCapabilityArgs) ToCsiVolumeRegistrationCapabilityOutput() CsiVolumeRegistrationCapabilityOutput { + return i.ToCsiVolumeRegistrationCapabilityOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyArgs) ToExternalVolumeTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyOutput) +func (i CsiVolumeRegistrationCapabilityArgs) ToCsiVolumeRegistrationCapabilityOutputWithContext(ctx context.Context) CsiVolumeRegistrationCapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationCapabilityOutput) } -// ExternalVolumeTopologyArrayInput is an input type that accepts ExternalVolumeTopologyArray and ExternalVolumeTopologyArrayOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyArrayInput` via: +func (i CsiVolumeRegistrationCapabilityArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationCapability] { + return pulumix.Output[CsiVolumeRegistrationCapability]{ + OutputState: i.ToCsiVolumeRegistrationCapabilityOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeRegistrationCapabilityArrayInput is an input type that accepts CsiVolumeRegistrationCapabilityArray and CsiVolumeRegistrationCapabilityArrayOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationCapabilityArrayInput` via: // -// ExternalVolumeTopologyArray{ ExternalVolumeTopologyArgs{...} } -type ExternalVolumeTopologyArrayInput interface { +// CsiVolumeRegistrationCapabilityArray{ CsiVolumeRegistrationCapabilityArgs{...} } +type CsiVolumeRegistrationCapabilityArrayInput interface { pulumi.Input - ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput - ToExternalVolumeTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyArrayOutput + ToCsiVolumeRegistrationCapabilityArrayOutput() CsiVolumeRegistrationCapabilityArrayOutput + ToCsiVolumeRegistrationCapabilityArrayOutputWithContext(context.Context) CsiVolumeRegistrationCapabilityArrayOutput } -type ExternalVolumeTopologyArray []ExternalVolumeTopologyInput +type CsiVolumeRegistrationCapabilityArray []CsiVolumeRegistrationCapabilityInput -func (ExternalVolumeTopologyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopology)(nil)).Elem() +func (CsiVolumeRegistrationCapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationCapability)(nil)).Elem() } -func (i ExternalVolumeTopologyArray) ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput { - return i.ToExternalVolumeTopologyArrayOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationCapabilityArray) ToCsiVolumeRegistrationCapabilityArrayOutput() CsiVolumeRegistrationCapabilityArrayOutput { + return i.ToCsiVolumeRegistrationCapabilityArrayOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyArray) ToExternalVolumeTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyArrayOutput) +func (i CsiVolumeRegistrationCapabilityArray) ToCsiVolumeRegistrationCapabilityArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationCapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationCapabilityArrayOutput) } -type ExternalVolumeTopologyOutput struct{ *pulumi.OutputState } +func (i CsiVolumeRegistrationCapabilityArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationCapability] { + return pulumix.Output[[]CsiVolumeRegistrationCapability]{ + OutputState: i.ToCsiVolumeRegistrationCapabilityArrayOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeTopologyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopology)(nil)).Elem() +type CsiVolumeRegistrationCapabilityOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationCapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationCapability)(nil)).Elem() } -func (o ExternalVolumeTopologyOutput) ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput { +func (o CsiVolumeRegistrationCapabilityOutput) ToCsiVolumeRegistrationCapabilityOutput() CsiVolumeRegistrationCapabilityOutput { return o } -func (o ExternalVolumeTopologyOutput) ToExternalVolumeTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyOutput { +func (o CsiVolumeRegistrationCapabilityOutput) ToCsiVolumeRegistrationCapabilityOutputWithContext(ctx context.Context) CsiVolumeRegistrationCapabilityOutput { return o } -// `(map[string]string)` - Define the attributes for the topology request. -// -// In addition to the above arguments, the following attributes are exported and -// can be referenced: -func (o ExternalVolumeTopologyOutput) Segments() pulumi.StringMapOutput { - return o.ApplyT(func(v ExternalVolumeTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +func (o CsiVolumeRegistrationCapabilityOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationCapability] { + return pulumix.Output[CsiVolumeRegistrationCapability]{ + OutputState: o.OutputState, + } } -type ExternalVolumeTopologyArrayOutput struct{ *pulumi.OutputState } +// `(string: )` - Defines whether a volume should be available concurrently. Possible values are: +// - `single-node-reader-only` +// - `single-node-writer` +// - `multi-node-reader-only` +// - `multi-node-single-writer` +// - `multi-node-multi-writer` +func (o CsiVolumeRegistrationCapabilityOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v CsiVolumeRegistrationCapability) string { return v.AccessMode }).(pulumi.StringOutput) +} -func (ExternalVolumeTopologyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopology)(nil)).Elem() +// `(string: )` - The storage API that will be used by the volume. Possible values are: +// - `block-device` +// - `file-system` +func (o CsiVolumeRegistrationCapabilityOutput) AttachmentMode() pulumi.StringOutput { + return o.ApplyT(func(v CsiVolumeRegistrationCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) } -func (o ExternalVolumeTopologyArrayOutput) ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput { +type CsiVolumeRegistrationCapabilityArrayOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationCapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationCapability)(nil)).Elem() +} + +func (o CsiVolumeRegistrationCapabilityArrayOutput) ToCsiVolumeRegistrationCapabilityArrayOutput() CsiVolumeRegistrationCapabilityArrayOutput { return o } -func (o ExternalVolumeTopologyArrayOutput) ToExternalVolumeTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyArrayOutput { +func (o CsiVolumeRegistrationCapabilityArrayOutput) ToCsiVolumeRegistrationCapabilityArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationCapabilityArrayOutput { return o } -func (o ExternalVolumeTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopology { - return vs[0].([]ExternalVolumeTopology)[vs[1].(int)] - }).(ExternalVolumeTopologyOutput) +func (o CsiVolumeRegistrationCapabilityArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationCapability] { + return pulumix.Output[[]CsiVolumeRegistrationCapability]{ + OutputState: o.OutputState, + } } -type ExternalVolumeTopologyRequest struct { - // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. - Preferred *ExternalVolumeTopologyRequestPreferred `pulumi:"preferred"` - // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. - Required *ExternalVolumeTopologyRequestRequired `pulumi:"required"` +func (o CsiVolumeRegistrationCapabilityArrayOutput) Index(i pulumi.IntInput) CsiVolumeRegistrationCapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeRegistrationCapability { + return vs[0].([]CsiVolumeRegistrationCapability)[vs[1].(int)] + }).(CsiVolumeRegistrationCapabilityOutput) } -// ExternalVolumeTopologyRequestInput is an input type that accepts ExternalVolumeTopologyRequestArgs and ExternalVolumeTopologyRequestOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestInput` via: +type CsiVolumeRegistrationMountOptions struct { + // `(string: )` - The file system type. + FsType *string `pulumi:"fsType"` + // `([]string: )` - The flags passed to `mount`. + MountFlags []string `pulumi:"mountFlags"` +} + +// CsiVolumeRegistrationMountOptionsInput is an input type that accepts CsiVolumeRegistrationMountOptionsArgs and CsiVolumeRegistrationMountOptionsOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationMountOptionsInput` via: // -// ExternalVolumeTopologyRequestArgs{...} -type ExternalVolumeTopologyRequestInput interface { +// CsiVolumeRegistrationMountOptionsArgs{...} +type CsiVolumeRegistrationMountOptionsInput interface { pulumi.Input - ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput - ToExternalVolumeTopologyRequestOutputWithContext(context.Context) ExternalVolumeTopologyRequestOutput + ToCsiVolumeRegistrationMountOptionsOutput() CsiVolumeRegistrationMountOptionsOutput + ToCsiVolumeRegistrationMountOptionsOutputWithContext(context.Context) CsiVolumeRegistrationMountOptionsOutput } -type ExternalVolumeTopologyRequestArgs struct { - // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. - Preferred ExternalVolumeTopologyRequestPreferredPtrInput `pulumi:"preferred"` - // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. - Required ExternalVolumeTopologyRequestRequiredPtrInput `pulumi:"required"` +type CsiVolumeRegistrationMountOptionsArgs struct { + // `(string: )` - The file system type. + FsType pulumi.StringPtrInput `pulumi:"fsType"` + // `([]string: )` - The flags passed to `mount`. + MountFlags pulumi.StringArrayInput `pulumi:"mountFlags"` } -func (ExternalVolumeTopologyRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequest)(nil)).Elem() +func (CsiVolumeRegistrationMountOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationMountOptions)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput { - return i.ToExternalVolumeTopologyRequestOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationMountOptionsArgs) ToCsiVolumeRegistrationMountOptionsOutput() CsiVolumeRegistrationMountOptionsOutput { + return i.ToCsiVolumeRegistrationMountOptionsOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestOutput) +func (i CsiVolumeRegistrationMountOptionsArgs) ToCsiVolumeRegistrationMountOptionsOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationMountOptionsOutput) } -func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { - return i.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationMountOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationMountOptions] { + return pulumix.Output[CsiVolumeRegistrationMountOptions]{ + OutputState: i.ToCsiVolumeRegistrationMountOptionsOutputWithContext(ctx).OutputState, + } } -func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestOutput).ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx) +func (i CsiVolumeRegistrationMountOptionsArgs) ToCsiVolumeRegistrationMountOptionsPtrOutput() CsiVolumeRegistrationMountOptionsPtrOutput { + return i.ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(context.Background()) } -// ExternalVolumeTopologyRequestPtrInput is an input type that accepts ExternalVolumeTopologyRequestArgs, ExternalVolumeTopologyRequestPtr and ExternalVolumeTopologyRequestPtrOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestPtrInput` via: +func (i CsiVolumeRegistrationMountOptionsArgs) ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationMountOptionsOutput).ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx) +} + +// CsiVolumeRegistrationMountOptionsPtrInput is an input type that accepts CsiVolumeRegistrationMountOptionsArgs, CsiVolumeRegistrationMountOptionsPtr and CsiVolumeRegistrationMountOptionsPtrOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationMountOptionsPtrInput` via: // -// ExternalVolumeTopologyRequestArgs{...} +// CsiVolumeRegistrationMountOptionsArgs{...} // // or: // // nil -type ExternalVolumeTopologyRequestPtrInput interface { +type CsiVolumeRegistrationMountOptionsPtrInput interface { pulumi.Input - ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput - ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestPtrOutput + ToCsiVolumeRegistrationMountOptionsPtrOutput() CsiVolumeRegistrationMountOptionsPtrOutput + ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(context.Context) CsiVolumeRegistrationMountOptionsPtrOutput } -type externalVolumeTopologyRequestPtrType ExternalVolumeTopologyRequestArgs +type csiVolumeRegistrationMountOptionsPtrType CsiVolumeRegistrationMountOptionsArgs -func ExternalVolumeTopologyRequestPtr(v *ExternalVolumeTopologyRequestArgs) ExternalVolumeTopologyRequestPtrInput { - return (*externalVolumeTopologyRequestPtrType)(v) +func CsiVolumeRegistrationMountOptionsPtr(v *CsiVolumeRegistrationMountOptionsArgs) CsiVolumeRegistrationMountOptionsPtrInput { + return (*csiVolumeRegistrationMountOptionsPtrType)(v) } -func (*externalVolumeTopologyRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequest)(nil)).Elem() +func (*csiVolumeRegistrationMountOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationMountOptions)(nil)).Elem() } -func (i *externalVolumeTopologyRequestPtrType) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { - return i.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +func (i *csiVolumeRegistrationMountOptionsPtrType) ToCsiVolumeRegistrationMountOptionsPtrOutput() CsiVolumeRegistrationMountOptionsPtrOutput { + return i.ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(context.Background()) } -func (i *externalVolumeTopologyRequestPtrType) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPtrOutput) +func (i *csiVolumeRegistrationMountOptionsPtrType) ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationMountOptionsPtrOutput) } -type ExternalVolumeTopologyRequestOutput struct{ *pulumi.OutputState } +func (i *csiVolumeRegistrationMountOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationMountOptions] { + return pulumix.Output[*CsiVolumeRegistrationMountOptions]{ + OutputState: i.ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeTopologyRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequest)(nil)).Elem() +type CsiVolumeRegistrationMountOptionsOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationMountOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationMountOptions)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput { +func (o CsiVolumeRegistrationMountOptionsOutput) ToCsiVolumeRegistrationMountOptionsOutput() CsiVolumeRegistrationMountOptionsOutput { return o } -func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestOutput { +func (o CsiVolumeRegistrationMountOptionsOutput) ToCsiVolumeRegistrationMountOptionsOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsOutput { return o } -func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { - return o.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +func (o CsiVolumeRegistrationMountOptionsOutput) ToCsiVolumeRegistrationMountOptionsPtrOutput() CsiVolumeRegistrationMountOptionsPtrOutput { + return o.ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(context.Background()) } -func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequest { +func (o CsiVolumeRegistrationMountOptionsOutput) ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeRegistrationMountOptions) *CsiVolumeRegistrationMountOptions { return &v - }).(ExternalVolumeTopologyRequestPtrOutput) + }).(CsiVolumeRegistrationMountOptionsPtrOutput) } -// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. -func (o ExternalVolumeTopologyRequestOutput) Preferred() ExternalVolumeTopologyRequestPreferredPtrOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestPreferred { return v.Preferred }).(ExternalVolumeTopologyRequestPreferredPtrOutput) +func (o CsiVolumeRegistrationMountOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationMountOptions] { + return pulumix.Output[CsiVolumeRegistrationMountOptions]{ + OutputState: o.OutputState, + } } -// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. -func (o ExternalVolumeTopologyRequestOutput) Required() ExternalVolumeTopologyRequestRequiredPtrOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestRequired { return v.Required }).(ExternalVolumeTopologyRequestRequiredPtrOutput) +// `(string: )` - The file system type. +func (o CsiVolumeRegistrationMountOptionsOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v CsiVolumeRegistrationMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) } -type ExternalVolumeTopologyRequestPtrOutput struct{ *pulumi.OutputState } +// `([]string: )` - The flags passed to `mount`. +func (o CsiVolumeRegistrationMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v CsiVolumeRegistrationMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) +} -func (ExternalVolumeTopologyRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequest)(nil)).Elem() +type CsiVolumeRegistrationMountOptionsPtrOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationMountOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationMountOptions)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestPtrOutput) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { +func (o CsiVolumeRegistrationMountOptionsPtrOutput) ToCsiVolumeRegistrationMountOptionsPtrOutput() CsiVolumeRegistrationMountOptionsPtrOutput { return o } -func (o ExternalVolumeTopologyRequestPtrOutput) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { +func (o CsiVolumeRegistrationMountOptionsPtrOutput) ToCsiVolumeRegistrationMountOptionsPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationMountOptionsPtrOutput { return o } -func (o ExternalVolumeTopologyRequestPtrOutput) Elem() ExternalVolumeTopologyRequestOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequest) ExternalVolumeTopologyRequest { +func (o CsiVolumeRegistrationMountOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationMountOptions] { + return pulumix.Output[*CsiVolumeRegistrationMountOptions]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeRegistrationMountOptionsPtrOutput) Elem() CsiVolumeRegistrationMountOptionsOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationMountOptions) CsiVolumeRegistrationMountOptions { if v != nil { return *v } - var ret ExternalVolumeTopologyRequest + var ret CsiVolumeRegistrationMountOptions return ret - }).(ExternalVolumeTopologyRequestOutput) + }).(CsiVolumeRegistrationMountOptionsOutput) } -// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. -func (o ExternalVolumeTopologyRequestPtrOutput) Preferred() ExternalVolumeTopologyRequestPreferredPtrOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestPreferred { +// `(string: )` - The file system type. +func (o CsiVolumeRegistrationMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationMountOptions) *string { if v == nil { return nil } - return v.Preferred - }).(ExternalVolumeTopologyRequestPreferredPtrOutput) + return v.FsType + }).(pulumi.StringPtrOutput) } -// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. -func (o ExternalVolumeTopologyRequestPtrOutput) Required() ExternalVolumeTopologyRequestRequiredPtrOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestRequired { +// `([]string: )` - The flags passed to `mount`. +func (o CsiVolumeRegistrationMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationMountOptions) []string { if v == nil { return nil } - return v.Required - }).(ExternalVolumeTopologyRequestRequiredPtrOutput) + return v.MountFlags + }).(pulumi.StringArrayOutput) } -type ExternalVolumeTopologyRequestPreferred struct { - Topologies []ExternalVolumeTopologyRequestPreferredTopology `pulumi:"topologies"` +type CsiVolumeRegistrationTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` } -// ExternalVolumeTopologyRequestPreferredInput is an input type that accepts ExternalVolumeTopologyRequestPreferredArgs and ExternalVolumeTopologyRequestPreferredOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredInput` via: +// CsiVolumeRegistrationTopologyInput is an input type that accepts CsiVolumeRegistrationTopologyArgs and CsiVolumeRegistrationTopologyOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyInput` via: // -// ExternalVolumeTopologyRequestPreferredArgs{...} -type ExternalVolumeTopologyRequestPreferredInput interface { +// CsiVolumeRegistrationTopologyArgs{...} +type CsiVolumeRegistrationTopologyInput interface { pulumi.Input - ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput - ToExternalVolumeTopologyRequestPreferredOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredOutput -} - -type ExternalVolumeTopologyRequestPreferredArgs struct { - Topologies ExternalVolumeTopologyRequestPreferredTopologyArrayInput `pulumi:"topologies"` + ToCsiVolumeRegistrationTopologyOutput() CsiVolumeRegistrationTopologyOutput + ToCsiVolumeRegistrationTopologyOutputWithContext(context.Context) CsiVolumeRegistrationTopologyOutput } -func (ExternalVolumeTopologyRequestPreferredArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +type CsiVolumeRegistrationTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput { - return i.ToExternalVolumeTopologyRequestPreferredOutputWithContext(context.Background()) +func (CsiVolumeRegistrationTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopology)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredOutput) +func (i CsiVolumeRegistrationTopologyArgs) ToCsiVolumeRegistrationTopologyOutput() CsiVolumeRegistrationTopologyOutput { + return i.ToCsiVolumeRegistrationTopologyOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { - return i.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyArgs) ToCsiVolumeRegistrationTopologyOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyOutput) } -func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredOutput).ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx) +func (i CsiVolumeRegistrationTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopology] { + return pulumix.Output[CsiVolumeRegistrationTopology]{ + OutputState: i.ToCsiVolumeRegistrationTopologyOutputWithContext(ctx).OutputState, + } } -// ExternalVolumeTopologyRequestPreferredPtrInput is an input type that accepts ExternalVolumeTopologyRequestPreferredArgs, ExternalVolumeTopologyRequestPreferredPtr and ExternalVolumeTopologyRequestPreferredPtrOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredPtrInput` via: -// -// ExternalVolumeTopologyRequestPreferredArgs{...} +// CsiVolumeRegistrationTopologyArrayInput is an input type that accepts CsiVolumeRegistrationTopologyArray and CsiVolumeRegistrationTopologyArrayOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyArrayInput` via: // -// or: -// -// nil -type ExternalVolumeTopologyRequestPreferredPtrInput interface { +// CsiVolumeRegistrationTopologyArray{ CsiVolumeRegistrationTopologyArgs{...} } +type CsiVolumeRegistrationTopologyArrayInput interface { pulumi.Input - ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput - ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput + ToCsiVolumeRegistrationTopologyArrayOutput() CsiVolumeRegistrationTopologyArrayOutput + ToCsiVolumeRegistrationTopologyArrayOutputWithContext(context.Context) CsiVolumeRegistrationTopologyArrayOutput } -type externalVolumeTopologyRequestPreferredPtrType ExternalVolumeTopologyRequestPreferredArgs +type CsiVolumeRegistrationTopologyArray []CsiVolumeRegistrationTopologyInput -func ExternalVolumeTopologyRequestPreferredPtr(v *ExternalVolumeTopologyRequestPreferredArgs) ExternalVolumeTopologyRequestPreferredPtrInput { - return (*externalVolumeTopologyRequestPreferredPtrType)(v) +func (CsiVolumeRegistrationTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationTopology)(nil)).Elem() } -func (*externalVolumeTopologyRequestPreferredPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +func (i CsiVolumeRegistrationTopologyArray) ToCsiVolumeRegistrationTopologyArrayOutput() CsiVolumeRegistrationTopologyArrayOutput { + return i.ToCsiVolumeRegistrationTopologyArrayOutputWithContext(context.Background()) } -func (i *externalVolumeTopologyRequestPreferredPtrType) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { - return i.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyArray) ToCsiVolumeRegistrationTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyArrayOutput) } -func (i *externalVolumeTopologyRequestPreferredPtrType) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredPtrOutput) +func (i CsiVolumeRegistrationTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationTopology] { + return pulumix.Output[[]CsiVolumeRegistrationTopology]{ + OutputState: i.ToCsiVolumeRegistrationTopologyArrayOutputWithContext(ctx).OutputState, + } } -type ExternalVolumeTopologyRequestPreferredOutput struct{ *pulumi.OutputState } +type CsiVolumeRegistrationTopologyOutput struct{ *pulumi.OutputState } -func (ExternalVolumeTopologyRequestPreferredOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +func (CsiVolumeRegistrationTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopology)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput { +func (o CsiVolumeRegistrationTopologyOutput) ToCsiVolumeRegistrationTopologyOutput() CsiVolumeRegistrationTopologyOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredOutput { +func (o CsiVolumeRegistrationTopologyOutput) ToCsiVolumeRegistrationTopologyOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { - return o.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +func (o CsiVolumeRegistrationTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopology] { + return pulumix.Output[CsiVolumeRegistrationTopology]{ + OutputState: o.OutputState, + } } -func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequestPreferred) *ExternalVolumeTopologyRequestPreferred { - return &v - }).(ExternalVolumeTopologyRequestPreferredPtrOutput) -} - -func (o ExternalVolumeTopologyRequestPreferredOutput) Topologies() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequestPreferred) []ExternalVolumeTopologyRequestPreferredTopology { - return v.Topologies - }).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o CsiVolumeRegistrationTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v CsiVolumeRegistrationTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) } -type ExternalVolumeTopologyRequestPreferredPtrOutput struct{ *pulumi.OutputState } +type CsiVolumeRegistrationTopologyArrayOutput struct{ *pulumi.OutputState } -func (ExternalVolumeTopologyRequestPreferredPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +func (CsiVolumeRegistrationTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationTopology)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestPreferredPtrOutput) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { +func (o CsiVolumeRegistrationTopologyArrayOutput) ToCsiVolumeRegistrationTopologyArrayOutput() CsiVolumeRegistrationTopologyArrayOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredPtrOutput) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { +func (o CsiVolumeRegistrationTopologyArrayOutput) ToCsiVolumeRegistrationTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyArrayOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredPtrOutput) Elem() ExternalVolumeTopologyRequestPreferredOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequestPreferred) ExternalVolumeTopologyRequestPreferred { - if v != nil { - return *v - } - var ret ExternalVolumeTopologyRequestPreferred - return ret - }).(ExternalVolumeTopologyRequestPreferredOutput) +func (o CsiVolumeRegistrationTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationTopology] { + return pulumix.Output[[]CsiVolumeRegistrationTopology]{ + OutputState: o.OutputState, + } } -func (o ExternalVolumeTopologyRequestPreferredPtrOutput) Topologies() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequestPreferred) []ExternalVolumeTopologyRequestPreferredTopology { - if v == nil { - return nil - } - return v.Topologies - }).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +func (o CsiVolumeRegistrationTopologyArrayOutput) Index(i pulumi.IntInput) CsiVolumeRegistrationTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeRegistrationTopology { + return vs[0].([]CsiVolumeRegistrationTopology)[vs[1].(int)] + }).(CsiVolumeRegistrationTopologyOutput) } -type ExternalVolumeTopologyRequestPreferredTopology struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments map[string]string `pulumi:"segments"` +type CsiVolumeRegistrationTopologyRequest struct { + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required *CsiVolumeRegistrationTopologyRequestRequired `pulumi:"required"` } -// ExternalVolumeTopologyRequestPreferredTopologyInput is an input type that accepts ExternalVolumeTopologyRequestPreferredTopologyArgs and ExternalVolumeTopologyRequestPreferredTopologyOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredTopologyInput` via: +// CsiVolumeRegistrationTopologyRequestInput is an input type that accepts CsiVolumeRegistrationTopologyRequestArgs and CsiVolumeRegistrationTopologyRequestOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestInput` via: // -// ExternalVolumeTopologyRequestPreferredTopologyArgs{...} -type ExternalVolumeTopologyRequestPreferredTopologyInput interface { +// CsiVolumeRegistrationTopologyRequestArgs{...} +type CsiVolumeRegistrationTopologyRequestInput interface { pulumi.Input - ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput - ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput + ToCsiVolumeRegistrationTopologyRequestOutput() CsiVolumeRegistrationTopologyRequestOutput + ToCsiVolumeRegistrationTopologyRequestOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestOutput } -type ExternalVolumeTopologyRequestPreferredTopologyArgs struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments pulumi.StringMapInput `pulumi:"segments"` +type CsiVolumeRegistrationTopologyRequestArgs struct { + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required CsiVolumeRegistrationTopologyRequestRequiredPtrInput `pulumi:"required"` } -func (ExternalVolumeTopologyRequestPreferredTopologyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequest)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestPreferredTopologyArgs) ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput { - return i.ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyRequestArgs) ToCsiVolumeRegistrationTopologyRequestOutput() CsiVolumeRegistrationTopologyRequestOutput { + return i.ToCsiVolumeRegistrationTopologyRequestOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestPreferredTopologyArgs) ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredTopologyOutput) +func (i CsiVolumeRegistrationTopologyRequestArgs) ToCsiVolumeRegistrationTopologyRequestOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestOutput) } -// ExternalVolumeTopologyRequestPreferredTopologyArrayInput is an input type that accepts ExternalVolumeTopologyRequestPreferredTopologyArray and ExternalVolumeTopologyRequestPreferredTopologyArrayOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredTopologyArrayInput` via: +func (i CsiVolumeRegistrationTopologyRequestArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequest] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequest]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestOutputWithContext(ctx).OutputState, + } +} + +func (i CsiVolumeRegistrationTopologyRequestArgs) ToCsiVolumeRegistrationTopologyRequestPtrOutput() CsiVolumeRegistrationTopologyRequestPtrOutput { + return i.ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i CsiVolumeRegistrationTopologyRequestArgs) ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestOutput).ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx) +} + +// CsiVolumeRegistrationTopologyRequestPtrInput is an input type that accepts CsiVolumeRegistrationTopologyRequestArgs, CsiVolumeRegistrationTopologyRequestPtr and CsiVolumeRegistrationTopologyRequestPtrOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestPtrInput` via: // -// ExternalVolumeTopologyRequestPreferredTopologyArray{ ExternalVolumeTopologyRequestPreferredTopologyArgs{...} } -type ExternalVolumeTopologyRequestPreferredTopologyArrayInput interface { +// CsiVolumeRegistrationTopologyRequestArgs{...} +// +// or: +// +// nil +type CsiVolumeRegistrationTopologyRequestPtrInput interface { pulumi.Input - ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput - ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput + ToCsiVolumeRegistrationTopologyRequestPtrOutput() CsiVolumeRegistrationTopologyRequestPtrOutput + ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestPtrOutput } -type ExternalVolumeTopologyRequestPreferredTopologyArray []ExternalVolumeTopologyRequestPreferredTopologyInput +type csiVolumeRegistrationTopologyRequestPtrType CsiVolumeRegistrationTopologyRequestArgs -func (ExternalVolumeTopologyRequestPreferredTopologyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +func CsiVolumeRegistrationTopologyRequestPtr(v *CsiVolumeRegistrationTopologyRequestArgs) CsiVolumeRegistrationTopologyRequestPtrInput { + return (*csiVolumeRegistrationTopologyRequestPtrType)(v) } -func (i ExternalVolumeTopologyRequestPreferredTopologyArray) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { - return i.ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Background()) +func (*csiVolumeRegistrationTopologyRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationTopologyRequest)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestPreferredTopologyArray) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +func (i *csiVolumeRegistrationTopologyRequestPtrType) ToCsiVolumeRegistrationTopologyRequestPtrOutput() CsiVolumeRegistrationTopologyRequestPtrOutput { + return i.ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(context.Background()) } -type ExternalVolumeTopologyRequestPreferredTopologyOutput struct{ *pulumi.OutputState } +func (i *csiVolumeRegistrationTopologyRequestPtrType) ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestPtrOutput) +} -func (ExternalVolumeTopologyRequestPreferredTopologyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +func (i *csiVolumeRegistrationTopologyRequestPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationTopologyRequest] { + return pulumix.Output[*CsiVolumeRegistrationTopologyRequest]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx).OutputState, + } } -func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput { +type CsiVolumeRegistrationTopologyRequestOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationTopologyRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequest)(nil)).Elem() +} + +func (o CsiVolumeRegistrationTopologyRequestOutput) ToCsiVolumeRegistrationTopologyRequestOutput() CsiVolumeRegistrationTopologyRequestOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput { +func (o CsiVolumeRegistrationTopologyRequestOutput) ToCsiVolumeRegistrationTopologyRequestOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestOutput { return o } -// `(map[string]string)` - Define the attributes for the topology request. -// -// In addition to the above arguments, the following attributes are exported and -// can be referenced: -func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) Segments() pulumi.StringMapOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequestPreferredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +func (o CsiVolumeRegistrationTopologyRequestOutput) ToCsiVolumeRegistrationTopologyRequestPtrOutput() CsiVolumeRegistrationTopologyRequestPtrOutput { + return o.ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(context.Background()) } -type ExternalVolumeTopologyRequestPreferredTopologyArrayOutput struct{ *pulumi.OutputState } +func (o CsiVolumeRegistrationTopologyRequestOutput) ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeRegistrationTopologyRequest) *CsiVolumeRegistrationTopologyRequest { + return &v + }).(CsiVolumeRegistrationTopologyRequestPtrOutput) +} -func (ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +func (o CsiVolumeRegistrationTopologyRequestOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequest] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequest]{ + OutputState: o.OutputState, + } } -func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o CsiVolumeRegistrationTopologyRequestOutput) Required() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v CsiVolumeRegistrationTopologyRequest) *CsiVolumeRegistrationTopologyRequestRequired { + return v.Required + }).(CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) +} + +type CsiVolumeRegistrationTopologyRequestPtrOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationTopologyRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationTopologyRequest)(nil)).Elem() +} + +func (o CsiVolumeRegistrationTopologyRequestPtrOutput) ToCsiVolumeRegistrationTopologyRequestPtrOutput() CsiVolumeRegistrationTopologyRequestPtrOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { +func (o CsiVolumeRegistrationTopologyRequestPtrOutput) ToCsiVolumeRegistrationTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestPtrOutput { return o } -func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyRequestPreferredTopologyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopologyRequestPreferredTopology { - return vs[0].([]ExternalVolumeTopologyRequestPreferredTopology)[vs[1].(int)] - }).(ExternalVolumeTopologyRequestPreferredTopologyOutput) +func (o CsiVolumeRegistrationTopologyRequestPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationTopologyRequest] { + return pulumix.Output[*CsiVolumeRegistrationTopologyRequest]{ + OutputState: o.OutputState, + } } -type ExternalVolumeTopologyRequestRequired struct { - Topologies []ExternalVolumeTopologyRequestRequiredTopology `pulumi:"topologies"` +func (o CsiVolumeRegistrationTopologyRequestPtrOutput) Elem() CsiVolumeRegistrationTopologyRequestOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationTopologyRequest) CsiVolumeRegistrationTopologyRequest { + if v != nil { + return *v + } + var ret CsiVolumeRegistrationTopologyRequest + return ret + }).(CsiVolumeRegistrationTopologyRequestOutput) } -// ExternalVolumeTopologyRequestRequiredInput is an input type that accepts ExternalVolumeTopologyRequestRequiredArgs and ExternalVolumeTopologyRequestRequiredOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredInput` via: +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o CsiVolumeRegistrationTopologyRequestPtrOutput) Required() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationTopologyRequest) *CsiVolumeRegistrationTopologyRequestRequired { + if v == nil { + return nil + } + return v.Required + }).(CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) +} + +type CsiVolumeRegistrationTopologyRequestRequired struct { + Topologies []CsiVolumeRegistrationTopologyRequestRequiredTopology `pulumi:"topologies"` +} + +// CsiVolumeRegistrationTopologyRequestRequiredInput is an input type that accepts CsiVolumeRegistrationTopologyRequestRequiredArgs and CsiVolumeRegistrationTopologyRequestRequiredOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestRequiredInput` via: // -// ExternalVolumeTopologyRequestRequiredArgs{...} -type ExternalVolumeTopologyRequestRequiredInput interface { +// CsiVolumeRegistrationTopologyRequestRequiredArgs{...} +type CsiVolumeRegistrationTopologyRequestRequiredInput interface { pulumi.Input - ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput - ToExternalVolumeTopologyRequestRequiredOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredOutput + ToCsiVolumeRegistrationTopologyRequestRequiredOutput() CsiVolumeRegistrationTopologyRequestRequiredOutput + ToCsiVolumeRegistrationTopologyRequestRequiredOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestRequiredOutput } -type ExternalVolumeTopologyRequestRequiredArgs struct { - Topologies ExternalVolumeTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` +type CsiVolumeRegistrationTopologyRequestRequiredArgs struct { + Topologies CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` } -func (ExternalVolumeTopologyRequestRequiredArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestRequired)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestRequiredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequired)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput { - return i.ToExternalVolumeTopologyRequestRequiredOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyRequestRequiredArgs) ToCsiVolumeRegistrationTopologyRequestRequiredOutput() CsiVolumeRegistrationTopologyRequestRequiredOutput { + return i.ToCsiVolumeRegistrationTopologyRequestRequiredOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredOutput) +func (i CsiVolumeRegistrationTopologyRequestRequiredArgs) ToCsiVolumeRegistrationTopologyRequestRequiredOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestRequiredOutput) } -func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { - return i.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyRequestRequiredArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequestRequired] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequestRequired]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestRequiredOutputWithContext(ctx).OutputState, + } } -func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredOutput).ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx) +func (i CsiVolumeRegistrationTopologyRequestRequiredArgs) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutput() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return i.ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -// ExternalVolumeTopologyRequestRequiredPtrInput is an input type that accepts ExternalVolumeTopologyRequestRequiredArgs, ExternalVolumeTopologyRequestRequiredPtr and ExternalVolumeTopologyRequestRequiredPtrOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredPtrInput` via: +func (i CsiVolumeRegistrationTopologyRequestRequiredArgs) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestRequiredOutput).ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx) +} + +// CsiVolumeRegistrationTopologyRequestRequiredPtrInput is an input type that accepts CsiVolumeRegistrationTopologyRequestRequiredArgs, CsiVolumeRegistrationTopologyRequestRequiredPtr and CsiVolumeRegistrationTopologyRequestRequiredPtrOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestRequiredPtrInput` via: // -// ExternalVolumeTopologyRequestRequiredArgs{...} +// CsiVolumeRegistrationTopologyRequestRequiredArgs{...} // // or: // // nil -type ExternalVolumeTopologyRequestRequiredPtrInput interface { +type CsiVolumeRegistrationTopologyRequestRequiredPtrInput interface { pulumi.Input - ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput - ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput + ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutput() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput + ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestRequiredPtrOutput } -type externalVolumeTopologyRequestRequiredPtrType ExternalVolumeTopologyRequestRequiredArgs +type csiVolumeRegistrationTopologyRequestRequiredPtrType CsiVolumeRegistrationTopologyRequestRequiredArgs -func ExternalVolumeTopologyRequestRequiredPtr(v *ExternalVolumeTopologyRequestRequiredArgs) ExternalVolumeTopologyRequestRequiredPtrInput { - return (*externalVolumeTopologyRequestRequiredPtrType)(v) +func CsiVolumeRegistrationTopologyRequestRequiredPtr(v *CsiVolumeRegistrationTopologyRequestRequiredArgs) CsiVolumeRegistrationTopologyRequestRequiredPtrInput { + return (*csiVolumeRegistrationTopologyRequestRequiredPtrType)(v) } -func (*externalVolumeTopologyRequestRequiredPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequestRequired)(nil)).Elem() +func (*csiVolumeRegistrationTopologyRequestRequiredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationTopologyRequestRequired)(nil)).Elem() } -func (i *externalVolumeTopologyRequestRequiredPtrType) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { - return i.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (i *csiVolumeRegistrationTopologyRequestRequiredPtrType) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutput() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return i.ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -func (i *externalVolumeTopologyRequestRequiredPtrType) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredPtrOutput) +func (i *csiVolumeRegistrationTopologyRequestRequiredPtrType) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) } -type ExternalVolumeTopologyRequestRequiredOutput struct{ *pulumi.OutputState } +func (i *csiVolumeRegistrationTopologyRequestRequiredPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationTopologyRequestRequired] { + return pulumix.Output[*CsiVolumeRegistrationTopologyRequestRequired]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeTopologyRequestRequiredOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestRequired)(nil)).Elem() +type CsiVolumeRegistrationTopologyRequestRequiredOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationTopologyRequestRequiredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequired)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) ToCsiVolumeRegistrationTopologyRequestRequiredOutput() CsiVolumeRegistrationTopologyRequestRequiredOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) ToCsiVolumeRegistrationTopologyRequestRequiredOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { - return o.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutput() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return o.ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequestRequired) *ExternalVolumeTopologyRequestRequired { +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeRegistrationTopologyRequestRequired) *CsiVolumeRegistrationTopologyRequestRequired { return &v - }).(ExternalVolumeTopologyRequestRequiredPtrOutput) + }).(CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) } -func (o ExternalVolumeTopologyRequestRequiredOutput) Topologies() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequestRequired) []ExternalVolumeTopologyRequestRequiredTopology { +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequestRequired] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequestRequired]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeRegistrationTopologyRequestRequiredOutput) Topologies() CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v CsiVolumeRegistrationTopologyRequestRequired) []CsiVolumeRegistrationTopologyRequestRequiredTopology { return v.Topologies - }).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) + }).(CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) } -type ExternalVolumeTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } +type CsiVolumeRegistrationTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } -func (ExternalVolumeTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ExternalVolumeTopologyRequestRequired)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeRegistrationTopologyRequestRequired)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestRequiredPtrOutput) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutput() CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredPtrOutput) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) ToCsiVolumeRegistrationTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredPtrOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredPtrOutput) Elem() ExternalVolumeTopologyRequestRequiredOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequestRequired) ExternalVolumeTopologyRequestRequired { +func (o CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeRegistrationTopologyRequestRequired] { + return pulumix.Output[*CsiVolumeRegistrationTopologyRequestRequired]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) Elem() CsiVolumeRegistrationTopologyRequestRequiredOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationTopologyRequestRequired) CsiVolumeRegistrationTopologyRequestRequired { if v != nil { return *v } - var ret ExternalVolumeTopologyRequestRequired + var ret CsiVolumeRegistrationTopologyRequestRequired return ret - }).(ExternalVolumeTopologyRequestRequiredOutput) + }).(CsiVolumeRegistrationTopologyRequestRequiredOutput) } -func (o ExternalVolumeTopologyRequestRequiredPtrOutput) Topologies() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { - return o.ApplyT(func(v *ExternalVolumeTopologyRequestRequired) []ExternalVolumeTopologyRequestRequiredTopology { +func (o CsiVolumeRegistrationTopologyRequestRequiredPtrOutput) Topologies() CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v *CsiVolumeRegistrationTopologyRequestRequired) []CsiVolumeRegistrationTopologyRequestRequiredTopology { if v == nil { return nil } return v.Topologies - }).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) + }).(CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) } -type ExternalVolumeTopologyRequestRequiredTopology struct { +type CsiVolumeRegistrationTopologyRequestRequiredTopology struct { // `(map[string]string)` - Define the attributes for the topology request. // // In addition to the above arguments, the following attributes are exported and @@ -1407,18 +1914,18 @@ type ExternalVolumeTopologyRequestRequiredTopology struct { Segments map[string]string `pulumi:"segments"` } -// ExternalVolumeTopologyRequestRequiredTopologyInput is an input type that accepts ExternalVolumeTopologyRequestRequiredTopologyArgs and ExternalVolumeTopologyRequestRequiredTopologyOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredTopologyInput` via: +// CsiVolumeRegistrationTopologyRequestRequiredTopologyInput is an input type that accepts CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs and CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestRequiredTopologyInput` via: // -// ExternalVolumeTopologyRequestRequiredTopologyArgs{...} -type ExternalVolumeTopologyRequestRequiredTopologyInput interface { +// CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs{...} +type CsiVolumeRegistrationTopologyRequestRequiredTopologyInput interface { pulumi.Input - ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput - ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput + ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput + ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput } -type ExternalVolumeTopologyRequestRequiredTopologyArgs struct { +type CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs struct { // `(map[string]string)` - Define the attributes for the topology request. // // In addition to the above arguments, the following attributes are exported and @@ -1426,3523 +1933,7603 @@ type ExternalVolumeTopologyRequestRequiredTopologyArgs struct { Segments pulumi.StringMapInput `pulumi:"segments"` } -func (ExternalVolumeTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredTopology)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestRequiredTopologyArgs) ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput { - return i.ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput { + return i.ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestRequiredTopologyArgs) ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredTopologyOutput) +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) } -// ExternalVolumeTopologyRequestRequiredTopologyArrayInput is an input type that accepts ExternalVolumeTopologyRequestRequiredTopologyArray and ExternalVolumeTopologyRequestRequiredTopologyArrayOutput values. -// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredTopologyArrayInput` via: +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequestRequiredTopology] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequestRequiredTopology]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayInput is an input type that accepts CsiVolumeRegistrationTopologyRequestRequiredTopologyArray and CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput values. +// You can construct a concrete instance of `CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayInput` via: // -// ExternalVolumeTopologyRequestRequiredTopologyArray{ ExternalVolumeTopologyRequestRequiredTopologyArgs{...} } -type ExternalVolumeTopologyRequestRequiredTopologyArrayInput interface { +// CsiVolumeRegistrationTopologyRequestRequiredTopologyArray{ CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs{...} } +type CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayInput interface { pulumi.Input - ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput - ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput + ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput + ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput } -type ExternalVolumeTopologyRequestRequiredTopologyArray []ExternalVolumeTopologyRequestRequiredTopologyInput +type CsiVolumeRegistrationTopologyRequestRequiredTopologyArray []CsiVolumeRegistrationTopologyRequestRequiredTopologyInput -func (ExternalVolumeTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationTopologyRequestRequiredTopology)(nil)).Elem() } -func (i ExternalVolumeTopologyRequestRequiredTopologyArray) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { - return i.ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArray) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { + return i.ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) } -func (i ExternalVolumeTopologyRequestRequiredTopologyArray) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArray) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) } -type ExternalVolumeTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } +func (i CsiVolumeRegistrationTopologyRequestRequiredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationTopologyRequestRequiredTopology] { + return pulumix.Output[[]CsiVolumeRegistrationTopologyRequestRequiredTopology]{ + OutputState: i.ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutputWithContext(ctx).OutputState, + } +} -func (ExternalVolumeTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +type CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } + +func (CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredTopology)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput { return o } +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeRegistrationTopologyRequestRequiredTopology] { + return pulumix.Output[CsiVolumeRegistrationTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } +} + // `(map[string]string)` - Define the attributes for the topology request. // // In addition to the above arguments, the following attributes are exported and // can be referenced: -func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { - return o.ApplyT(func(v ExternalVolumeTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v CsiVolumeRegistrationTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) } -type ExternalVolumeTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } +type CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } -func (ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeRegistrationTopologyRequestRequiredTopology)(nil)).Elem() } -func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput() CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) ToCsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput { return o } -func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyRequestRequiredTopologyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopologyRequestRequiredTopology { - return vs[0].([]ExternalVolumeTopologyRequestRequiredTopology)[vs[1].(int)] - }).(ExternalVolumeTopologyRequestRequiredTopologyOutput) +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeRegistrationTopologyRequestRequiredTopology] { + return pulumix.Output[[]CsiVolumeRegistrationTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } } -type JobHcl2 struct { - // `(boolean: false)` - Set this to `true` to be able to use - // HCL2 filesystem functions - AllowFs *bool `pulumi:"allowFs"` - // `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - // format instead of the default HCL. - Enabled *bool `pulumi:"enabled"` - Vars map[string]interface{} `pulumi:"vars"` +func (o CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeRegistrationTopologyRequestRequiredTopology { + return vs[0].([]CsiVolumeRegistrationTopologyRequestRequiredTopology)[vs[1].(int)] + }).(CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput) } -// JobHcl2Input is an input type that accepts JobHcl2Args and JobHcl2Output values. -// You can construct a concrete instance of `JobHcl2Input` via: -// -// JobHcl2Args{...} -type JobHcl2Input interface { - pulumi.Input +type CsiVolumeTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} - ToJobHcl2Output() JobHcl2Output - ToJobHcl2OutputWithContext(context.Context) JobHcl2Output +// CsiVolumeTopologyInput is an input type that accepts CsiVolumeTopologyArgs and CsiVolumeTopologyOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyInput` via: +// +// CsiVolumeTopologyArgs{...} +type CsiVolumeTopologyInput interface { + pulumi.Input + + ToCsiVolumeTopologyOutput() CsiVolumeTopologyOutput + ToCsiVolumeTopologyOutputWithContext(context.Context) CsiVolumeTopologyOutput } -type JobHcl2Args struct { - // `(boolean: false)` - Set this to `true` to be able to use - // HCL2 filesystem functions - AllowFs pulumi.BoolPtrInput `pulumi:"allowFs"` - // `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - // format instead of the default HCL. - Enabled pulumi.BoolPtrInput `pulumi:"enabled"` - Vars pulumi.MapInput `pulumi:"vars"` +type CsiVolumeTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (JobHcl2Args) ElementType() reflect.Type { - return reflect.TypeOf((*JobHcl2)(nil)).Elem() +func (CsiVolumeTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopology)(nil)).Elem() } -func (i JobHcl2Args) ToJobHcl2Output() JobHcl2Output { - return i.ToJobHcl2OutputWithContext(context.Background()) +func (i CsiVolumeTopologyArgs) ToCsiVolumeTopologyOutput() CsiVolumeTopologyOutput { + return i.ToCsiVolumeTopologyOutputWithContext(context.Background()) } -func (i JobHcl2Args) ToJobHcl2OutputWithContext(ctx context.Context) JobHcl2Output { - return pulumi.ToOutputWithContext(ctx, i).(JobHcl2Output) +func (i CsiVolumeTopologyArgs) ToCsiVolumeTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyOutput) } -func (i JobHcl2Args) ToJobHcl2PtrOutput() JobHcl2PtrOutput { - return i.ToJobHcl2PtrOutputWithContext(context.Background()) +func (i CsiVolumeTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopology] { + return pulumix.Output[CsiVolumeTopology]{ + OutputState: i.ToCsiVolumeTopologyOutputWithContext(ctx).OutputState, + } } -func (i JobHcl2Args) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobHcl2Output).ToJobHcl2PtrOutputWithContext(ctx) +// CsiVolumeTopologyArrayInput is an input type that accepts CsiVolumeTopologyArray and CsiVolumeTopologyArrayOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyArrayInput` via: +// +// CsiVolumeTopologyArray{ CsiVolumeTopologyArgs{...} } +type CsiVolumeTopologyArrayInput interface { + pulumi.Input + + ToCsiVolumeTopologyArrayOutput() CsiVolumeTopologyArrayOutput + ToCsiVolumeTopologyArrayOutputWithContext(context.Context) CsiVolumeTopologyArrayOutput } -// JobHcl2PtrInput is an input type that accepts JobHcl2Args, JobHcl2Ptr and JobHcl2PtrOutput values. -// You can construct a concrete instance of `JobHcl2PtrInput` via: +type CsiVolumeTopologyArray []CsiVolumeTopologyInput + +func (CsiVolumeTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopology)(nil)).Elem() +} + +func (i CsiVolumeTopologyArray) ToCsiVolumeTopologyArrayOutput() CsiVolumeTopologyArrayOutput { + return i.ToCsiVolumeTopologyArrayOutputWithContext(context.Background()) +} + +func (i CsiVolumeTopologyArray) ToCsiVolumeTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyArrayOutput) +} + +func (i CsiVolumeTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopology] { + return pulumix.Output[[]CsiVolumeTopology]{ + OutputState: i.ToCsiVolumeTopologyArrayOutputWithContext(ctx).OutputState, + } +} + +type CsiVolumeTopologyOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopology)(nil)).Elem() +} + +func (o CsiVolumeTopologyOutput) ToCsiVolumeTopologyOutput() CsiVolumeTopologyOutput { + return o +} + +func (o CsiVolumeTopologyOutput) ToCsiVolumeTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyOutput { + return o +} + +func (o CsiVolumeTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopology] { + return pulumix.Output[CsiVolumeTopology]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string)` - Define the attributes for the topology request. // -// JobHcl2Args{...} +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o CsiVolumeTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v CsiVolumeTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +} + +type CsiVolumeTopologyArrayOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopology)(nil)).Elem() +} + +func (o CsiVolumeTopologyArrayOutput) ToCsiVolumeTopologyArrayOutput() CsiVolumeTopologyArrayOutput { + return o +} + +func (o CsiVolumeTopologyArrayOutput) ToCsiVolumeTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyArrayOutput { + return o +} + +func (o CsiVolumeTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopology] { + return pulumix.Output[[]CsiVolumeTopology]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeTopologyArrayOutput) Index(i pulumi.IntInput) CsiVolumeTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeTopology { + return vs[0].([]CsiVolumeTopology)[vs[1].(int)] + }).(CsiVolumeTopologyOutput) +} + +type CsiVolumeTopologyRequest struct { + // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + Preferred *CsiVolumeTopologyRequestPreferred `pulumi:"preferred"` + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required *CsiVolumeTopologyRequestRequired `pulumi:"required"` +} + +// CsiVolumeTopologyRequestInput is an input type that accepts CsiVolumeTopologyRequestArgs and CsiVolumeTopologyRequestOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestInput` via: +// +// CsiVolumeTopologyRequestArgs{...} +type CsiVolumeTopologyRequestInput interface { + pulumi.Input + + ToCsiVolumeTopologyRequestOutput() CsiVolumeTopologyRequestOutput + ToCsiVolumeTopologyRequestOutputWithContext(context.Context) CsiVolumeTopologyRequestOutput +} + +type CsiVolumeTopologyRequestArgs struct { + // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + Preferred CsiVolumeTopologyRequestPreferredPtrInput `pulumi:"preferred"` + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required CsiVolumeTopologyRequestRequiredPtrInput `pulumi:"required"` +} + +func (CsiVolumeTopologyRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequest)(nil)).Elem() +} + +func (i CsiVolumeTopologyRequestArgs) ToCsiVolumeTopologyRequestOutput() CsiVolumeTopologyRequestOutput { + return i.ToCsiVolumeTopologyRequestOutputWithContext(context.Background()) +} + +func (i CsiVolumeTopologyRequestArgs) ToCsiVolumeTopologyRequestOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestOutput) +} + +func (i CsiVolumeTopologyRequestArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequest] { + return pulumix.Output[CsiVolumeTopologyRequest]{ + OutputState: i.ToCsiVolumeTopologyRequestOutputWithContext(ctx).OutputState, + } +} + +func (i CsiVolumeTopologyRequestArgs) ToCsiVolumeTopologyRequestPtrOutput() CsiVolumeTopologyRequestPtrOutput { + return i.ToCsiVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i CsiVolumeTopologyRequestArgs) ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestOutput).ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx) +} + +// CsiVolumeTopologyRequestPtrInput is an input type that accepts CsiVolumeTopologyRequestArgs, CsiVolumeTopologyRequestPtr and CsiVolumeTopologyRequestPtrOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestPtrInput` via: +// +// CsiVolumeTopologyRequestArgs{...} // // or: // // nil -type JobHcl2PtrInput interface { +type CsiVolumeTopologyRequestPtrInput interface { pulumi.Input - ToJobHcl2PtrOutput() JobHcl2PtrOutput - ToJobHcl2PtrOutputWithContext(context.Context) JobHcl2PtrOutput + ToCsiVolumeTopologyRequestPtrOutput() CsiVolumeTopologyRequestPtrOutput + ToCsiVolumeTopologyRequestPtrOutputWithContext(context.Context) CsiVolumeTopologyRequestPtrOutput } -type jobHcl2PtrType JobHcl2Args +type csiVolumeTopologyRequestPtrType CsiVolumeTopologyRequestArgs -func JobHcl2Ptr(v *JobHcl2Args) JobHcl2PtrInput { - return (*jobHcl2PtrType)(v) +func CsiVolumeTopologyRequestPtr(v *CsiVolumeTopologyRequestArgs) CsiVolumeTopologyRequestPtrInput { + return (*csiVolumeTopologyRequestPtrType)(v) } -func (*jobHcl2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**JobHcl2)(nil)).Elem() +func (*csiVolumeTopologyRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequest)(nil)).Elem() } -func (i *jobHcl2PtrType) ToJobHcl2PtrOutput() JobHcl2PtrOutput { - return i.ToJobHcl2PtrOutputWithContext(context.Background()) +func (i *csiVolumeTopologyRequestPtrType) ToCsiVolumeTopologyRequestPtrOutput() CsiVolumeTopologyRequestPtrOutput { + return i.ToCsiVolumeTopologyRequestPtrOutputWithContext(context.Background()) } -func (i *jobHcl2PtrType) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobHcl2PtrOutput) +func (i *csiVolumeTopologyRequestPtrType) ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPtrOutput) } -type JobHcl2Output struct{ *pulumi.OutputState } +func (i *csiVolumeTopologyRequestPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequest] { + return pulumix.Output[*CsiVolumeTopologyRequest]{ + OutputState: i.ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx).OutputState, + } +} -func (JobHcl2Output) ElementType() reflect.Type { - return reflect.TypeOf((*JobHcl2)(nil)).Elem() +type CsiVolumeTopologyRequestOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequest)(nil)).Elem() } -func (o JobHcl2Output) ToJobHcl2Output() JobHcl2Output { +func (o CsiVolumeTopologyRequestOutput) ToCsiVolumeTopologyRequestOutput() CsiVolumeTopologyRequestOutput { return o } -func (o JobHcl2Output) ToJobHcl2OutputWithContext(ctx context.Context) JobHcl2Output { +func (o CsiVolumeTopologyRequestOutput) ToCsiVolumeTopologyRequestOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestOutput { return o } -func (o JobHcl2Output) ToJobHcl2PtrOutput() JobHcl2PtrOutput { - return o.ToJobHcl2PtrOutputWithContext(context.Background()) +func (o CsiVolumeTopologyRequestOutput) ToCsiVolumeTopologyRequestPtrOutput() CsiVolumeTopologyRequestPtrOutput { + return o.ToCsiVolumeTopologyRequestPtrOutputWithContext(context.Background()) } -func (o JobHcl2Output) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v JobHcl2) *JobHcl2 { +func (o CsiVolumeTopologyRequestOutput) ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeTopologyRequest) *CsiVolumeTopologyRequest { return &v - }).(JobHcl2PtrOutput) + }).(CsiVolumeTopologyRequestPtrOutput) } -// `(boolean: false)` - Set this to `true` to be able to use -// HCL2 filesystem functions -func (o JobHcl2Output) AllowFs() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JobHcl2) *bool { return v.AllowFs }).(pulumi.BoolPtrOutput) +func (o CsiVolumeTopologyRequestOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequest] { + return pulumix.Output[CsiVolumeTopologyRequest]{ + OutputState: o.OutputState, + } } -// `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 -// format instead of the default HCL. -func (o JobHcl2Output) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JobHcl2) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. +func (o CsiVolumeTopologyRequestOutput) Preferred() CsiVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequest) *CsiVolumeTopologyRequestPreferred { return v.Preferred }).(CsiVolumeTopologyRequestPreferredPtrOutput) } -func (o JobHcl2Output) Vars() pulumi.MapOutput { - return o.ApplyT(func(v JobHcl2) map[string]interface{} { return v.Vars }).(pulumi.MapOutput) +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o CsiVolumeTopologyRequestOutput) Required() CsiVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequest) *CsiVolumeTopologyRequestRequired { return v.Required }).(CsiVolumeTopologyRequestRequiredPtrOutput) } -type JobHcl2PtrOutput struct{ *pulumi.OutputState } +type CsiVolumeTopologyRequestPtrOutput struct{ *pulumi.OutputState } -func (JobHcl2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**JobHcl2)(nil)).Elem() +func (CsiVolumeTopologyRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequest)(nil)).Elem() } -func (o JobHcl2PtrOutput) ToJobHcl2PtrOutput() JobHcl2PtrOutput { +func (o CsiVolumeTopologyRequestPtrOutput) ToCsiVolumeTopologyRequestPtrOutput() CsiVolumeTopologyRequestPtrOutput { return o } -func (o JobHcl2PtrOutput) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { +func (o CsiVolumeTopologyRequestPtrOutput) ToCsiVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPtrOutput { return o } -func (o JobHcl2PtrOutput) Elem() JobHcl2Output { - return o.ApplyT(func(v *JobHcl2) JobHcl2 { +func (o CsiVolumeTopologyRequestPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequest] { + return pulumix.Output[*CsiVolumeTopologyRequest]{ + OutputState: o.OutputState, + } +} + +func (o CsiVolumeTopologyRequestPtrOutput) Elem() CsiVolumeTopologyRequestOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequest) CsiVolumeTopologyRequest { if v != nil { return *v } - var ret JobHcl2 + var ret CsiVolumeTopologyRequest return ret - }).(JobHcl2Output) -} - -// `(boolean: false)` - Set this to `true` to be able to use -// HCL2 filesystem functions -func (o JobHcl2PtrOutput) AllowFs() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *JobHcl2) *bool { - if v == nil { - return nil - } - return v.AllowFs - }).(pulumi.BoolPtrOutput) + }).(CsiVolumeTopologyRequestOutput) } -// `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 -// format instead of the default HCL. -func (o JobHcl2PtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *JobHcl2) *bool { +// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. +func (o CsiVolumeTopologyRequestPtrOutput) Preferred() CsiVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequest) *CsiVolumeTopologyRequestPreferred { if v == nil { return nil } - return v.Enabled - }).(pulumi.BoolPtrOutput) + return v.Preferred + }).(CsiVolumeTopologyRequestPreferredPtrOutput) } -func (o JobHcl2PtrOutput) Vars() pulumi.MapOutput { - return o.ApplyT(func(v *JobHcl2) map[string]interface{} { +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o CsiVolumeTopologyRequestPtrOutput) Required() CsiVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequest) *CsiVolumeTopologyRequestRequired { if v == nil { return nil } - return v.Vars - }).(pulumi.MapOutput) + return v.Required + }).(CsiVolumeTopologyRequestRequiredPtrOutput) } -type JobTaskGroup struct { - Count *int `pulumi:"count"` - Meta map[string]interface{} `pulumi:"meta"` - Name *string `pulumi:"name"` - Tasks []JobTaskGroupTask `pulumi:"tasks"` - Volumes []JobTaskGroupVolume `pulumi:"volumes"` +type CsiVolumeTopologyRequestPreferred struct { + Topologies []CsiVolumeTopologyRequestPreferredTopology `pulumi:"topologies"` } -// JobTaskGroupInput is an input type that accepts JobTaskGroupArgs and JobTaskGroupOutput values. -// You can construct a concrete instance of `JobTaskGroupInput` via: +// CsiVolumeTopologyRequestPreferredInput is an input type that accepts CsiVolumeTopologyRequestPreferredArgs and CsiVolumeTopologyRequestPreferredOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestPreferredInput` via: // -// JobTaskGroupArgs{...} -type JobTaskGroupInput interface { +// CsiVolumeTopologyRequestPreferredArgs{...} +type CsiVolumeTopologyRequestPreferredInput interface { pulumi.Input - ToJobTaskGroupOutput() JobTaskGroupOutput - ToJobTaskGroupOutputWithContext(context.Context) JobTaskGroupOutput + ToCsiVolumeTopologyRequestPreferredOutput() CsiVolumeTopologyRequestPreferredOutput + ToCsiVolumeTopologyRequestPreferredOutputWithContext(context.Context) CsiVolumeTopologyRequestPreferredOutput } -type JobTaskGroupArgs struct { - Count pulumi.IntPtrInput `pulumi:"count"` - Meta pulumi.MapInput `pulumi:"meta"` - Name pulumi.StringPtrInput `pulumi:"name"` - Tasks JobTaskGroupTaskArrayInput `pulumi:"tasks"` - Volumes JobTaskGroupVolumeArrayInput `pulumi:"volumes"` +type CsiVolumeTopologyRequestPreferredArgs struct { + Topologies CsiVolumeTopologyRequestPreferredTopologyArrayInput `pulumi:"topologies"` } -func (JobTaskGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroup)(nil)).Elem() +func (CsiVolumeTopologyRequestPreferredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestPreferred)(nil)).Elem() } -func (i JobTaskGroupArgs) ToJobTaskGroupOutput() JobTaskGroupOutput { - return i.ToJobTaskGroupOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestPreferredArgs) ToCsiVolumeTopologyRequestPreferredOutput() CsiVolumeTopologyRequestPreferredOutput { + return i.ToCsiVolumeTopologyRequestPreferredOutputWithContext(context.Background()) } -func (i JobTaskGroupArgs) ToJobTaskGroupOutputWithContext(ctx context.Context) JobTaskGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupOutput) +func (i CsiVolumeTopologyRequestPreferredArgs) ToCsiVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPreferredOutput) } -// JobTaskGroupArrayInput is an input type that accepts JobTaskGroupArray and JobTaskGroupArrayOutput values. -// You can construct a concrete instance of `JobTaskGroupArrayInput` via: +func (i CsiVolumeTopologyRequestPreferredArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestPreferred] { + return pulumix.Output[CsiVolumeTopologyRequestPreferred]{ + OutputState: i.ToCsiVolumeTopologyRequestPreferredOutputWithContext(ctx).OutputState, + } +} + +func (i CsiVolumeTopologyRequestPreferredArgs) ToCsiVolumeTopologyRequestPreferredPtrOutput() CsiVolumeTopologyRequestPreferredPtrOutput { + return i.ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +} + +func (i CsiVolumeTopologyRequestPreferredArgs) ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPreferredOutput).ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx) +} + +// CsiVolumeTopologyRequestPreferredPtrInput is an input type that accepts CsiVolumeTopologyRequestPreferredArgs, CsiVolumeTopologyRequestPreferredPtr and CsiVolumeTopologyRequestPreferredPtrOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestPreferredPtrInput` via: // -// JobTaskGroupArray{ JobTaskGroupArgs{...} } -type JobTaskGroupArrayInput interface { +// CsiVolumeTopologyRequestPreferredArgs{...} +// +// or: +// +// nil +type CsiVolumeTopologyRequestPreferredPtrInput interface { pulumi.Input - ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput - ToJobTaskGroupArrayOutputWithContext(context.Context) JobTaskGroupArrayOutput + ToCsiVolumeTopologyRequestPreferredPtrOutput() CsiVolumeTopologyRequestPreferredPtrOutput + ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(context.Context) CsiVolumeTopologyRequestPreferredPtrOutput } -type JobTaskGroupArray []JobTaskGroupInput +type csiVolumeTopologyRequestPreferredPtrType CsiVolumeTopologyRequestPreferredArgs -func (JobTaskGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroup)(nil)).Elem() +func CsiVolumeTopologyRequestPreferredPtr(v *CsiVolumeTopologyRequestPreferredArgs) CsiVolumeTopologyRequestPreferredPtrInput { + return (*csiVolumeTopologyRequestPreferredPtrType)(v) } -func (i JobTaskGroupArray) ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput { - return i.ToJobTaskGroupArrayOutputWithContext(context.Background()) +func (*csiVolumeTopologyRequestPreferredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequestPreferred)(nil)).Elem() } -func (i JobTaskGroupArray) ToJobTaskGroupArrayOutputWithContext(ctx context.Context) JobTaskGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupArrayOutput) +func (i *csiVolumeTopologyRequestPreferredPtrType) ToCsiVolumeTopologyRequestPreferredPtrOutput() CsiVolumeTopologyRequestPreferredPtrOutput { + return i.ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) } -type JobTaskGroupOutput struct{ *pulumi.OutputState } +func (i *csiVolumeTopologyRequestPreferredPtrType) ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPreferredPtrOutput) +} -func (JobTaskGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroup)(nil)).Elem() +func (i *csiVolumeTopologyRequestPreferredPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequestPreferred] { + return pulumix.Output[*CsiVolumeTopologyRequestPreferred]{ + OutputState: i.ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx).OutputState, + } } -func (o JobTaskGroupOutput) ToJobTaskGroupOutput() JobTaskGroupOutput { - return o +type CsiVolumeTopologyRequestPreferredOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyRequestPreferredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestPreferred)(nil)).Elem() } -func (o JobTaskGroupOutput) ToJobTaskGroupOutputWithContext(ctx context.Context) JobTaskGroupOutput { +func (o CsiVolumeTopologyRequestPreferredOutput) ToCsiVolumeTopologyRequestPreferredOutput() CsiVolumeTopologyRequestPreferredOutput { return o } -func (o JobTaskGroupOutput) Count() pulumi.IntPtrOutput { - return o.ApplyT(func(v JobTaskGroup) *int { return v.Count }).(pulumi.IntPtrOutput) +func (o CsiVolumeTopologyRequestPreferredOutput) ToCsiVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredOutput { + return o } -func (o JobTaskGroupOutput) Meta() pulumi.MapOutput { - return o.ApplyT(func(v JobTaskGroup) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +func (o CsiVolumeTopologyRequestPreferredOutput) ToCsiVolumeTopologyRequestPreferredPtrOutput() CsiVolumeTopologyRequestPreferredPtrOutput { + return o.ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) } -func (o JobTaskGroupOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestPreferredOutput) ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeTopologyRequestPreferred) *CsiVolumeTopologyRequestPreferred { + return &v + }).(CsiVolumeTopologyRequestPreferredPtrOutput) } -func (o JobTaskGroupOutput) Tasks() JobTaskGroupTaskArrayOutput { - return o.ApplyT(func(v JobTaskGroup) []JobTaskGroupTask { return v.Tasks }).(JobTaskGroupTaskArrayOutput) +func (o CsiVolumeTopologyRequestPreferredOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestPreferred] { + return pulumix.Output[CsiVolumeTopologyRequestPreferred]{ + OutputState: o.OutputState, + } } -func (o JobTaskGroupOutput) Volumes() JobTaskGroupVolumeArrayOutput { - return o.ApplyT(func(v JobTaskGroup) []JobTaskGroupVolume { return v.Volumes }).(JobTaskGroupVolumeArrayOutput) +func (o CsiVolumeTopologyRequestPreferredOutput) Topologies() CsiVolumeTopologyRequestPreferredTopologyArrayOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequestPreferred) []CsiVolumeTopologyRequestPreferredTopology { + return v.Topologies + }).(CsiVolumeTopologyRequestPreferredTopologyArrayOutput) } -type JobTaskGroupArrayOutput struct{ *pulumi.OutputState } +type CsiVolumeTopologyRequestPreferredPtrOutput struct{ *pulumi.OutputState } -func (JobTaskGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroup)(nil)).Elem() +func (CsiVolumeTopologyRequestPreferredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequestPreferred)(nil)).Elem() } -func (o JobTaskGroupArrayOutput) ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput { +func (o CsiVolumeTopologyRequestPreferredPtrOutput) ToCsiVolumeTopologyRequestPreferredPtrOutput() CsiVolumeTopologyRequestPreferredPtrOutput { return o } -func (o JobTaskGroupArrayOutput) ToJobTaskGroupArrayOutputWithContext(ctx context.Context) JobTaskGroupArrayOutput { +func (o CsiVolumeTopologyRequestPreferredPtrOutput) ToCsiVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredPtrOutput { return o } -func (o JobTaskGroupArrayOutput) Index(i pulumi.IntInput) JobTaskGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroup { - return vs[0].([]JobTaskGroup)[vs[1].(int)] - }).(JobTaskGroupOutput) +func (o CsiVolumeTopologyRequestPreferredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequestPreferred] { + return pulumix.Output[*CsiVolumeTopologyRequestPreferred]{ + OutputState: o.OutputState, + } } -type JobTaskGroupTask struct { - Driver *string `pulumi:"driver"` - Meta map[string]interface{} `pulumi:"meta"` - Name *string `pulumi:"name"` - VolumeMounts []JobTaskGroupTaskVolumeMount `pulumi:"volumeMounts"` +func (o CsiVolumeTopologyRequestPreferredPtrOutput) Elem() CsiVolumeTopologyRequestPreferredOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequestPreferred) CsiVolumeTopologyRequestPreferred { + if v != nil { + return *v + } + var ret CsiVolumeTopologyRequestPreferred + return ret + }).(CsiVolumeTopologyRequestPreferredOutput) } -// JobTaskGroupTaskInput is an input type that accepts JobTaskGroupTaskArgs and JobTaskGroupTaskOutput values. -// You can construct a concrete instance of `JobTaskGroupTaskInput` via: +func (o CsiVolumeTopologyRequestPreferredPtrOutput) Topologies() CsiVolumeTopologyRequestPreferredTopologyArrayOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequestPreferred) []CsiVolumeTopologyRequestPreferredTopology { + if v == nil { + return nil + } + return v.Topologies + }).(CsiVolumeTopologyRequestPreferredTopologyArrayOutput) +} + +type CsiVolumeTopologyRequestPreferredTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// CsiVolumeTopologyRequestPreferredTopologyInput is an input type that accepts CsiVolumeTopologyRequestPreferredTopologyArgs and CsiVolumeTopologyRequestPreferredTopologyOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestPreferredTopologyInput` via: // -// JobTaskGroupTaskArgs{...} -type JobTaskGroupTaskInput interface { +// CsiVolumeTopologyRequestPreferredTopologyArgs{...} +type CsiVolumeTopologyRequestPreferredTopologyInput interface { pulumi.Input - ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput - ToJobTaskGroupTaskOutputWithContext(context.Context) JobTaskGroupTaskOutput + ToCsiVolumeTopologyRequestPreferredTopologyOutput() CsiVolumeTopologyRequestPreferredTopologyOutput + ToCsiVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Context) CsiVolumeTopologyRequestPreferredTopologyOutput } -type JobTaskGroupTaskArgs struct { - Driver pulumi.StringPtrInput `pulumi:"driver"` - Meta pulumi.MapInput `pulumi:"meta"` - Name pulumi.StringPtrInput `pulumi:"name"` - VolumeMounts JobTaskGroupTaskVolumeMountArrayInput `pulumi:"volumeMounts"` +type CsiVolumeTopologyRequestPreferredTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (JobTaskGroupTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupTask)(nil)).Elem() +func (CsiVolumeTopologyRequestPreferredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestPreferredTopology)(nil)).Elem() } -func (i JobTaskGroupTaskArgs) ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput { - return i.ToJobTaskGroupTaskOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestPreferredTopologyArgs) ToCsiVolumeTopologyRequestPreferredTopologyOutput() CsiVolumeTopologyRequestPreferredTopologyOutput { + return i.ToCsiVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Background()) } -func (i JobTaskGroupTaskArgs) ToJobTaskGroupTaskOutputWithContext(ctx context.Context) JobTaskGroupTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskOutput) +func (i CsiVolumeTopologyRequestPreferredTopologyArgs) ToCsiVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPreferredTopologyOutput) } -// JobTaskGroupTaskArrayInput is an input type that accepts JobTaskGroupTaskArray and JobTaskGroupTaskArrayOutput values. -// You can construct a concrete instance of `JobTaskGroupTaskArrayInput` via: +func (i CsiVolumeTopologyRequestPreferredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[CsiVolumeTopologyRequestPreferredTopology]{ + OutputState: i.ToCsiVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeTopologyRequestPreferredTopologyArrayInput is an input type that accepts CsiVolumeTopologyRequestPreferredTopologyArray and CsiVolumeTopologyRequestPreferredTopologyArrayOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestPreferredTopologyArrayInput` via: // -// JobTaskGroupTaskArray{ JobTaskGroupTaskArgs{...} } -type JobTaskGroupTaskArrayInput interface { +// CsiVolumeTopologyRequestPreferredTopologyArray{ CsiVolumeTopologyRequestPreferredTopologyArgs{...} } +type CsiVolumeTopologyRequestPreferredTopologyArrayInput interface { pulumi.Input - ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput - ToJobTaskGroupTaskArrayOutputWithContext(context.Context) JobTaskGroupTaskArrayOutput + ToCsiVolumeTopologyRequestPreferredTopologyArrayOutput() CsiVolumeTopologyRequestPreferredTopologyArrayOutput + ToCsiVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Context) CsiVolumeTopologyRequestPreferredTopologyArrayOutput } -type JobTaskGroupTaskArray []JobTaskGroupTaskInput +type CsiVolumeTopologyRequestPreferredTopologyArray []CsiVolumeTopologyRequestPreferredTopologyInput -func (JobTaskGroupTaskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupTask)(nil)).Elem() +func (CsiVolumeTopologyRequestPreferredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopologyRequestPreferredTopology)(nil)).Elem() } -func (i JobTaskGroupTaskArray) ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput { - return i.ToJobTaskGroupTaskArrayOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestPreferredTopologyArray) ToCsiVolumeTopologyRequestPreferredTopologyArrayOutput() CsiVolumeTopologyRequestPreferredTopologyArrayOutput { + return i.ToCsiVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Background()) } -func (i JobTaskGroupTaskArray) ToJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskArrayOutput) +func (i CsiVolumeTopologyRequestPreferredTopologyArray) ToCsiVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestPreferredTopologyArrayOutput) } -type JobTaskGroupTaskOutput struct{ *pulumi.OutputState } +func (i CsiVolumeTopologyRequestPreferredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[[]CsiVolumeTopologyRequestPreferredTopology]{ + OutputState: i.ToCsiVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx).OutputState, + } +} -func (JobTaskGroupTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupTask)(nil)).Elem() +type CsiVolumeTopologyRequestPreferredTopologyOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyRequestPreferredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestPreferredTopology)(nil)).Elem() } -func (o JobTaskGroupTaskOutput) ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput { +func (o CsiVolumeTopologyRequestPreferredTopologyOutput) ToCsiVolumeTopologyRequestPreferredTopologyOutput() CsiVolumeTopologyRequestPreferredTopologyOutput { return o } -func (o JobTaskGroupTaskOutput) ToJobTaskGroupTaskOutputWithContext(ctx context.Context) JobTaskGroupTaskOutput { +func (o CsiVolumeTopologyRequestPreferredTopologyOutput) ToCsiVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredTopologyOutput { return o } -func (o JobTaskGroupTaskOutput) Driver() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupTask) *string { return v.Driver }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestPreferredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[CsiVolumeTopologyRequestPreferredTopology]{ + OutputState: o.OutputState, + } } -func (o JobTaskGroupTaskOutput) Meta() pulumi.MapOutput { - return o.ApplyT(func(v JobTaskGroupTask) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o CsiVolumeTopologyRequestPreferredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequestPreferredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) } -func (o JobTaskGroupTaskOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupTask) *string { return v.Name }).(pulumi.StringPtrOutput) -} +type CsiVolumeTopologyRequestPreferredTopologyArrayOutput struct{ *pulumi.OutputState } -func (o JobTaskGroupTaskOutput) VolumeMounts() JobTaskGroupTaskVolumeMountArrayOutput { - return o.ApplyT(func(v JobTaskGroupTask) []JobTaskGroupTaskVolumeMount { return v.VolumeMounts }).(JobTaskGroupTaskVolumeMountArrayOutput) +func (CsiVolumeTopologyRequestPreferredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopologyRequestPreferredTopology)(nil)).Elem() } -type JobTaskGroupTaskArrayOutput struct{ *pulumi.OutputState } - -func (JobTaskGroupTaskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupTask)(nil)).Elem() +func (o CsiVolumeTopologyRequestPreferredTopologyArrayOutput) ToCsiVolumeTopologyRequestPreferredTopologyArrayOutput() CsiVolumeTopologyRequestPreferredTopologyArrayOutput { + return o } -func (o JobTaskGroupTaskArrayOutput) ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput { +func (o CsiVolumeTopologyRequestPreferredTopologyArrayOutput) ToCsiVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestPreferredTopologyArrayOutput { return o } -func (o JobTaskGroupTaskArrayOutput) ToJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskArrayOutput { - return o +func (o CsiVolumeTopologyRequestPreferredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[[]CsiVolumeTopologyRequestPreferredTopology]{ + OutputState: o.OutputState, + } } -func (o JobTaskGroupTaskArrayOutput) Index(i pulumi.IntInput) JobTaskGroupTaskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupTask { - return vs[0].([]JobTaskGroupTask)[vs[1].(int)] - }).(JobTaskGroupTaskOutput) +func (o CsiVolumeTopologyRequestPreferredTopologyArrayOutput) Index(i pulumi.IntInput) CsiVolumeTopologyRequestPreferredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeTopologyRequestPreferredTopology { + return vs[0].([]CsiVolumeTopologyRequestPreferredTopology)[vs[1].(int)] + }).(CsiVolumeTopologyRequestPreferredTopologyOutput) } -type JobTaskGroupTaskVolumeMount struct { - Destination *string `pulumi:"destination"` - ReadOnly *bool `pulumi:"readOnly"` - Volume *string `pulumi:"volume"` +type CsiVolumeTopologyRequestRequired struct { + Topologies []CsiVolumeTopologyRequestRequiredTopology `pulumi:"topologies"` } -// JobTaskGroupTaskVolumeMountInput is an input type that accepts JobTaskGroupTaskVolumeMountArgs and JobTaskGroupTaskVolumeMountOutput values. -// You can construct a concrete instance of `JobTaskGroupTaskVolumeMountInput` via: +// CsiVolumeTopologyRequestRequiredInput is an input type that accepts CsiVolumeTopologyRequestRequiredArgs and CsiVolumeTopologyRequestRequiredOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestRequiredInput` via: // -// JobTaskGroupTaskVolumeMountArgs{...} -type JobTaskGroupTaskVolumeMountInput interface { +// CsiVolumeTopologyRequestRequiredArgs{...} +type CsiVolumeTopologyRequestRequiredInput interface { pulumi.Input - ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput - ToJobTaskGroupTaskVolumeMountOutputWithContext(context.Context) JobTaskGroupTaskVolumeMountOutput + ToCsiVolumeTopologyRequestRequiredOutput() CsiVolumeTopologyRequestRequiredOutput + ToCsiVolumeTopologyRequestRequiredOutputWithContext(context.Context) CsiVolumeTopologyRequestRequiredOutput } -type JobTaskGroupTaskVolumeMountArgs struct { - Destination pulumi.StringPtrInput `pulumi:"destination"` - ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` - Volume pulumi.StringPtrInput `pulumi:"volume"` +type CsiVolumeTopologyRequestRequiredArgs struct { + Topologies CsiVolumeTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` } -func (JobTaskGroupTaskVolumeMountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupTaskVolumeMount)(nil)).Elem() +func (CsiVolumeTopologyRequestRequiredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestRequired)(nil)).Elem() } -func (i JobTaskGroupTaskVolumeMountArgs) ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput { - return i.ToJobTaskGroupTaskVolumeMountOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestRequiredArgs) ToCsiVolumeTopologyRequestRequiredOutput() CsiVolumeTopologyRequestRequiredOutput { + return i.ToCsiVolumeTopologyRequestRequiredOutputWithContext(context.Background()) } -func (i JobTaskGroupTaskVolumeMountArgs) ToJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskVolumeMountOutput) +func (i CsiVolumeTopologyRequestRequiredArgs) ToCsiVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestRequiredOutput) } -// JobTaskGroupTaskVolumeMountArrayInput is an input type that accepts JobTaskGroupTaskVolumeMountArray and JobTaskGroupTaskVolumeMountArrayOutput values. -// You can construct a concrete instance of `JobTaskGroupTaskVolumeMountArrayInput` via: +func (i CsiVolumeTopologyRequestRequiredArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestRequired] { + return pulumix.Output[CsiVolumeTopologyRequestRequired]{ + OutputState: i.ToCsiVolumeTopologyRequestRequiredOutputWithContext(ctx).OutputState, + } +} + +func (i CsiVolumeTopologyRequestRequiredArgs) ToCsiVolumeTopologyRequestRequiredPtrOutput() CsiVolumeTopologyRequestRequiredPtrOutput { + return i.ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (i CsiVolumeTopologyRequestRequiredArgs) ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestRequiredOutput).ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx) +} + +// CsiVolumeTopologyRequestRequiredPtrInput is an input type that accepts CsiVolumeTopologyRequestRequiredArgs, CsiVolumeTopologyRequestRequiredPtr and CsiVolumeTopologyRequestRequiredPtrOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestRequiredPtrInput` via: // -// JobTaskGroupTaskVolumeMountArray{ JobTaskGroupTaskVolumeMountArgs{...} } -type JobTaskGroupTaskVolumeMountArrayInput interface { +// CsiVolumeTopologyRequestRequiredArgs{...} +// +// or: +// +// nil +type CsiVolumeTopologyRequestRequiredPtrInput interface { pulumi.Input - ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput - ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Context) JobTaskGroupTaskVolumeMountArrayOutput + ToCsiVolumeTopologyRequestRequiredPtrOutput() CsiVolumeTopologyRequestRequiredPtrOutput + ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(context.Context) CsiVolumeTopologyRequestRequiredPtrOutput } -type JobTaskGroupTaskVolumeMountArray []JobTaskGroupTaskVolumeMountInput +type csiVolumeTopologyRequestRequiredPtrType CsiVolumeTopologyRequestRequiredArgs -func (JobTaskGroupTaskVolumeMountArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupTaskVolumeMount)(nil)).Elem() +func CsiVolumeTopologyRequestRequiredPtr(v *CsiVolumeTopologyRequestRequiredArgs) CsiVolumeTopologyRequestRequiredPtrInput { + return (*csiVolumeTopologyRequestRequiredPtrType)(v) } -func (i JobTaskGroupTaskVolumeMountArray) ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput { - return i.ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Background()) +func (*csiVolumeTopologyRequestRequiredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequestRequired)(nil)).Elem() } -func (i JobTaskGroupTaskVolumeMountArray) ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskVolumeMountArrayOutput) +func (i *csiVolumeTopologyRequestRequiredPtrType) ToCsiVolumeTopologyRequestRequiredPtrOutput() CsiVolumeTopologyRequestRequiredPtrOutput { + return i.ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -type JobTaskGroupTaskVolumeMountOutput struct{ *pulumi.OutputState } +func (i *csiVolumeTopologyRequestRequiredPtrType) ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestRequiredPtrOutput) +} -func (JobTaskGroupTaskVolumeMountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupTaskVolumeMount)(nil)).Elem() +func (i *csiVolumeTopologyRequestRequiredPtrType) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequestRequired] { + return pulumix.Output[*CsiVolumeTopologyRequestRequired]{ + OutputState: i.ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx).OutputState, + } } -func (o JobTaskGroupTaskVolumeMountOutput) ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput { +type CsiVolumeTopologyRequestRequiredOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyRequestRequiredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestRequired)(nil)).Elem() +} + +func (o CsiVolumeTopologyRequestRequiredOutput) ToCsiVolumeTopologyRequestRequiredOutput() CsiVolumeTopologyRequestRequiredOutput { return o } -func (o JobTaskGroupTaskVolumeMountOutput) ToJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountOutput { +func (o CsiVolumeTopologyRequestRequiredOutput) ToCsiVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredOutput { return o } -func (o JobTaskGroupTaskVolumeMountOutput) Destination() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *string { return v.Destination }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestRequiredOutput) ToCsiVolumeTopologyRequestRequiredPtrOutput() CsiVolumeTopologyRequestRequiredPtrOutput { + return o.ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -func (o JobTaskGroupTaskVolumeMountOutput) ReadOnly() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +func (o CsiVolumeTopologyRequestRequiredOutput) ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v CsiVolumeTopologyRequestRequired) *CsiVolumeTopologyRequestRequired { + return &v + }).(CsiVolumeTopologyRequestRequiredPtrOutput) } -func (o JobTaskGroupTaskVolumeMountOutput) Volume() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *string { return v.Volume }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestRequiredOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestRequired] { + return pulumix.Output[CsiVolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } } -type JobTaskGroupTaskVolumeMountArrayOutput struct{ *pulumi.OutputState } +func (o CsiVolumeTopologyRequestRequiredOutput) Topologies() CsiVolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequestRequired) []CsiVolumeTopologyRequestRequiredTopology { + return v.Topologies + }).(CsiVolumeTopologyRequestRequiredTopologyArrayOutput) +} -func (JobTaskGroupTaskVolumeMountArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupTaskVolumeMount)(nil)).Elem() +type CsiVolumeTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } + +func (CsiVolumeTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**CsiVolumeTopologyRequestRequired)(nil)).Elem() } -func (o JobTaskGroupTaskVolumeMountArrayOutput) ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput { +func (o CsiVolumeTopologyRequestRequiredPtrOutput) ToCsiVolumeTopologyRequestRequiredPtrOutput() CsiVolumeTopologyRequestRequiredPtrOutput { return o } -func (o JobTaskGroupTaskVolumeMountArrayOutput) ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountArrayOutput { +func (o CsiVolumeTopologyRequestRequiredPtrOutput) ToCsiVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredPtrOutput { return o } -func (o JobTaskGroupTaskVolumeMountArrayOutput) Index(i pulumi.IntInput) JobTaskGroupTaskVolumeMountOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupTaskVolumeMount { - return vs[0].([]JobTaskGroupTaskVolumeMount)[vs[1].(int)] - }).(JobTaskGroupTaskVolumeMountOutput) +func (o CsiVolumeTopologyRequestRequiredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*CsiVolumeTopologyRequestRequired] { + return pulumix.Output[*CsiVolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } } -type JobTaskGroupVolume struct { - Name *string `pulumi:"name"` - ReadOnly *bool `pulumi:"readOnly"` - Source *string `pulumi:"source"` - Type *string `pulumi:"type"` +func (o CsiVolumeTopologyRequestRequiredPtrOutput) Elem() CsiVolumeTopologyRequestRequiredOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequestRequired) CsiVolumeTopologyRequestRequired { + if v != nil { + return *v + } + var ret CsiVolumeTopologyRequestRequired + return ret + }).(CsiVolumeTopologyRequestRequiredOutput) } -// JobTaskGroupVolumeInput is an input type that accepts JobTaskGroupVolumeArgs and JobTaskGroupVolumeOutput values. -// You can construct a concrete instance of `JobTaskGroupVolumeInput` via: +func (o CsiVolumeTopologyRequestRequiredPtrOutput) Topologies() CsiVolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v *CsiVolumeTopologyRequestRequired) []CsiVolumeTopologyRequestRequiredTopology { + if v == nil { + return nil + } + return v.Topologies + }).(CsiVolumeTopologyRequestRequiredTopologyArrayOutput) +} + +type CsiVolumeTopologyRequestRequiredTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// CsiVolumeTopologyRequestRequiredTopologyInput is an input type that accepts CsiVolumeTopologyRequestRequiredTopologyArgs and CsiVolumeTopologyRequestRequiredTopologyOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestRequiredTopologyInput` via: // -// JobTaskGroupVolumeArgs{...} -type JobTaskGroupVolumeInput interface { +// CsiVolumeTopologyRequestRequiredTopologyArgs{...} +type CsiVolumeTopologyRequestRequiredTopologyInput interface { pulumi.Input - ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput - ToJobTaskGroupVolumeOutputWithContext(context.Context) JobTaskGroupVolumeOutput + ToCsiVolumeTopologyRequestRequiredTopologyOutput() CsiVolumeTopologyRequestRequiredTopologyOutput + ToCsiVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Context) CsiVolumeTopologyRequestRequiredTopologyOutput } -type JobTaskGroupVolumeArgs struct { - Name pulumi.StringPtrInput `pulumi:"name"` - ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` - Source pulumi.StringPtrInput `pulumi:"source"` - Type pulumi.StringPtrInput `pulumi:"type"` +type CsiVolumeTopologyRequestRequiredTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (JobTaskGroupVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupVolume)(nil)).Elem() +func (CsiVolumeTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestRequiredTopology)(nil)).Elem() } -func (i JobTaskGroupVolumeArgs) ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput { - return i.ToJobTaskGroupVolumeOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestRequiredTopologyArgs) ToCsiVolumeTopologyRequestRequiredTopologyOutput() CsiVolumeTopologyRequestRequiredTopologyOutput { + return i.ToCsiVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Background()) } -func (i JobTaskGroupVolumeArgs) ToJobTaskGroupVolumeOutputWithContext(ctx context.Context) JobTaskGroupVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupVolumeOutput) +func (i CsiVolumeTopologyRequestRequiredTopologyArgs) ToCsiVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestRequiredTopologyOutput) } -// JobTaskGroupVolumeArrayInput is an input type that accepts JobTaskGroupVolumeArray and JobTaskGroupVolumeArrayOutput values. -// You can construct a concrete instance of `JobTaskGroupVolumeArrayInput` via: +func (i CsiVolumeTopologyRequestRequiredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[CsiVolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToCsiVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx).OutputState, + } +} + +// CsiVolumeTopologyRequestRequiredTopologyArrayInput is an input type that accepts CsiVolumeTopologyRequestRequiredTopologyArray and CsiVolumeTopologyRequestRequiredTopologyArrayOutput values. +// You can construct a concrete instance of `CsiVolumeTopologyRequestRequiredTopologyArrayInput` via: // -// JobTaskGroupVolumeArray{ JobTaskGroupVolumeArgs{...} } -type JobTaskGroupVolumeArrayInput interface { +// CsiVolumeTopologyRequestRequiredTopologyArray{ CsiVolumeTopologyRequestRequiredTopologyArgs{...} } +type CsiVolumeTopologyRequestRequiredTopologyArrayInput interface { pulumi.Input - ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput - ToJobTaskGroupVolumeArrayOutputWithContext(context.Context) JobTaskGroupVolumeArrayOutput + ToCsiVolumeTopologyRequestRequiredTopologyArrayOutput() CsiVolumeTopologyRequestRequiredTopologyArrayOutput + ToCsiVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) CsiVolumeTopologyRequestRequiredTopologyArrayOutput } -type JobTaskGroupVolumeArray []JobTaskGroupVolumeInput +type CsiVolumeTopologyRequestRequiredTopologyArray []CsiVolumeTopologyRequestRequiredTopologyInput -func (JobTaskGroupVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupVolume)(nil)).Elem() +func (CsiVolumeTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopologyRequestRequiredTopology)(nil)).Elem() } -func (i JobTaskGroupVolumeArray) ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput { - return i.ToJobTaskGroupVolumeArrayOutputWithContext(context.Background()) +func (i CsiVolumeTopologyRequestRequiredTopologyArray) ToCsiVolumeTopologyRequestRequiredTopologyArrayOutput() CsiVolumeTopologyRequestRequiredTopologyArrayOutput { + return i.ToCsiVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) } -func (i JobTaskGroupVolumeArray) ToJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) JobTaskGroupVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupVolumeArrayOutput) +func (i CsiVolumeTopologyRequestRequiredTopologyArray) ToCsiVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(CsiVolumeTopologyRequestRequiredTopologyArrayOutput) } -type JobTaskGroupVolumeOutput struct{ *pulumi.OutputState } - -func (JobTaskGroupVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*JobTaskGroupVolume)(nil)).Elem() +func (i CsiVolumeTopologyRequestRequiredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]CsiVolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToCsiVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx).OutputState, + } } -func (o JobTaskGroupVolumeOutput) ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput { - return o -} +type CsiVolumeTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } -func (o JobTaskGroupVolumeOutput) ToJobTaskGroupVolumeOutputWithContext(ctx context.Context) JobTaskGroupVolumeOutput { - return o +func (CsiVolumeTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*CsiVolumeTopologyRequestRequiredTopology)(nil)).Elem() } -func (o JobTaskGroupVolumeOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Name }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestRequiredTopologyOutput) ToCsiVolumeTopologyRequestRequiredTopologyOutput() CsiVolumeTopologyRequestRequiredTopologyOutput { + return o } -func (o JobTaskGroupVolumeOutput) ReadOnly() pulumi.BoolPtrOutput { - return o.ApplyT(func(v JobTaskGroupVolume) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +func (o CsiVolumeTopologyRequestRequiredTopologyOutput) ToCsiVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredTopologyOutput { + return o } -func (o JobTaskGroupVolumeOutput) Source() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Source }).(pulumi.StringPtrOutput) +func (o CsiVolumeTopologyRequestRequiredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[CsiVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[CsiVolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } } -func (o JobTaskGroupVolumeOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o CsiVolumeTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v CsiVolumeTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) } -type JobTaskGroupVolumeArrayOutput struct{ *pulumi.OutputState } +type CsiVolumeTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } -func (JobTaskGroupVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]JobTaskGroupVolume)(nil)).Elem() +func (CsiVolumeTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]CsiVolumeTopologyRequestRequiredTopology)(nil)).Elem() } -func (o JobTaskGroupVolumeArrayOutput) ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput { +func (o CsiVolumeTopologyRequestRequiredTopologyArrayOutput) ToCsiVolumeTopologyRequestRequiredTopologyArrayOutput() CsiVolumeTopologyRequestRequiredTopologyArrayOutput { return o } -func (o JobTaskGroupVolumeArrayOutput) ToJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) JobTaskGroupVolumeArrayOutput { +func (o CsiVolumeTopologyRequestRequiredTopologyArrayOutput) ToCsiVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) CsiVolumeTopologyRequestRequiredTopologyArrayOutput { return o } -func (o JobTaskGroupVolumeArrayOutput) Index(i pulumi.IntInput) JobTaskGroupVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupVolume { - return vs[0].([]JobTaskGroupVolume)[vs[1].(int)] - }).(JobTaskGroupVolumeOutput) +func (o CsiVolumeTopologyRequestRequiredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]CsiVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]CsiVolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } } -type NamespaceCapabilities struct { - // `([]string: )` - Task drivers disabled for the namespace. - DisabledTaskDrivers []string `pulumi:"disabledTaskDrivers"` - // `([]string: )` - Task drivers enabled for the namespace. - EnabledTaskDrivers []string `pulumi:"enabledTaskDrivers"` +func (o CsiVolumeTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) CsiVolumeTopologyRequestRequiredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) CsiVolumeTopologyRequestRequiredTopology { + return vs[0].([]CsiVolumeTopologyRequestRequiredTopology)[vs[1].(int)] + }).(CsiVolumeTopologyRequestRequiredTopologyOutput) } -// NamespaceCapabilitiesInput is an input type that accepts NamespaceCapabilitiesArgs and NamespaceCapabilitiesOutput values. -// You can construct a concrete instance of `NamespaceCapabilitiesInput` via: -// -// NamespaceCapabilitiesArgs{...} -type NamespaceCapabilitiesInput interface { - pulumi.Input - - ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput - ToNamespaceCapabilitiesOutputWithContext(context.Context) NamespaceCapabilitiesOutput +type ExternalVolumeCapability struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode string `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode string `pulumi:"attachmentMode"` } -type NamespaceCapabilitiesArgs struct { - // `([]string: )` - Task drivers disabled for the namespace. - DisabledTaskDrivers pulumi.StringArrayInput `pulumi:"disabledTaskDrivers"` - // `([]string: )` - Task drivers enabled for the namespace. - EnabledTaskDrivers pulumi.StringArrayInput `pulumi:"enabledTaskDrivers"` +// ExternalVolumeCapabilityInput is an input type that accepts ExternalVolumeCapabilityArgs and ExternalVolumeCapabilityOutput values. +// You can construct a concrete instance of `ExternalVolumeCapabilityInput` via: +// +// ExternalVolumeCapabilityArgs{...} +type ExternalVolumeCapabilityInput interface { + pulumi.Input + + ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput + ToExternalVolumeCapabilityOutputWithContext(context.Context) ExternalVolumeCapabilityOutput } -func (NamespaceCapabilitiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NamespaceCapabilities)(nil)).Elem() +type ExternalVolumeCapabilityArgs struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode pulumi.StringInput `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode pulumi.StringInput `pulumi:"attachmentMode"` } -func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput { - return i.ToNamespaceCapabilitiesOutputWithContext(context.Background()) +func (ExternalVolumeCapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeCapability)(nil)).Elem() } -func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesOutputWithContext(ctx context.Context) NamespaceCapabilitiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesOutput) +func (i ExternalVolumeCapabilityArgs) ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput { + return i.ToExternalVolumeCapabilityOutputWithContext(context.Background()) } -func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { - return i.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) +func (i ExternalVolumeCapabilityArgs) ToExternalVolumeCapabilityOutputWithContext(ctx context.Context) ExternalVolumeCapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeCapabilityOutput) } -func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesOutput).ToNamespaceCapabilitiesPtrOutputWithContext(ctx) +func (i ExternalVolumeCapabilityArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeCapability] { + return pulumix.Output[ExternalVolumeCapability]{ + OutputState: i.ToExternalVolumeCapabilityOutputWithContext(ctx).OutputState, + } } -// NamespaceCapabilitiesPtrInput is an input type that accepts NamespaceCapabilitiesArgs, NamespaceCapabilitiesPtr and NamespaceCapabilitiesPtrOutput values. -// You can construct a concrete instance of `NamespaceCapabilitiesPtrInput` via: -// -// NamespaceCapabilitiesArgs{...} -// -// or: +// ExternalVolumeCapabilityArrayInput is an input type that accepts ExternalVolumeCapabilityArray and ExternalVolumeCapabilityArrayOutput values. +// You can construct a concrete instance of `ExternalVolumeCapabilityArrayInput` via: // -// nil -type NamespaceCapabilitiesPtrInput interface { +// ExternalVolumeCapabilityArray{ ExternalVolumeCapabilityArgs{...} } +type ExternalVolumeCapabilityArrayInput interface { pulumi.Input - ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput - ToNamespaceCapabilitiesPtrOutputWithContext(context.Context) NamespaceCapabilitiesPtrOutput + ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput + ToExternalVolumeCapabilityArrayOutputWithContext(context.Context) ExternalVolumeCapabilityArrayOutput } -type namespaceCapabilitiesPtrType NamespaceCapabilitiesArgs +type ExternalVolumeCapabilityArray []ExternalVolumeCapabilityInput -func NamespaceCapabilitiesPtr(v *NamespaceCapabilitiesArgs) NamespaceCapabilitiesPtrInput { - return (*namespaceCapabilitiesPtrType)(v) +func (ExternalVolumeCapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeCapability)(nil)).Elem() } -func (*namespaceCapabilitiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NamespaceCapabilities)(nil)).Elem() +func (i ExternalVolumeCapabilityArray) ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput { + return i.ToExternalVolumeCapabilityArrayOutputWithContext(context.Background()) } -func (i *namespaceCapabilitiesPtrType) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { - return i.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) +func (i ExternalVolumeCapabilityArray) ToExternalVolumeCapabilityArrayOutputWithContext(ctx context.Context) ExternalVolumeCapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeCapabilityArrayOutput) } -func (i *namespaceCapabilitiesPtrType) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesPtrOutput) +func (i ExternalVolumeCapabilityArray) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeCapability] { + return pulumix.Output[[]ExternalVolumeCapability]{ + OutputState: i.ToExternalVolumeCapabilityArrayOutputWithContext(ctx).OutputState, + } } -type NamespaceCapabilitiesOutput struct{ *pulumi.OutputState } +type ExternalVolumeCapabilityOutput struct{ *pulumi.OutputState } -func (NamespaceCapabilitiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NamespaceCapabilities)(nil)).Elem() +func (ExternalVolumeCapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeCapability)(nil)).Elem() } -func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput { +func (o ExternalVolumeCapabilityOutput) ToExternalVolumeCapabilityOutput() ExternalVolumeCapabilityOutput { return o } -func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesOutputWithContext(ctx context.Context) NamespaceCapabilitiesOutput { +func (o ExternalVolumeCapabilityOutput) ToExternalVolumeCapabilityOutputWithContext(ctx context.Context) ExternalVolumeCapabilityOutput { return o } -func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { - return o.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) -} - -func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NamespaceCapabilities) *NamespaceCapabilities { - return &v - }).(NamespaceCapabilitiesPtrOutput) +func (o ExternalVolumeCapabilityOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeCapability] { + return pulumix.Output[ExternalVolumeCapability]{ + OutputState: o.OutputState, + } } -// `([]string: )` - Task drivers disabled for the namespace. -func (o NamespaceCapabilitiesOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v NamespaceCapabilities) []string { return v.DisabledTaskDrivers }).(pulumi.StringArrayOutput) +// `(string: )` - Defines whether a volume should be available concurrently. Possible values are: +// - `single-node-reader-only` +// - `single-node-writer` +// - `multi-node-reader-only` +// - `multi-node-single-writer` +// - `multi-node-multi-writer` +func (o ExternalVolumeCapabilityOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v ExternalVolumeCapability) string { return v.AccessMode }).(pulumi.StringOutput) } -// `([]string: )` - Task drivers enabled for the namespace. -func (o NamespaceCapabilitiesOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v NamespaceCapabilities) []string { return v.EnabledTaskDrivers }).(pulumi.StringArrayOutput) +// `(string: )` - The storage API that will be used by the volume. Possible values are: +// - `block-device` +// - `file-system` +func (o ExternalVolumeCapabilityOutput) AttachmentMode() pulumi.StringOutput { + return o.ApplyT(func(v ExternalVolumeCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) } -type NamespaceCapabilitiesPtrOutput struct{ *pulumi.OutputState } +type ExternalVolumeCapabilityArrayOutput struct{ *pulumi.OutputState } -func (NamespaceCapabilitiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NamespaceCapabilities)(nil)).Elem() +func (ExternalVolumeCapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeCapability)(nil)).Elem() } -func (o NamespaceCapabilitiesPtrOutput) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { +func (o ExternalVolumeCapabilityArrayOutput) ToExternalVolumeCapabilityArrayOutput() ExternalVolumeCapabilityArrayOutput { return o } -func (o NamespaceCapabilitiesPtrOutput) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { +func (o ExternalVolumeCapabilityArrayOutput) ToExternalVolumeCapabilityArrayOutputWithContext(ctx context.Context) ExternalVolumeCapabilityArrayOutput { return o } -func (o NamespaceCapabilitiesPtrOutput) Elem() NamespaceCapabilitiesOutput { - return o.ApplyT(func(v *NamespaceCapabilities) NamespaceCapabilities { - if v != nil { - return *v - } - var ret NamespaceCapabilities - return ret - }).(NamespaceCapabilitiesOutput) -} - -// `([]string: )` - Task drivers disabled for the namespace. -func (o NamespaceCapabilitiesPtrOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NamespaceCapabilities) []string { - if v == nil { - return nil - } - return v.DisabledTaskDrivers - }).(pulumi.StringArrayOutput) +func (o ExternalVolumeCapabilityArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeCapability] { + return pulumix.Output[[]ExternalVolumeCapability]{ + OutputState: o.OutputState, + } } -// `([]string: )` - Task drivers enabled for the namespace. -func (o NamespaceCapabilitiesPtrOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NamespaceCapabilities) []string { - if v == nil { - return nil - } - return v.EnabledTaskDrivers - }).(pulumi.StringArrayOutput) +func (o ExternalVolumeCapabilityArrayOutput) Index(i pulumi.IntInput) ExternalVolumeCapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeCapability { + return vs[0].([]ExternalVolumeCapability)[vs[1].(int)] + }).(ExternalVolumeCapabilityOutput) } -type ProviderHeader struct { - Name string `pulumi:"name"` - Value string `pulumi:"value"` +type ExternalVolumeMountOptions struct { + // `(string: optional)` - The file system type. + FsType *string `pulumi:"fsType"` + // `[]string: optional` - The flags passed to `mount`. + MountFlags []string `pulumi:"mountFlags"` } -// ProviderHeaderInput is an input type that accepts ProviderHeaderArgs and ProviderHeaderOutput values. -// You can construct a concrete instance of `ProviderHeaderInput` via: +// ExternalVolumeMountOptionsInput is an input type that accepts ExternalVolumeMountOptionsArgs and ExternalVolumeMountOptionsOutput values. +// You can construct a concrete instance of `ExternalVolumeMountOptionsInput` via: // -// ProviderHeaderArgs{...} -type ProviderHeaderInput interface { +// ExternalVolumeMountOptionsArgs{...} +type ExternalVolumeMountOptionsInput interface { pulumi.Input - ToProviderHeaderOutput() ProviderHeaderOutput - ToProviderHeaderOutputWithContext(context.Context) ProviderHeaderOutput + ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput + ToExternalVolumeMountOptionsOutputWithContext(context.Context) ExternalVolumeMountOptionsOutput } -type ProviderHeaderArgs struct { - Name pulumi.StringInput `pulumi:"name"` - Value pulumi.StringInput `pulumi:"value"` +type ExternalVolumeMountOptionsArgs struct { + // `(string: optional)` - The file system type. + FsType pulumi.StringPtrInput `pulumi:"fsType"` + // `[]string: optional` - The flags passed to `mount`. + MountFlags pulumi.StringArrayInput `pulumi:"mountFlags"` } -func (ProviderHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ProviderHeader)(nil)).Elem() +func (ExternalVolumeMountOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeMountOptions)(nil)).Elem() } -func (i ProviderHeaderArgs) ToProviderHeaderOutput() ProviderHeaderOutput { - return i.ToProviderHeaderOutputWithContext(context.Background()) +func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput { + return i.ToExternalVolumeMountOptionsOutputWithContext(context.Background()) } -func (i ProviderHeaderArgs) ToProviderHeaderOutputWithContext(ctx context.Context) ProviderHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderHeaderOutput) +func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsOutput) } -// ProviderHeaderArrayInput is an input type that accepts ProviderHeaderArray and ProviderHeaderArrayOutput values. -// You can construct a concrete instance of `ProviderHeaderArrayInput` via: +func (i ExternalVolumeMountOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeMountOptions] { + return pulumix.Output[ExternalVolumeMountOptions]{ + OutputState: i.ToExternalVolumeMountOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { + return i.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) +} + +func (i ExternalVolumeMountOptionsArgs) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsOutput).ToExternalVolumeMountOptionsPtrOutputWithContext(ctx) +} + +// ExternalVolumeMountOptionsPtrInput is an input type that accepts ExternalVolumeMountOptionsArgs, ExternalVolumeMountOptionsPtr and ExternalVolumeMountOptionsPtrOutput values. +// You can construct a concrete instance of `ExternalVolumeMountOptionsPtrInput` via: // -// ProviderHeaderArray{ ProviderHeaderArgs{...} } -type ProviderHeaderArrayInput interface { +// ExternalVolumeMountOptionsArgs{...} +// +// or: +// +// nil +type ExternalVolumeMountOptionsPtrInput interface { pulumi.Input - ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput - ToProviderHeaderArrayOutputWithContext(context.Context) ProviderHeaderArrayOutput + ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput + ToExternalVolumeMountOptionsPtrOutputWithContext(context.Context) ExternalVolumeMountOptionsPtrOutput } -type ProviderHeaderArray []ProviderHeaderInput +type externalVolumeMountOptionsPtrType ExternalVolumeMountOptionsArgs -func (ProviderHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ProviderHeader)(nil)).Elem() +func ExternalVolumeMountOptionsPtr(v *ExternalVolumeMountOptionsArgs) ExternalVolumeMountOptionsPtrInput { + return (*externalVolumeMountOptionsPtrType)(v) } -func (i ProviderHeaderArray) ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput { - return i.ToProviderHeaderArrayOutputWithContext(context.Background()) +func (*externalVolumeMountOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeMountOptions)(nil)).Elem() } -func (i ProviderHeaderArray) ToProviderHeaderArrayOutputWithContext(ctx context.Context) ProviderHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ProviderHeaderArrayOutput) +func (i *externalVolumeMountOptionsPtrType) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { + return i.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) } -type ProviderHeaderOutput struct{ *pulumi.OutputState } - -func (ProviderHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ProviderHeader)(nil)).Elem() +func (i *externalVolumeMountOptionsPtrType) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeMountOptionsPtrOutput) } -func (o ProviderHeaderOutput) ToProviderHeaderOutput() ProviderHeaderOutput { - return o +func (i *externalVolumeMountOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeMountOptions] { + return pulumix.Output[*ExternalVolumeMountOptions]{ + OutputState: i.ToExternalVolumeMountOptionsPtrOutputWithContext(ctx).OutputState, + } } -func (o ProviderHeaderOutput) ToProviderHeaderOutputWithContext(ctx context.Context) ProviderHeaderOutput { - return o -} +type ExternalVolumeMountOptionsOutput struct{ *pulumi.OutputState } -func (o ProviderHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ProviderHeader) string { return v.Name }).(pulumi.StringOutput) +func (ExternalVolumeMountOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeMountOptions)(nil)).Elem() } -func (o ProviderHeaderOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v ProviderHeader) string { return v.Value }).(pulumi.StringOutput) +func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsOutput() ExternalVolumeMountOptionsOutput { + return o } -type ProviderHeaderArrayOutput struct{ *pulumi.OutputState } +func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsOutput { + return o +} -func (ProviderHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ProviderHeader)(nil)).Elem() +func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { + return o.ToExternalVolumeMountOptionsPtrOutputWithContext(context.Background()) } -func (o ProviderHeaderArrayOutput) ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput { +func (o ExternalVolumeMountOptionsOutput) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeMountOptions) *ExternalVolumeMountOptions { + return &v + }).(ExternalVolumeMountOptionsPtrOutput) +} + +func (o ExternalVolumeMountOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeMountOptions] { + return pulumix.Output[ExternalVolumeMountOptions]{ + OutputState: o.OutputState, + } +} + +// `(string: optional)` - The file system type. +func (o ExternalVolumeMountOptionsOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v ExternalVolumeMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) +} + +// `[]string: optional` - The flags passed to `mount`. +func (o ExternalVolumeMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v ExternalVolumeMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) +} + +type ExternalVolumeMountOptionsPtrOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeMountOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeMountOptions)(nil)).Elem() +} + +func (o ExternalVolumeMountOptionsPtrOutput) ToExternalVolumeMountOptionsPtrOutput() ExternalVolumeMountOptionsPtrOutput { return o } -func (o ProviderHeaderArrayOutput) ToProviderHeaderArrayOutputWithContext(ctx context.Context) ProviderHeaderArrayOutput { +func (o ExternalVolumeMountOptionsPtrOutput) ToExternalVolumeMountOptionsPtrOutputWithContext(ctx context.Context) ExternalVolumeMountOptionsPtrOutput { return o } -func (o ProviderHeaderArrayOutput) Index(i pulumi.IntInput) ProviderHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProviderHeader { - return vs[0].([]ProviderHeader)[vs[1].(int)] - }).(ProviderHeaderOutput) +func (o ExternalVolumeMountOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeMountOptions] { + return pulumix.Output[*ExternalVolumeMountOptions]{ + OutputState: o.OutputState, + } } -type QuoteSpecificationLimit struct { - // `(string: )` - The region these limits should apply to. - Region string `pulumi:"region"` - // `(block: )` - The limits to enforce. This block - // may only be specified once in the `limits` block. Its structure is - // documented below. - RegionLimit QuoteSpecificationLimitRegionLimit `pulumi:"regionLimit"` +func (o ExternalVolumeMountOptionsPtrOutput) Elem() ExternalVolumeMountOptionsOutput { + return o.ApplyT(func(v *ExternalVolumeMountOptions) ExternalVolumeMountOptions { + if v != nil { + return *v + } + var ret ExternalVolumeMountOptions + return ret + }).(ExternalVolumeMountOptionsOutput) } -// QuoteSpecificationLimitInput is an input type that accepts QuoteSpecificationLimitArgs and QuoteSpecificationLimitOutput values. -// You can construct a concrete instance of `QuoteSpecificationLimitInput` via: +// `(string: optional)` - The file system type. +func (o ExternalVolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ExternalVolumeMountOptions) *string { + if v == nil { + return nil + } + return v.FsType + }).(pulumi.StringPtrOutput) +} + +// `[]string: optional` - The flags passed to `mount`. +func (o ExternalVolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ExternalVolumeMountOptions) []string { + if v == nil { + return nil + } + return v.MountFlags + }).(pulumi.StringArrayOutput) +} + +type ExternalVolumeTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// ExternalVolumeTopologyInput is an input type that accepts ExternalVolumeTopologyArgs and ExternalVolumeTopologyOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyInput` via: // -// QuoteSpecificationLimitArgs{...} -type QuoteSpecificationLimitInput interface { +// ExternalVolumeTopologyArgs{...} +type ExternalVolumeTopologyInput interface { pulumi.Input - ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput - ToQuoteSpecificationLimitOutputWithContext(context.Context) QuoteSpecificationLimitOutput + ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput + ToExternalVolumeTopologyOutputWithContext(context.Context) ExternalVolumeTopologyOutput } -type QuoteSpecificationLimitArgs struct { - // `(string: )` - The region these limits should apply to. - Region pulumi.StringInput `pulumi:"region"` - // `(block: )` - The limits to enforce. This block - // may only be specified once in the `limits` block. Its structure is - // documented below. - RegionLimit QuoteSpecificationLimitRegionLimitInput `pulumi:"regionLimit"` +type ExternalVolumeTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (QuoteSpecificationLimitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*QuoteSpecificationLimit)(nil)).Elem() +func (ExternalVolumeTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopology)(nil)).Elem() } -func (i QuoteSpecificationLimitArgs) ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput { - return i.ToQuoteSpecificationLimitOutputWithContext(context.Background()) +func (i ExternalVolumeTopologyArgs) ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput { + return i.ToExternalVolumeTopologyOutputWithContext(context.Background()) } -func (i QuoteSpecificationLimitArgs) ToQuoteSpecificationLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitOutput { - return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitOutput) +func (i ExternalVolumeTopologyArgs) ToExternalVolumeTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyOutput) } -// QuoteSpecificationLimitArrayInput is an input type that accepts QuoteSpecificationLimitArray and QuoteSpecificationLimitArrayOutput values. -// You can construct a concrete instance of `QuoteSpecificationLimitArrayInput` via: +func (i ExternalVolumeTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopology] { + return pulumix.Output[ExternalVolumeTopology]{ + OutputState: i.ToExternalVolumeTopologyOutputWithContext(ctx).OutputState, + } +} + +// ExternalVolumeTopologyArrayInput is an input type that accepts ExternalVolumeTopologyArray and ExternalVolumeTopologyArrayOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyArrayInput` via: // -// QuoteSpecificationLimitArray{ QuoteSpecificationLimitArgs{...} } -type QuoteSpecificationLimitArrayInput interface { +// ExternalVolumeTopologyArray{ ExternalVolumeTopologyArgs{...} } +type ExternalVolumeTopologyArrayInput interface { pulumi.Input - ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput - ToQuoteSpecificationLimitArrayOutputWithContext(context.Context) QuoteSpecificationLimitArrayOutput + ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput + ToExternalVolumeTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyArrayOutput } -type QuoteSpecificationLimitArray []QuoteSpecificationLimitInput +type ExternalVolumeTopologyArray []ExternalVolumeTopologyInput -func (QuoteSpecificationLimitArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]QuoteSpecificationLimit)(nil)).Elem() +func (ExternalVolumeTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopology)(nil)).Elem() } -func (i QuoteSpecificationLimitArray) ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput { - return i.ToQuoteSpecificationLimitArrayOutputWithContext(context.Background()) +func (i ExternalVolumeTopologyArray) ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput { + return i.ToExternalVolumeTopologyArrayOutputWithContext(context.Background()) } -func (i QuoteSpecificationLimitArray) ToQuoteSpecificationLimitArrayOutputWithContext(ctx context.Context) QuoteSpecificationLimitArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitArrayOutput) +func (i ExternalVolumeTopologyArray) ToExternalVolumeTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyArrayOutput) } -type QuoteSpecificationLimitOutput struct{ *pulumi.OutputState } +func (i ExternalVolumeTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopology] { + return pulumix.Output[[]ExternalVolumeTopology]{ + OutputState: i.ToExternalVolumeTopologyArrayOutputWithContext(ctx).OutputState, + } +} -func (QuoteSpecificationLimitOutput) ElementType() reflect.Type { - return reflect.TypeOf((*QuoteSpecificationLimit)(nil)).Elem() +type ExternalVolumeTopologyOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopology)(nil)).Elem() } -func (o QuoteSpecificationLimitOutput) ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput { +func (o ExternalVolumeTopologyOutput) ToExternalVolumeTopologyOutput() ExternalVolumeTopologyOutput { return o } -func (o QuoteSpecificationLimitOutput) ToQuoteSpecificationLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitOutput { +func (o ExternalVolumeTopologyOutput) ToExternalVolumeTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyOutput { return o } -// `(string: )` - The region these limits should apply to. -func (o QuoteSpecificationLimitOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v QuoteSpecificationLimit) string { return v.Region }).(pulumi.StringOutput) +func (o ExternalVolumeTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopology] { + return pulumix.Output[ExternalVolumeTopology]{ + OutputState: o.OutputState, + } } -// `(block: )` - The limits to enforce. This block -// may only be specified once in the `limits` block. Its structure is -// documented below. -func (o QuoteSpecificationLimitOutput) RegionLimit() QuoteSpecificationLimitRegionLimitOutput { - return o.ApplyT(func(v QuoteSpecificationLimit) QuoteSpecificationLimitRegionLimit { return v.RegionLimit }).(QuoteSpecificationLimitRegionLimitOutput) +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o ExternalVolumeTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v ExternalVolumeTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) } -type QuoteSpecificationLimitArrayOutput struct{ *pulumi.OutputState } +type ExternalVolumeTopologyArrayOutput struct{ *pulumi.OutputState } -func (QuoteSpecificationLimitArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]QuoteSpecificationLimit)(nil)).Elem() +func (ExternalVolumeTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopology)(nil)).Elem() } -func (o QuoteSpecificationLimitArrayOutput) ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput { +func (o ExternalVolumeTopologyArrayOutput) ToExternalVolumeTopologyArrayOutput() ExternalVolumeTopologyArrayOutput { return o } -func (o QuoteSpecificationLimitArrayOutput) ToQuoteSpecificationLimitArrayOutputWithContext(ctx context.Context) QuoteSpecificationLimitArrayOutput { +func (o ExternalVolumeTopologyArrayOutput) ToExternalVolumeTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyArrayOutput { return o } -func (o QuoteSpecificationLimitArrayOutput) Index(i pulumi.IntInput) QuoteSpecificationLimitOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) QuoteSpecificationLimit { - return vs[0].([]QuoteSpecificationLimit)[vs[1].(int)] - }).(QuoteSpecificationLimitOutput) +func (o ExternalVolumeTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopology] { + return pulumix.Output[[]ExternalVolumeTopology]{ + OutputState: o.OutputState, + } } -type QuoteSpecificationLimitRegionLimit struct { - // `(int: 0)` - The amount of CPU to limit allocations to. A value of zero - // is treated as unlimited, and a negative value is treated as fully disallowed. - Cpu *int `pulumi:"cpu"` - // `(int: 0)` - The amount of memory (in megabytes) to limit - // allocations to. A value of zero is treated as unlimited, and a negative value - // is treated as fully disallowed. - MemoryMb *int `pulumi:"memoryMb"` +func (o ExternalVolumeTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopology { + return vs[0].([]ExternalVolumeTopology)[vs[1].(int)] + }).(ExternalVolumeTopologyOutput) } -// QuoteSpecificationLimitRegionLimitInput is an input type that accepts QuoteSpecificationLimitRegionLimitArgs and QuoteSpecificationLimitRegionLimitOutput values. -// You can construct a concrete instance of `QuoteSpecificationLimitRegionLimitInput` via: +type ExternalVolumeTopologyRequest struct { + // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + Preferred *ExternalVolumeTopologyRequestPreferred `pulumi:"preferred"` + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required *ExternalVolumeTopologyRequestRequired `pulumi:"required"` +} + +// ExternalVolumeTopologyRequestInput is an input type that accepts ExternalVolumeTopologyRequestArgs and ExternalVolumeTopologyRequestOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestInput` via: // -// QuoteSpecificationLimitRegionLimitArgs{...} -type QuoteSpecificationLimitRegionLimitInput interface { +// ExternalVolumeTopologyRequestArgs{...} +type ExternalVolumeTopologyRequestInput interface { pulumi.Input - ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput - ToQuoteSpecificationLimitRegionLimitOutputWithContext(context.Context) QuoteSpecificationLimitRegionLimitOutput + ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput + ToExternalVolumeTopologyRequestOutputWithContext(context.Context) ExternalVolumeTopologyRequestOutput } -type QuoteSpecificationLimitRegionLimitArgs struct { - // `(int: 0)` - The amount of CPU to limit allocations to. A value of zero - // is treated as unlimited, and a negative value is treated as fully disallowed. - Cpu pulumi.IntPtrInput `pulumi:"cpu"` - // `(int: 0)` - The amount of memory (in megabytes) to limit - // allocations to. A value of zero is treated as unlimited, and a negative value - // is treated as fully disallowed. - MemoryMb pulumi.IntPtrInput `pulumi:"memoryMb"` +type ExternalVolumeTopologyRequestArgs struct { + // `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + Preferred ExternalVolumeTopologyRequestPreferredPtrInput `pulumi:"preferred"` + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required ExternalVolumeTopologyRequestRequiredPtrInput `pulumi:"required"` } -func (QuoteSpecificationLimitRegionLimitArgs) ElementType() reflect.Type { - return reflect.TypeOf((*QuoteSpecificationLimitRegionLimit)(nil)).Elem() +func (ExternalVolumeTopologyRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequest)(nil)).Elem() } -func (i QuoteSpecificationLimitRegionLimitArgs) ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput { - return i.ToQuoteSpecificationLimitRegionLimitOutputWithContext(context.Background()) +func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput { + return i.ToExternalVolumeTopologyRequestOutputWithContext(context.Background()) } -func (i QuoteSpecificationLimitRegionLimitArgs) ToQuoteSpecificationLimitRegionLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitRegionLimitOutput { - return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitRegionLimitOutput) +func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestOutput) } -type QuoteSpecificationLimitRegionLimitOutput struct{ *pulumi.OutputState } +func (i ExternalVolumeTopologyRequestArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequest] { + return pulumix.Output[ExternalVolumeTopologyRequest]{ + OutputState: i.ToExternalVolumeTopologyRequestOutputWithContext(ctx).OutputState, + } +} -func (QuoteSpecificationLimitRegionLimitOutput) ElementType() reflect.Type { +func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { + return i.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestArgs) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestOutput).ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx) +} + +// ExternalVolumeTopologyRequestPtrInput is an input type that accepts ExternalVolumeTopologyRequestArgs, ExternalVolumeTopologyRequestPtr and ExternalVolumeTopologyRequestPtrOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestPtrInput` via: +// +// ExternalVolumeTopologyRequestArgs{...} +// +// or: +// +// nil +type ExternalVolumeTopologyRequestPtrInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput + ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestPtrOutput +} + +type externalVolumeTopologyRequestPtrType ExternalVolumeTopologyRequestArgs + +func ExternalVolumeTopologyRequestPtr(v *ExternalVolumeTopologyRequestArgs) ExternalVolumeTopologyRequestPtrInput { + return (*externalVolumeTopologyRequestPtrType)(v) +} + +func (*externalVolumeTopologyRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequest)(nil)).Elem() +} + +func (i *externalVolumeTopologyRequestPtrType) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { + return i.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i *externalVolumeTopologyRequestPtrType) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPtrOutput) +} + +func (i *externalVolumeTopologyRequestPtrType) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequest] { + return pulumix.Output[*ExternalVolumeTopologyRequest]{ + OutputState: i.ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx).OutputState, + } +} + +type ExternalVolumeTopologyRequestOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequest)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestOutput() ExternalVolumeTopologyRequestOutput { + return o +} + +func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestOutput { + return o +} + +func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { + return o.ToExternalVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (o ExternalVolumeTopologyRequestOutput) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequest { + return &v + }).(ExternalVolumeTopologyRequestPtrOutput) +} + +func (o ExternalVolumeTopologyRequestOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequest] { + return pulumix.Output[ExternalVolumeTopologyRequest]{ + OutputState: o.OutputState, + } +} + +// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. +func (o ExternalVolumeTopologyRequestOutput) Preferred() ExternalVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestPreferred { return v.Preferred }).(ExternalVolumeTopologyRequestPreferredPtrOutput) +} + +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o ExternalVolumeTopologyRequestOutput) Required() ExternalVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestRequired { return v.Required }).(ExternalVolumeTopologyRequestRequiredPtrOutput) +} + +type ExternalVolumeTopologyRequestPtrOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequest)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestPtrOutput) ToExternalVolumeTopologyRequestPtrOutput() ExternalVolumeTopologyRequestPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPtrOutput) ToExternalVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequest] { + return pulumix.Output[*ExternalVolumeTopologyRequest]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestPtrOutput) Elem() ExternalVolumeTopologyRequestOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequest) ExternalVolumeTopologyRequest { + if v != nil { + return *v + } + var ret ExternalVolumeTopologyRequest + return ret + }).(ExternalVolumeTopologyRequestOutput) +} + +// `(“Topology“: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. +func (o ExternalVolumeTopologyRequestPtrOutput) Preferred() ExternalVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestPreferred { + if v == nil { + return nil + } + return v.Preferred + }).(ExternalVolumeTopologyRequestPreferredPtrOutput) +} + +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o ExternalVolumeTopologyRequestPtrOutput) Required() ExternalVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequest) *ExternalVolumeTopologyRequestRequired { + if v == nil { + return nil + } + return v.Required + }).(ExternalVolumeTopologyRequestRequiredPtrOutput) +} + +type ExternalVolumeTopologyRequestPreferred struct { + Topologies []ExternalVolumeTopologyRequestPreferredTopology `pulumi:"topologies"` +} + +// ExternalVolumeTopologyRequestPreferredInput is an input type that accepts ExternalVolumeTopologyRequestPreferredArgs and ExternalVolumeTopologyRequestPreferredOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredInput` via: +// +// ExternalVolumeTopologyRequestPreferredArgs{...} +type ExternalVolumeTopologyRequestPreferredInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput + ToExternalVolumeTopologyRequestPreferredOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredOutput +} + +type ExternalVolumeTopologyRequestPreferredArgs struct { + Topologies ExternalVolumeTopologyRequestPreferredTopologyArrayInput `pulumi:"topologies"` +} + +func (ExternalVolumeTopologyRequestPreferredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput { + return i.ToExternalVolumeTopologyRequestPreferredOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredOutput) +} + +func (i ExternalVolumeTopologyRequestPreferredArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestPreferred] { + return pulumix.Output[ExternalVolumeTopologyRequestPreferred]{ + OutputState: i.ToExternalVolumeTopologyRequestPreferredOutputWithContext(ctx).OutputState, + } +} + +func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { + return i.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestPreferredArgs) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredOutput).ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx) +} + +// ExternalVolumeTopologyRequestPreferredPtrInput is an input type that accepts ExternalVolumeTopologyRequestPreferredArgs, ExternalVolumeTopologyRequestPreferredPtr and ExternalVolumeTopologyRequestPreferredPtrOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredPtrInput` via: +// +// ExternalVolumeTopologyRequestPreferredArgs{...} +// +// or: +// +// nil +type ExternalVolumeTopologyRequestPreferredPtrInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput + ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput +} + +type externalVolumeTopologyRequestPreferredPtrType ExternalVolumeTopologyRequestPreferredArgs + +func ExternalVolumeTopologyRequestPreferredPtr(v *ExternalVolumeTopologyRequestPreferredArgs) ExternalVolumeTopologyRequestPreferredPtrInput { + return (*externalVolumeTopologyRequestPreferredPtrType)(v) +} + +func (*externalVolumeTopologyRequestPreferredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +} + +func (i *externalVolumeTopologyRequestPreferredPtrType) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { + return i.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +} + +func (i *externalVolumeTopologyRequestPreferredPtrType) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredPtrOutput) +} + +func (i *externalVolumeTopologyRequestPreferredPtrType) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequestPreferred] { + return pulumix.Output[*ExternalVolumeTopologyRequestPreferred]{ + OutputState: i.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx).OutputState, + } +} + +type ExternalVolumeTopologyRequestPreferredOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestPreferredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredOutput() ExternalVolumeTopologyRequestPreferredOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { + return o.ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(context.Background()) +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequestPreferred) *ExternalVolumeTopologyRequestPreferred { + return &v + }).(ExternalVolumeTopologyRequestPreferredPtrOutput) +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestPreferred] { + return pulumix.Output[ExternalVolumeTopologyRequestPreferred]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestPreferredOutput) Topologies() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequestPreferred) []ExternalVolumeTopologyRequestPreferredTopology { + return v.Topologies + }).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +} + +type ExternalVolumeTopologyRequestPreferredPtrOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestPreferredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequestPreferred)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestPreferredPtrOutput) ToExternalVolumeTopologyRequestPreferredPtrOutput() ExternalVolumeTopologyRequestPreferredPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredPtrOutput) ToExternalVolumeTopologyRequestPreferredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequestPreferred] { + return pulumix.Output[*ExternalVolumeTopologyRequestPreferred]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestPreferredPtrOutput) Elem() ExternalVolumeTopologyRequestPreferredOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequestPreferred) ExternalVolumeTopologyRequestPreferred { + if v != nil { + return *v + } + var ret ExternalVolumeTopologyRequestPreferred + return ret + }).(ExternalVolumeTopologyRequestPreferredOutput) +} + +func (o ExternalVolumeTopologyRequestPreferredPtrOutput) Topologies() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequestPreferred) []ExternalVolumeTopologyRequestPreferredTopology { + if v == nil { + return nil + } + return v.Topologies + }).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +} + +type ExternalVolumeTopologyRequestPreferredTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// ExternalVolumeTopologyRequestPreferredTopologyInput is an input type that accepts ExternalVolumeTopologyRequestPreferredTopologyArgs and ExternalVolumeTopologyRequestPreferredTopologyOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredTopologyInput` via: +// +// ExternalVolumeTopologyRequestPreferredTopologyArgs{...} +type ExternalVolumeTopologyRequestPreferredTopologyInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput + ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput +} + +type ExternalVolumeTopologyRequestPreferredTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` +} + +func (ExternalVolumeTopologyRequestPreferredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArgs) ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput { + return i.ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArgs) ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredTopologyOutput) +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[ExternalVolumeTopologyRequestPreferredTopology]{ + OutputState: i.ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx).OutputState, + } +} + +// ExternalVolumeTopologyRequestPreferredTopologyArrayInput is an input type that accepts ExternalVolumeTopologyRequestPreferredTopologyArray and ExternalVolumeTopologyRequestPreferredTopologyArrayOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestPreferredTopologyArrayInput` via: +// +// ExternalVolumeTopologyRequestPreferredTopologyArray{ ExternalVolumeTopologyRequestPreferredTopologyArgs{...} } +type ExternalVolumeTopologyRequestPreferredTopologyArrayInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput + ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput +} + +type ExternalVolumeTopologyRequestPreferredTopologyArray []ExternalVolumeTopologyRequestPreferredTopologyInput + +func (ExternalVolumeTopologyRequestPreferredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArray) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return i.ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArray) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) +} + +func (i ExternalVolumeTopologyRequestPreferredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[[]ExternalVolumeTopologyRequestPreferredTopology]{ + OutputState: i.ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx).OutputState, + } +} + +type ExternalVolumeTopologyRequestPreferredTopologyOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestPreferredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) ToExternalVolumeTopologyRequestPreferredTopologyOutput() ExternalVolumeTopologyRequestPreferredTopologyOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) ToExternalVolumeTopologyRequestPreferredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[ExternalVolumeTopologyRequestPreferredTopology]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o ExternalVolumeTopologyRequestPreferredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequestPreferredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +} + +type ExternalVolumeTopologyRequestPreferredTopologyArrayOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopologyRequestPreferredTopology)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutput() ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ToExternalVolumeTopologyRequestPreferredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestPreferredTopologyArrayOutput { + return o +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopologyRequestPreferredTopology] { + return pulumix.Output[[]ExternalVolumeTopologyRequestPreferredTopology]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestPreferredTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyRequestPreferredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopologyRequestPreferredTopology { + return vs[0].([]ExternalVolumeTopologyRequestPreferredTopology)[vs[1].(int)] + }).(ExternalVolumeTopologyRequestPreferredTopologyOutput) +} + +type ExternalVolumeTopologyRequestRequired struct { + Topologies []ExternalVolumeTopologyRequestRequiredTopology `pulumi:"topologies"` +} + +// ExternalVolumeTopologyRequestRequiredInput is an input type that accepts ExternalVolumeTopologyRequestRequiredArgs and ExternalVolumeTopologyRequestRequiredOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredInput` via: +// +// ExternalVolumeTopologyRequestRequiredArgs{...} +type ExternalVolumeTopologyRequestRequiredInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput + ToExternalVolumeTopologyRequestRequiredOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredOutput +} + +type ExternalVolumeTopologyRequestRequiredArgs struct { + Topologies ExternalVolumeTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` +} + +func (ExternalVolumeTopologyRequestRequiredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestRequired)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput { + return i.ToExternalVolumeTopologyRequestRequiredOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredOutput) +} + +func (i ExternalVolumeTopologyRequestRequiredArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestRequired] { + return pulumix.Output[ExternalVolumeTopologyRequestRequired]{ + OutputState: i.ToExternalVolumeTopologyRequestRequiredOutputWithContext(ctx).OutputState, + } +} + +func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { + return i.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestRequiredArgs) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredOutput).ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx) +} + +// ExternalVolumeTopologyRequestRequiredPtrInput is an input type that accepts ExternalVolumeTopologyRequestRequiredArgs, ExternalVolumeTopologyRequestRequiredPtr and ExternalVolumeTopologyRequestRequiredPtrOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredPtrInput` via: +// +// ExternalVolumeTopologyRequestRequiredArgs{...} +// +// or: +// +// nil +type ExternalVolumeTopologyRequestRequiredPtrInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput + ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput +} + +type externalVolumeTopologyRequestRequiredPtrType ExternalVolumeTopologyRequestRequiredArgs + +func ExternalVolumeTopologyRequestRequiredPtr(v *ExternalVolumeTopologyRequestRequiredArgs) ExternalVolumeTopologyRequestRequiredPtrInput { + return (*externalVolumeTopologyRequestRequiredPtrType)(v) +} + +func (*externalVolumeTopologyRequestRequiredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequestRequired)(nil)).Elem() +} + +func (i *externalVolumeTopologyRequestRequiredPtrType) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { + return i.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (i *externalVolumeTopologyRequestRequiredPtrType) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredPtrOutput) +} + +func (i *externalVolumeTopologyRequestRequiredPtrType) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequestRequired] { + return pulumix.Output[*ExternalVolumeTopologyRequestRequired]{ + OutputState: i.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx).OutputState, + } +} + +type ExternalVolumeTopologyRequestRequiredOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestRequiredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestRequired)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredOutput() ExternalVolumeTopologyRequestRequiredOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { + return o.ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ExternalVolumeTopologyRequestRequired) *ExternalVolumeTopologyRequestRequired { + return &v + }).(ExternalVolumeTopologyRequestRequiredPtrOutput) +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestRequired] { + return pulumix.Output[ExternalVolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestRequiredOutput) Topologies() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequestRequired) []ExternalVolumeTopologyRequestRequiredTopology { + return v.Topologies + }).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) +} + +type ExternalVolumeTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ExternalVolumeTopologyRequestRequired)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestRequiredPtrOutput) ToExternalVolumeTopologyRequestRequiredPtrOutput() ExternalVolumeTopologyRequestRequiredPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredPtrOutput) ToExternalVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredPtrOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*ExternalVolumeTopologyRequestRequired] { + return pulumix.Output[*ExternalVolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestRequiredPtrOutput) Elem() ExternalVolumeTopologyRequestRequiredOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequestRequired) ExternalVolumeTopologyRequestRequired { + if v != nil { + return *v + } + var ret ExternalVolumeTopologyRequestRequired + return ret + }).(ExternalVolumeTopologyRequestRequiredOutput) +} + +func (o ExternalVolumeTopologyRequestRequiredPtrOutput) Topologies() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v *ExternalVolumeTopologyRequestRequired) []ExternalVolumeTopologyRequestRequiredTopology { + if v == nil { + return nil + } + return v.Topologies + }).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) +} + +type ExternalVolumeTopologyRequestRequiredTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// ExternalVolumeTopologyRequestRequiredTopologyInput is an input type that accepts ExternalVolumeTopologyRequestRequiredTopologyArgs and ExternalVolumeTopologyRequestRequiredTopologyOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredTopologyInput` via: +// +// ExternalVolumeTopologyRequestRequiredTopologyArgs{...} +type ExternalVolumeTopologyRequestRequiredTopologyInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput + ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput +} + +type ExternalVolumeTopologyRequestRequiredTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` +} + +func (ExternalVolumeTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArgs) ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput { + return i.ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArgs) ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredTopologyOutput) +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[ExternalVolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx).OutputState, + } +} + +// ExternalVolumeTopologyRequestRequiredTopologyArrayInput is an input type that accepts ExternalVolumeTopologyRequestRequiredTopologyArray and ExternalVolumeTopologyRequestRequiredTopologyArrayOutput values. +// You can construct a concrete instance of `ExternalVolumeTopologyRequestRequiredTopologyArrayInput` via: +// +// ExternalVolumeTopologyRequestRequiredTopologyArray{ ExternalVolumeTopologyRequestRequiredTopologyArgs{...} } +type ExternalVolumeTopologyRequestRequiredTopologyArrayInput interface { + pulumi.Input + + ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput + ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput +} + +type ExternalVolumeTopologyRequestRequiredTopologyArray []ExternalVolumeTopologyRequestRequiredTopologyInput + +func (ExternalVolumeTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArray) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return i.ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArray) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) +} + +func (i ExternalVolumeTopologyRequestRequiredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]ExternalVolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx).OutputState, + } +} + +type ExternalVolumeTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) ToExternalVolumeTopologyRequestRequiredTopologyOutput() ExternalVolumeTopologyRequestRequiredTopologyOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) ToExternalVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[ExternalVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[ExternalVolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o ExternalVolumeTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v ExternalVolumeTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +} + +type ExternalVolumeTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } + +func (ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ExternalVolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutput() ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ToExternalVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) ExternalVolumeTopologyRequestRequiredTopologyArrayOutput { + return o +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ExternalVolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]ExternalVolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } +} + +func (o ExternalVolumeTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) ExternalVolumeTopologyRequestRequiredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ExternalVolumeTopologyRequestRequiredTopology { + return vs[0].([]ExternalVolumeTopologyRequestRequiredTopology)[vs[1].(int)] + }).(ExternalVolumeTopologyRequestRequiredTopologyOutput) +} + +type JobHcl2 struct { + // `(boolean: false)` - Set this to `true` to be able to use + // HCL2 filesystem functions + AllowFs *bool `pulumi:"allowFs"` + // `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + // HCL2 by default. + // + // Deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. + Enabled *bool `pulumi:"enabled"` + Vars map[string]interface{} `pulumi:"vars"` +} + +// JobHcl2Input is an input type that accepts JobHcl2Args and JobHcl2Output values. +// You can construct a concrete instance of `JobHcl2Input` via: +// +// JobHcl2Args{...} +type JobHcl2Input interface { + pulumi.Input + + ToJobHcl2Output() JobHcl2Output + ToJobHcl2OutputWithContext(context.Context) JobHcl2Output +} + +type JobHcl2Args struct { + // `(boolean: false)` - Set this to `true` to be able to use + // HCL2 filesystem functions + AllowFs pulumi.BoolPtrInput `pulumi:"allowFs"` + // `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + // HCL2 by default. + // + // Deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + Vars pulumi.MapInput `pulumi:"vars"` +} + +func (JobHcl2Args) ElementType() reflect.Type { + return reflect.TypeOf((*JobHcl2)(nil)).Elem() +} + +func (i JobHcl2Args) ToJobHcl2Output() JobHcl2Output { + return i.ToJobHcl2OutputWithContext(context.Background()) +} + +func (i JobHcl2Args) ToJobHcl2OutputWithContext(ctx context.Context) JobHcl2Output { + return pulumi.ToOutputWithContext(ctx, i).(JobHcl2Output) +} + +func (i JobHcl2Args) ToOutput(ctx context.Context) pulumix.Output[JobHcl2] { + return pulumix.Output[JobHcl2]{ + OutputState: i.ToJobHcl2OutputWithContext(ctx).OutputState, + } +} + +func (i JobHcl2Args) ToJobHcl2PtrOutput() JobHcl2PtrOutput { + return i.ToJobHcl2PtrOutputWithContext(context.Background()) +} + +func (i JobHcl2Args) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobHcl2Output).ToJobHcl2PtrOutputWithContext(ctx) +} + +// JobHcl2PtrInput is an input type that accepts JobHcl2Args, JobHcl2Ptr and JobHcl2PtrOutput values. +// You can construct a concrete instance of `JobHcl2PtrInput` via: +// +// JobHcl2Args{...} +// +// or: +// +// nil +type JobHcl2PtrInput interface { + pulumi.Input + + ToJobHcl2PtrOutput() JobHcl2PtrOutput + ToJobHcl2PtrOutputWithContext(context.Context) JobHcl2PtrOutput +} + +type jobHcl2PtrType JobHcl2Args + +func JobHcl2Ptr(v *JobHcl2Args) JobHcl2PtrInput { + return (*jobHcl2PtrType)(v) +} + +func (*jobHcl2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**JobHcl2)(nil)).Elem() +} + +func (i *jobHcl2PtrType) ToJobHcl2PtrOutput() JobHcl2PtrOutput { + return i.ToJobHcl2PtrOutputWithContext(context.Background()) +} + +func (i *jobHcl2PtrType) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobHcl2PtrOutput) +} + +func (i *jobHcl2PtrType) ToOutput(ctx context.Context) pulumix.Output[*JobHcl2] { + return pulumix.Output[*JobHcl2]{ + OutputState: i.ToJobHcl2PtrOutputWithContext(ctx).OutputState, + } +} + +type JobHcl2Output struct{ *pulumi.OutputState } + +func (JobHcl2Output) ElementType() reflect.Type { + return reflect.TypeOf((*JobHcl2)(nil)).Elem() +} + +func (o JobHcl2Output) ToJobHcl2Output() JobHcl2Output { + return o +} + +func (o JobHcl2Output) ToJobHcl2OutputWithContext(ctx context.Context) JobHcl2Output { + return o +} + +func (o JobHcl2Output) ToJobHcl2PtrOutput() JobHcl2PtrOutput { + return o.ToJobHcl2PtrOutputWithContext(context.Background()) +} + +func (o JobHcl2Output) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v JobHcl2) *JobHcl2 { + return &v + }).(JobHcl2PtrOutput) +} + +func (o JobHcl2Output) ToOutput(ctx context.Context) pulumix.Output[JobHcl2] { + return pulumix.Output[JobHcl2]{ + OutputState: o.OutputState, + } +} + +// `(boolean: false)` - Set this to `true` to be able to use +// HCL2 filesystem functions +func (o JobHcl2Output) AllowFs() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobHcl2) *bool { return v.AllowFs }).(pulumi.BoolPtrOutput) +} + +// `(boolean: false)` - **Deprecated** All HCL jobs are parsed as +// HCL2 by default. +// +// Deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. +func (o JobHcl2Output) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobHcl2) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +func (o JobHcl2Output) Vars() pulumi.MapOutput { + return o.ApplyT(func(v JobHcl2) map[string]interface{} { return v.Vars }).(pulumi.MapOutput) +} + +type JobHcl2PtrOutput struct{ *pulumi.OutputState } + +func (JobHcl2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**JobHcl2)(nil)).Elem() +} + +func (o JobHcl2PtrOutput) ToJobHcl2PtrOutput() JobHcl2PtrOutput { + return o +} + +func (o JobHcl2PtrOutput) ToJobHcl2PtrOutputWithContext(ctx context.Context) JobHcl2PtrOutput { + return o +} + +func (o JobHcl2PtrOutput) ToOutput(ctx context.Context) pulumix.Output[*JobHcl2] { + return pulumix.Output[*JobHcl2]{ + OutputState: o.OutputState, + } +} + +func (o JobHcl2PtrOutput) Elem() JobHcl2Output { + return o.ApplyT(func(v *JobHcl2) JobHcl2 { + if v != nil { + return *v + } + var ret JobHcl2 + return ret + }).(JobHcl2Output) +} + +// `(boolean: false)` - Set this to `true` to be able to use +// HCL2 filesystem functions +func (o JobHcl2PtrOutput) AllowFs() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JobHcl2) *bool { + if v == nil { + return nil + } + return v.AllowFs + }).(pulumi.BoolPtrOutput) +} + +// `(boolean: false)` - **Deprecated** All HCL jobs are parsed as +// HCL2 by default. +// +// Deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. +func (o JobHcl2PtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *JobHcl2) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +func (o JobHcl2PtrOutput) Vars() pulumi.MapOutput { + return o.ApplyT(func(v *JobHcl2) map[string]interface{} { + if v == nil { + return nil + } + return v.Vars + }).(pulumi.MapOutput) +} + +type JobTaskGroup struct { + Count *int `pulumi:"count"` + Meta map[string]interface{} `pulumi:"meta"` + Name *string `pulumi:"name"` + Tasks []JobTaskGroupTask `pulumi:"tasks"` + Volumes []JobTaskGroupVolume `pulumi:"volumes"` +} + +// JobTaskGroupInput is an input type that accepts JobTaskGroupArgs and JobTaskGroupOutput values. +// You can construct a concrete instance of `JobTaskGroupInput` via: +// +// JobTaskGroupArgs{...} +type JobTaskGroupInput interface { + pulumi.Input + + ToJobTaskGroupOutput() JobTaskGroupOutput + ToJobTaskGroupOutputWithContext(context.Context) JobTaskGroupOutput +} + +type JobTaskGroupArgs struct { + Count pulumi.IntPtrInput `pulumi:"count"` + Meta pulumi.MapInput `pulumi:"meta"` + Name pulumi.StringPtrInput `pulumi:"name"` + Tasks JobTaskGroupTaskArrayInput `pulumi:"tasks"` + Volumes JobTaskGroupVolumeArrayInput `pulumi:"volumes"` +} + +func (JobTaskGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroup)(nil)).Elem() +} + +func (i JobTaskGroupArgs) ToJobTaskGroupOutput() JobTaskGroupOutput { + return i.ToJobTaskGroupOutputWithContext(context.Background()) +} + +func (i JobTaskGroupArgs) ToJobTaskGroupOutputWithContext(ctx context.Context) JobTaskGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupOutput) +} + +func (i JobTaskGroupArgs) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroup] { + return pulumix.Output[JobTaskGroup]{ + OutputState: i.ToJobTaskGroupOutputWithContext(ctx).OutputState, + } +} + +// JobTaskGroupArrayInput is an input type that accepts JobTaskGroupArray and JobTaskGroupArrayOutput values. +// You can construct a concrete instance of `JobTaskGroupArrayInput` via: +// +// JobTaskGroupArray{ JobTaskGroupArgs{...} } +type JobTaskGroupArrayInput interface { + pulumi.Input + + ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput + ToJobTaskGroupArrayOutputWithContext(context.Context) JobTaskGroupArrayOutput +} + +type JobTaskGroupArray []JobTaskGroupInput + +func (JobTaskGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroup)(nil)).Elem() +} + +func (i JobTaskGroupArray) ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput { + return i.ToJobTaskGroupArrayOutputWithContext(context.Background()) +} + +func (i JobTaskGroupArray) ToJobTaskGroupArrayOutputWithContext(ctx context.Context) JobTaskGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupArrayOutput) +} + +func (i JobTaskGroupArray) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroup] { + return pulumix.Output[[]JobTaskGroup]{ + OutputState: i.ToJobTaskGroupArrayOutputWithContext(ctx).OutputState, + } +} + +type JobTaskGroupOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroup)(nil)).Elem() +} + +func (o JobTaskGroupOutput) ToJobTaskGroupOutput() JobTaskGroupOutput { + return o +} + +func (o JobTaskGroupOutput) ToJobTaskGroupOutputWithContext(ctx context.Context) JobTaskGroupOutput { + return o +} + +func (o JobTaskGroupOutput) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroup] { + return pulumix.Output[JobTaskGroup]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupOutput) Count() pulumi.IntPtrOutput { + return o.ApplyT(func(v JobTaskGroup) *int { return v.Count }).(pulumi.IntPtrOutput) +} + +func (o JobTaskGroupOutput) Meta() pulumi.MapOutput { + return o.ApplyT(func(v JobTaskGroup) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +} + +func (o JobTaskGroupOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroup) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupOutput) Tasks() JobTaskGroupTaskArrayOutput { + return o.ApplyT(func(v JobTaskGroup) []JobTaskGroupTask { return v.Tasks }).(JobTaskGroupTaskArrayOutput) +} + +func (o JobTaskGroupOutput) Volumes() JobTaskGroupVolumeArrayOutput { + return o.ApplyT(func(v JobTaskGroup) []JobTaskGroupVolume { return v.Volumes }).(JobTaskGroupVolumeArrayOutput) +} + +type JobTaskGroupArrayOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroup)(nil)).Elem() +} + +func (o JobTaskGroupArrayOutput) ToJobTaskGroupArrayOutput() JobTaskGroupArrayOutput { + return o +} + +func (o JobTaskGroupArrayOutput) ToJobTaskGroupArrayOutputWithContext(ctx context.Context) JobTaskGroupArrayOutput { + return o +} + +func (o JobTaskGroupArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroup] { + return pulumix.Output[[]JobTaskGroup]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupArrayOutput) Index(i pulumi.IntInput) JobTaskGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroup { + return vs[0].([]JobTaskGroup)[vs[1].(int)] + }).(JobTaskGroupOutput) +} + +type JobTaskGroupTask struct { + Driver *string `pulumi:"driver"` + Meta map[string]interface{} `pulumi:"meta"` + Name *string `pulumi:"name"` + VolumeMounts []JobTaskGroupTaskVolumeMount `pulumi:"volumeMounts"` +} + +// JobTaskGroupTaskInput is an input type that accepts JobTaskGroupTaskArgs and JobTaskGroupTaskOutput values. +// You can construct a concrete instance of `JobTaskGroupTaskInput` via: +// +// JobTaskGroupTaskArgs{...} +type JobTaskGroupTaskInput interface { + pulumi.Input + + ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput + ToJobTaskGroupTaskOutputWithContext(context.Context) JobTaskGroupTaskOutput +} + +type JobTaskGroupTaskArgs struct { + Driver pulumi.StringPtrInput `pulumi:"driver"` + Meta pulumi.MapInput `pulumi:"meta"` + Name pulumi.StringPtrInput `pulumi:"name"` + VolumeMounts JobTaskGroupTaskVolumeMountArrayInput `pulumi:"volumeMounts"` +} + +func (JobTaskGroupTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupTask)(nil)).Elem() +} + +func (i JobTaskGroupTaskArgs) ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput { + return i.ToJobTaskGroupTaskOutputWithContext(context.Background()) +} + +func (i JobTaskGroupTaskArgs) ToJobTaskGroupTaskOutputWithContext(ctx context.Context) JobTaskGroupTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskOutput) +} + +func (i JobTaskGroupTaskArgs) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupTask] { + return pulumix.Output[JobTaskGroupTask]{ + OutputState: i.ToJobTaskGroupTaskOutputWithContext(ctx).OutputState, + } +} + +// JobTaskGroupTaskArrayInput is an input type that accepts JobTaskGroupTaskArray and JobTaskGroupTaskArrayOutput values. +// You can construct a concrete instance of `JobTaskGroupTaskArrayInput` via: +// +// JobTaskGroupTaskArray{ JobTaskGroupTaskArgs{...} } +type JobTaskGroupTaskArrayInput interface { + pulumi.Input + + ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput + ToJobTaskGroupTaskArrayOutputWithContext(context.Context) JobTaskGroupTaskArrayOutput +} + +type JobTaskGroupTaskArray []JobTaskGroupTaskInput + +func (JobTaskGroupTaskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupTask)(nil)).Elem() +} + +func (i JobTaskGroupTaskArray) ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput { + return i.ToJobTaskGroupTaskArrayOutputWithContext(context.Background()) +} + +func (i JobTaskGroupTaskArray) ToJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskArrayOutput) +} + +func (i JobTaskGroupTaskArray) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupTask] { + return pulumix.Output[[]JobTaskGroupTask]{ + OutputState: i.ToJobTaskGroupTaskArrayOutputWithContext(ctx).OutputState, + } +} + +type JobTaskGroupTaskOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupTask)(nil)).Elem() +} + +func (o JobTaskGroupTaskOutput) ToJobTaskGroupTaskOutput() JobTaskGroupTaskOutput { + return o +} + +func (o JobTaskGroupTaskOutput) ToJobTaskGroupTaskOutputWithContext(ctx context.Context) JobTaskGroupTaskOutput { + return o +} + +func (o JobTaskGroupTaskOutput) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupTask] { + return pulumix.Output[JobTaskGroupTask]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupTaskOutput) Driver() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupTask) *string { return v.Driver }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupTaskOutput) Meta() pulumi.MapOutput { + return o.ApplyT(func(v JobTaskGroupTask) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +} + +func (o JobTaskGroupTaskOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupTask) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupTaskOutput) VolumeMounts() JobTaskGroupTaskVolumeMountArrayOutput { + return o.ApplyT(func(v JobTaskGroupTask) []JobTaskGroupTaskVolumeMount { return v.VolumeMounts }).(JobTaskGroupTaskVolumeMountArrayOutput) +} + +type JobTaskGroupTaskArrayOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupTaskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupTask)(nil)).Elem() +} + +func (o JobTaskGroupTaskArrayOutput) ToJobTaskGroupTaskArrayOutput() JobTaskGroupTaskArrayOutput { + return o +} + +func (o JobTaskGroupTaskArrayOutput) ToJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskArrayOutput { + return o +} + +func (o JobTaskGroupTaskArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupTask] { + return pulumix.Output[[]JobTaskGroupTask]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupTaskArrayOutput) Index(i pulumi.IntInput) JobTaskGroupTaskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupTask { + return vs[0].([]JobTaskGroupTask)[vs[1].(int)] + }).(JobTaskGroupTaskOutput) +} + +type JobTaskGroupTaskVolumeMount struct { + Destination *string `pulumi:"destination"` + ReadOnly *bool `pulumi:"readOnly"` + Volume *string `pulumi:"volume"` +} + +// JobTaskGroupTaskVolumeMountInput is an input type that accepts JobTaskGroupTaskVolumeMountArgs and JobTaskGroupTaskVolumeMountOutput values. +// You can construct a concrete instance of `JobTaskGroupTaskVolumeMountInput` via: +// +// JobTaskGroupTaskVolumeMountArgs{...} +type JobTaskGroupTaskVolumeMountInput interface { + pulumi.Input + + ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput + ToJobTaskGroupTaskVolumeMountOutputWithContext(context.Context) JobTaskGroupTaskVolumeMountOutput +} + +type JobTaskGroupTaskVolumeMountArgs struct { + Destination pulumi.StringPtrInput `pulumi:"destination"` + ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` + Volume pulumi.StringPtrInput `pulumi:"volume"` +} + +func (JobTaskGroupTaskVolumeMountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupTaskVolumeMount)(nil)).Elem() +} + +func (i JobTaskGroupTaskVolumeMountArgs) ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput { + return i.ToJobTaskGroupTaskVolumeMountOutputWithContext(context.Background()) +} + +func (i JobTaskGroupTaskVolumeMountArgs) ToJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskVolumeMountOutput) +} + +func (i JobTaskGroupTaskVolumeMountArgs) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupTaskVolumeMount] { + return pulumix.Output[JobTaskGroupTaskVolumeMount]{ + OutputState: i.ToJobTaskGroupTaskVolumeMountOutputWithContext(ctx).OutputState, + } +} + +// JobTaskGroupTaskVolumeMountArrayInput is an input type that accepts JobTaskGroupTaskVolumeMountArray and JobTaskGroupTaskVolumeMountArrayOutput values. +// You can construct a concrete instance of `JobTaskGroupTaskVolumeMountArrayInput` via: +// +// JobTaskGroupTaskVolumeMountArray{ JobTaskGroupTaskVolumeMountArgs{...} } +type JobTaskGroupTaskVolumeMountArrayInput interface { + pulumi.Input + + ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput + ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Context) JobTaskGroupTaskVolumeMountArrayOutput +} + +type JobTaskGroupTaskVolumeMountArray []JobTaskGroupTaskVolumeMountInput + +func (JobTaskGroupTaskVolumeMountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupTaskVolumeMount)(nil)).Elem() +} + +func (i JobTaskGroupTaskVolumeMountArray) ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput { + return i.ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Background()) +} + +func (i JobTaskGroupTaskVolumeMountArray) ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupTaskVolumeMountArrayOutput) +} + +func (i JobTaskGroupTaskVolumeMountArray) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupTaskVolumeMount] { + return pulumix.Output[[]JobTaskGroupTaskVolumeMount]{ + OutputState: i.ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx).OutputState, + } +} + +type JobTaskGroupTaskVolumeMountOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupTaskVolumeMountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupTaskVolumeMount)(nil)).Elem() +} + +func (o JobTaskGroupTaskVolumeMountOutput) ToJobTaskGroupTaskVolumeMountOutput() JobTaskGroupTaskVolumeMountOutput { + return o +} + +func (o JobTaskGroupTaskVolumeMountOutput) ToJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountOutput { + return o +} + +func (o JobTaskGroupTaskVolumeMountOutput) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupTaskVolumeMount] { + return pulumix.Output[JobTaskGroupTaskVolumeMount]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupTaskVolumeMountOutput) Destination() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *string { return v.Destination }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupTaskVolumeMountOutput) ReadOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +} + +func (o JobTaskGroupTaskVolumeMountOutput) Volume() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupTaskVolumeMount) *string { return v.Volume }).(pulumi.StringPtrOutput) +} + +type JobTaskGroupTaskVolumeMountArrayOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupTaskVolumeMountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupTaskVolumeMount)(nil)).Elem() +} + +func (o JobTaskGroupTaskVolumeMountArrayOutput) ToJobTaskGroupTaskVolumeMountArrayOutput() JobTaskGroupTaskVolumeMountArrayOutput { + return o +} + +func (o JobTaskGroupTaskVolumeMountArrayOutput) ToJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) JobTaskGroupTaskVolumeMountArrayOutput { + return o +} + +func (o JobTaskGroupTaskVolumeMountArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupTaskVolumeMount] { + return pulumix.Output[[]JobTaskGroupTaskVolumeMount]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupTaskVolumeMountArrayOutput) Index(i pulumi.IntInput) JobTaskGroupTaskVolumeMountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupTaskVolumeMount { + return vs[0].([]JobTaskGroupTaskVolumeMount)[vs[1].(int)] + }).(JobTaskGroupTaskVolumeMountOutput) +} + +type JobTaskGroupVolume struct { + Name *string `pulumi:"name"` + ReadOnly *bool `pulumi:"readOnly"` + Source *string `pulumi:"source"` + Type *string `pulumi:"type"` +} + +// JobTaskGroupVolumeInput is an input type that accepts JobTaskGroupVolumeArgs and JobTaskGroupVolumeOutput values. +// You can construct a concrete instance of `JobTaskGroupVolumeInput` via: +// +// JobTaskGroupVolumeArgs{...} +type JobTaskGroupVolumeInput interface { + pulumi.Input + + ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput + ToJobTaskGroupVolumeOutputWithContext(context.Context) JobTaskGroupVolumeOutput +} + +type JobTaskGroupVolumeArgs struct { + Name pulumi.StringPtrInput `pulumi:"name"` + ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` + Source pulumi.StringPtrInput `pulumi:"source"` + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (JobTaskGroupVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupVolume)(nil)).Elem() +} + +func (i JobTaskGroupVolumeArgs) ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput { + return i.ToJobTaskGroupVolumeOutputWithContext(context.Background()) +} + +func (i JobTaskGroupVolumeArgs) ToJobTaskGroupVolumeOutputWithContext(ctx context.Context) JobTaskGroupVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupVolumeOutput) +} + +func (i JobTaskGroupVolumeArgs) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupVolume] { + return pulumix.Output[JobTaskGroupVolume]{ + OutputState: i.ToJobTaskGroupVolumeOutputWithContext(ctx).OutputState, + } +} + +// JobTaskGroupVolumeArrayInput is an input type that accepts JobTaskGroupVolumeArray and JobTaskGroupVolumeArrayOutput values. +// You can construct a concrete instance of `JobTaskGroupVolumeArrayInput` via: +// +// JobTaskGroupVolumeArray{ JobTaskGroupVolumeArgs{...} } +type JobTaskGroupVolumeArrayInput interface { + pulumi.Input + + ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput + ToJobTaskGroupVolumeArrayOutputWithContext(context.Context) JobTaskGroupVolumeArrayOutput +} + +type JobTaskGroupVolumeArray []JobTaskGroupVolumeInput + +func (JobTaskGroupVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupVolume)(nil)).Elem() +} + +func (i JobTaskGroupVolumeArray) ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput { + return i.ToJobTaskGroupVolumeArrayOutputWithContext(context.Background()) +} + +func (i JobTaskGroupVolumeArray) ToJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) JobTaskGroupVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(JobTaskGroupVolumeArrayOutput) +} + +func (i JobTaskGroupVolumeArray) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupVolume] { + return pulumix.Output[[]JobTaskGroupVolume]{ + OutputState: i.ToJobTaskGroupVolumeArrayOutputWithContext(ctx).OutputState, + } +} + +type JobTaskGroupVolumeOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*JobTaskGroupVolume)(nil)).Elem() +} + +func (o JobTaskGroupVolumeOutput) ToJobTaskGroupVolumeOutput() JobTaskGroupVolumeOutput { + return o +} + +func (o JobTaskGroupVolumeOutput) ToJobTaskGroupVolumeOutputWithContext(ctx context.Context) JobTaskGroupVolumeOutput { + return o +} + +func (o JobTaskGroupVolumeOutput) ToOutput(ctx context.Context) pulumix.Output[JobTaskGroupVolume] { + return pulumix.Output[JobTaskGroupVolume]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupVolumeOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Name }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupVolumeOutput) ReadOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v JobTaskGroupVolume) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +} + +func (o JobTaskGroupVolumeOutput) Source() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Source }).(pulumi.StringPtrOutput) +} + +func (o JobTaskGroupVolumeOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v JobTaskGroupVolume) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type JobTaskGroupVolumeArrayOutput struct{ *pulumi.OutputState } + +func (JobTaskGroupVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]JobTaskGroupVolume)(nil)).Elem() +} + +func (o JobTaskGroupVolumeArrayOutput) ToJobTaskGroupVolumeArrayOutput() JobTaskGroupVolumeArrayOutput { + return o +} + +func (o JobTaskGroupVolumeArrayOutput) ToJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) JobTaskGroupVolumeArrayOutput { + return o +} + +func (o JobTaskGroupVolumeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]JobTaskGroupVolume] { + return pulumix.Output[[]JobTaskGroupVolume]{ + OutputState: o.OutputState, + } +} + +func (o JobTaskGroupVolumeArrayOutput) Index(i pulumi.IntInput) JobTaskGroupVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) JobTaskGroupVolume { + return vs[0].([]JobTaskGroupVolume)[vs[1].(int)] + }).(JobTaskGroupVolumeOutput) +} + +type NamespaceCapabilities struct { + // `([]string: )` - Task drivers disabled for the namespace. + DisabledTaskDrivers []string `pulumi:"disabledTaskDrivers"` + // `([]string: )` - Task drivers enabled for the namespace. + EnabledTaskDrivers []string `pulumi:"enabledTaskDrivers"` +} + +// NamespaceCapabilitiesInput is an input type that accepts NamespaceCapabilitiesArgs and NamespaceCapabilitiesOutput values. +// You can construct a concrete instance of `NamespaceCapabilitiesInput` via: +// +// NamespaceCapabilitiesArgs{...} +type NamespaceCapabilitiesInput interface { + pulumi.Input + + ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput + ToNamespaceCapabilitiesOutputWithContext(context.Context) NamespaceCapabilitiesOutput +} + +type NamespaceCapabilitiesArgs struct { + // `([]string: )` - Task drivers disabled for the namespace. + DisabledTaskDrivers pulumi.StringArrayInput `pulumi:"disabledTaskDrivers"` + // `([]string: )` - Task drivers enabled for the namespace. + EnabledTaskDrivers pulumi.StringArrayInput `pulumi:"enabledTaskDrivers"` +} + +func (NamespaceCapabilitiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceCapabilities)(nil)).Elem() +} + +func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput { + return i.ToNamespaceCapabilitiesOutputWithContext(context.Background()) +} + +func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesOutputWithContext(ctx context.Context) NamespaceCapabilitiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesOutput) +} + +func (i NamespaceCapabilitiesArgs) ToOutput(ctx context.Context) pulumix.Output[NamespaceCapabilities] { + return pulumix.Output[NamespaceCapabilities]{ + OutputState: i.ToNamespaceCapabilitiesOutputWithContext(ctx).OutputState, + } +} + +func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { + return i.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (i NamespaceCapabilitiesArgs) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesOutput).ToNamespaceCapabilitiesPtrOutputWithContext(ctx) +} + +// NamespaceCapabilitiesPtrInput is an input type that accepts NamespaceCapabilitiesArgs, NamespaceCapabilitiesPtr and NamespaceCapabilitiesPtrOutput values. +// You can construct a concrete instance of `NamespaceCapabilitiesPtrInput` via: +// +// NamespaceCapabilitiesArgs{...} +// +// or: +// +// nil +type NamespaceCapabilitiesPtrInput interface { + pulumi.Input + + ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput + ToNamespaceCapabilitiesPtrOutputWithContext(context.Context) NamespaceCapabilitiesPtrOutput +} + +type namespaceCapabilitiesPtrType NamespaceCapabilitiesArgs + +func NamespaceCapabilitiesPtr(v *NamespaceCapabilitiesArgs) NamespaceCapabilitiesPtrInput { + return (*namespaceCapabilitiesPtrType)(v) +} + +func (*namespaceCapabilitiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceCapabilities)(nil)).Elem() +} + +func (i *namespaceCapabilitiesPtrType) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { + return i.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (i *namespaceCapabilitiesPtrType) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceCapabilitiesPtrOutput) +} + +func (i *namespaceCapabilitiesPtrType) ToOutput(ctx context.Context) pulumix.Output[*NamespaceCapabilities] { + return pulumix.Output[*NamespaceCapabilities]{ + OutputState: i.ToNamespaceCapabilitiesPtrOutputWithContext(ctx).OutputState, + } +} + +type NamespaceCapabilitiesOutput struct{ *pulumi.OutputState } + +func (NamespaceCapabilitiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceCapabilities)(nil)).Elem() +} + +func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesOutput() NamespaceCapabilitiesOutput { + return o +} + +func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesOutputWithContext(ctx context.Context) NamespaceCapabilitiesOutput { + return o +} + +func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { + return o.ToNamespaceCapabilitiesPtrOutputWithContext(context.Background()) +} + +func (o NamespaceCapabilitiesOutput) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NamespaceCapabilities) *NamespaceCapabilities { + return &v + }).(NamespaceCapabilitiesPtrOutput) +} + +func (o NamespaceCapabilitiesOutput) ToOutput(ctx context.Context) pulumix.Output[NamespaceCapabilities] { + return pulumix.Output[NamespaceCapabilities]{ + OutputState: o.OutputState, + } +} + +// `([]string: )` - Task drivers disabled for the namespace. +func (o NamespaceCapabilitiesOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NamespaceCapabilities) []string { return v.DisabledTaskDrivers }).(pulumi.StringArrayOutput) +} + +// `([]string: )` - Task drivers enabled for the namespace. +func (o NamespaceCapabilitiesOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NamespaceCapabilities) []string { return v.EnabledTaskDrivers }).(pulumi.StringArrayOutput) +} + +type NamespaceCapabilitiesPtrOutput struct{ *pulumi.OutputState } + +func (NamespaceCapabilitiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceCapabilities)(nil)).Elem() +} + +func (o NamespaceCapabilitiesPtrOutput) ToNamespaceCapabilitiesPtrOutput() NamespaceCapabilitiesPtrOutput { + return o +} + +func (o NamespaceCapabilitiesPtrOutput) ToNamespaceCapabilitiesPtrOutputWithContext(ctx context.Context) NamespaceCapabilitiesPtrOutput { + return o +} + +func (o NamespaceCapabilitiesPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*NamespaceCapabilities] { + return pulumix.Output[*NamespaceCapabilities]{ + OutputState: o.OutputState, + } +} + +func (o NamespaceCapabilitiesPtrOutput) Elem() NamespaceCapabilitiesOutput { + return o.ApplyT(func(v *NamespaceCapabilities) NamespaceCapabilities { + if v != nil { + return *v + } + var ret NamespaceCapabilities + return ret + }).(NamespaceCapabilitiesOutput) +} + +// `([]string: )` - Task drivers disabled for the namespace. +func (o NamespaceCapabilitiesPtrOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NamespaceCapabilities) []string { + if v == nil { + return nil + } + return v.DisabledTaskDrivers + }).(pulumi.StringArrayOutput) +} + +// `([]string: )` - Task drivers enabled for the namespace. +func (o NamespaceCapabilitiesPtrOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NamespaceCapabilities) []string { + if v == nil { + return nil + } + return v.EnabledTaskDrivers + }).(pulumi.StringArrayOutput) +} + +type NamespaceNodePoolConfig struct { + // `([]string: )` - The list of node pools that are allowed to be used in this namespace. + Alloweds []string `pulumi:"alloweds"` + // `(string: )` - The default node pool for jobs that don't define one. + Default *string `pulumi:"default"` + // `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + Denieds []string `pulumi:"denieds"` +} + +// NamespaceNodePoolConfigInput is an input type that accepts NamespaceNodePoolConfigArgs and NamespaceNodePoolConfigOutput values. +// You can construct a concrete instance of `NamespaceNodePoolConfigInput` via: +// +// NamespaceNodePoolConfigArgs{...} +type NamespaceNodePoolConfigInput interface { + pulumi.Input + + ToNamespaceNodePoolConfigOutput() NamespaceNodePoolConfigOutput + ToNamespaceNodePoolConfigOutputWithContext(context.Context) NamespaceNodePoolConfigOutput +} + +type NamespaceNodePoolConfigArgs struct { + // `([]string: )` - The list of node pools that are allowed to be used in this namespace. + Alloweds pulumi.StringArrayInput `pulumi:"alloweds"` + // `(string: )` - The default node pool for jobs that don't define one. + Default pulumi.StringPtrInput `pulumi:"default"` + // `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + Denieds pulumi.StringArrayInput `pulumi:"denieds"` +} + +func (NamespaceNodePoolConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceNodePoolConfig)(nil)).Elem() +} + +func (i NamespaceNodePoolConfigArgs) ToNamespaceNodePoolConfigOutput() NamespaceNodePoolConfigOutput { + return i.ToNamespaceNodePoolConfigOutputWithContext(context.Background()) +} + +func (i NamespaceNodePoolConfigArgs) ToNamespaceNodePoolConfigOutputWithContext(ctx context.Context) NamespaceNodePoolConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceNodePoolConfigOutput) +} + +func (i NamespaceNodePoolConfigArgs) ToOutput(ctx context.Context) pulumix.Output[NamespaceNodePoolConfig] { + return pulumix.Output[NamespaceNodePoolConfig]{ + OutputState: i.ToNamespaceNodePoolConfigOutputWithContext(ctx).OutputState, + } +} + +func (i NamespaceNodePoolConfigArgs) ToNamespaceNodePoolConfigPtrOutput() NamespaceNodePoolConfigPtrOutput { + return i.ToNamespaceNodePoolConfigPtrOutputWithContext(context.Background()) +} + +func (i NamespaceNodePoolConfigArgs) ToNamespaceNodePoolConfigPtrOutputWithContext(ctx context.Context) NamespaceNodePoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceNodePoolConfigOutput).ToNamespaceNodePoolConfigPtrOutputWithContext(ctx) +} + +// NamespaceNodePoolConfigPtrInput is an input type that accepts NamespaceNodePoolConfigArgs, NamespaceNodePoolConfigPtr and NamespaceNodePoolConfigPtrOutput values. +// You can construct a concrete instance of `NamespaceNodePoolConfigPtrInput` via: +// +// NamespaceNodePoolConfigArgs{...} +// +// or: +// +// nil +type NamespaceNodePoolConfigPtrInput interface { + pulumi.Input + + ToNamespaceNodePoolConfigPtrOutput() NamespaceNodePoolConfigPtrOutput + ToNamespaceNodePoolConfigPtrOutputWithContext(context.Context) NamespaceNodePoolConfigPtrOutput +} + +type namespaceNodePoolConfigPtrType NamespaceNodePoolConfigArgs + +func NamespaceNodePoolConfigPtr(v *NamespaceNodePoolConfigArgs) NamespaceNodePoolConfigPtrInput { + return (*namespaceNodePoolConfigPtrType)(v) +} + +func (*namespaceNodePoolConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceNodePoolConfig)(nil)).Elem() +} + +func (i *namespaceNodePoolConfigPtrType) ToNamespaceNodePoolConfigPtrOutput() NamespaceNodePoolConfigPtrOutput { + return i.ToNamespaceNodePoolConfigPtrOutputWithContext(context.Background()) +} + +func (i *namespaceNodePoolConfigPtrType) ToNamespaceNodePoolConfigPtrOutputWithContext(ctx context.Context) NamespaceNodePoolConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NamespaceNodePoolConfigPtrOutput) +} + +func (i *namespaceNodePoolConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*NamespaceNodePoolConfig] { + return pulumix.Output[*NamespaceNodePoolConfig]{ + OutputState: i.ToNamespaceNodePoolConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type NamespaceNodePoolConfigOutput struct{ *pulumi.OutputState } + +func (NamespaceNodePoolConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NamespaceNodePoolConfig)(nil)).Elem() +} + +func (o NamespaceNodePoolConfigOutput) ToNamespaceNodePoolConfigOutput() NamespaceNodePoolConfigOutput { + return o +} + +func (o NamespaceNodePoolConfigOutput) ToNamespaceNodePoolConfigOutputWithContext(ctx context.Context) NamespaceNodePoolConfigOutput { + return o +} + +func (o NamespaceNodePoolConfigOutput) ToNamespaceNodePoolConfigPtrOutput() NamespaceNodePoolConfigPtrOutput { + return o.ToNamespaceNodePoolConfigPtrOutputWithContext(context.Background()) +} + +func (o NamespaceNodePoolConfigOutput) ToNamespaceNodePoolConfigPtrOutputWithContext(ctx context.Context) NamespaceNodePoolConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NamespaceNodePoolConfig) *NamespaceNodePoolConfig { + return &v + }).(NamespaceNodePoolConfigPtrOutput) +} + +func (o NamespaceNodePoolConfigOutput) ToOutput(ctx context.Context) pulumix.Output[NamespaceNodePoolConfig] { + return pulumix.Output[NamespaceNodePoolConfig]{ + OutputState: o.OutputState, + } +} + +// `([]string: )` - The list of node pools that are allowed to be used in this namespace. +func (o NamespaceNodePoolConfigOutput) Alloweds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NamespaceNodePoolConfig) []string { return v.Alloweds }).(pulumi.StringArrayOutput) +} + +// `(string: )` - The default node pool for jobs that don't define one. +func (o NamespaceNodePoolConfigOutput) Default() pulumi.StringPtrOutput { + return o.ApplyT(func(v NamespaceNodePoolConfig) *string { return v.Default }).(pulumi.StringPtrOutput) +} + +// `([]string: )` - The list of node pools that are not allowed to be used in this namespace. +func (o NamespaceNodePoolConfigOutput) Denieds() pulumi.StringArrayOutput { + return o.ApplyT(func(v NamespaceNodePoolConfig) []string { return v.Denieds }).(pulumi.StringArrayOutput) +} + +type NamespaceNodePoolConfigPtrOutput struct{ *pulumi.OutputState } + +func (NamespaceNodePoolConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NamespaceNodePoolConfig)(nil)).Elem() +} + +func (o NamespaceNodePoolConfigPtrOutput) ToNamespaceNodePoolConfigPtrOutput() NamespaceNodePoolConfigPtrOutput { + return o +} + +func (o NamespaceNodePoolConfigPtrOutput) ToNamespaceNodePoolConfigPtrOutputWithContext(ctx context.Context) NamespaceNodePoolConfigPtrOutput { + return o +} + +func (o NamespaceNodePoolConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*NamespaceNodePoolConfig] { + return pulumix.Output[*NamespaceNodePoolConfig]{ + OutputState: o.OutputState, + } +} + +func (o NamespaceNodePoolConfigPtrOutput) Elem() NamespaceNodePoolConfigOutput { + return o.ApplyT(func(v *NamespaceNodePoolConfig) NamespaceNodePoolConfig { + if v != nil { + return *v + } + var ret NamespaceNodePoolConfig + return ret + }).(NamespaceNodePoolConfigOutput) +} + +// `([]string: )` - The list of node pools that are allowed to be used in this namespace. +func (o NamespaceNodePoolConfigPtrOutput) Alloweds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NamespaceNodePoolConfig) []string { + if v == nil { + return nil + } + return v.Alloweds + }).(pulumi.StringArrayOutput) +} + +// `(string: )` - The default node pool for jobs that don't define one. +func (o NamespaceNodePoolConfigPtrOutput) Default() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NamespaceNodePoolConfig) *string { + if v == nil { + return nil + } + return v.Default + }).(pulumi.StringPtrOutput) +} + +// `([]string: )` - The list of node pools that are not allowed to be used in this namespace. +func (o NamespaceNodePoolConfigPtrOutput) Denieds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NamespaceNodePoolConfig) []string { + if v == nil { + return nil + } + return v.Denieds + }).(pulumi.StringArrayOutput) +} + +type NodePoolSchedulerConfig struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. Possible values are + // `"enabled"` or `"disabled"`. If not defined the global cluster + // configuration is used. + // + // > This option differs from Nomad, where it's represented as a boolean, to + // allow distinguishing between memory oversubscription being disabled in the + // node pool and this property not being set. + MemoryOversubscription *string `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. Possible values are `binpack` or `spread`. If not defined the global + // cluster configuration is used. + SchedulerAlgorithm *string `pulumi:"schedulerAlgorithm"` +} + +// NodePoolSchedulerConfigInput is an input type that accepts NodePoolSchedulerConfigArgs and NodePoolSchedulerConfigOutput values. +// You can construct a concrete instance of `NodePoolSchedulerConfigInput` via: +// +// NodePoolSchedulerConfigArgs{...} +type NodePoolSchedulerConfigInput interface { + pulumi.Input + + ToNodePoolSchedulerConfigOutput() NodePoolSchedulerConfigOutput + ToNodePoolSchedulerConfigOutputWithContext(context.Context) NodePoolSchedulerConfigOutput +} + +type NodePoolSchedulerConfigArgs struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. Possible values are + // `"enabled"` or `"disabled"`. If not defined the global cluster + // configuration is used. + // + // > This option differs from Nomad, where it's represented as a boolean, to + // allow distinguishing between memory oversubscription being disabled in the + // node pool and this property not being set. + MemoryOversubscription pulumi.StringPtrInput `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. Possible values are `binpack` or `spread`. If not defined the global + // cluster configuration is used. + SchedulerAlgorithm pulumi.StringPtrInput `pulumi:"schedulerAlgorithm"` +} + +func (NodePoolSchedulerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolSchedulerConfig)(nil)).Elem() +} + +func (i NodePoolSchedulerConfigArgs) ToNodePoolSchedulerConfigOutput() NodePoolSchedulerConfigOutput { + return i.ToNodePoolSchedulerConfigOutputWithContext(context.Background()) +} + +func (i NodePoolSchedulerConfigArgs) ToNodePoolSchedulerConfigOutputWithContext(ctx context.Context) NodePoolSchedulerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolSchedulerConfigOutput) +} + +func (i NodePoolSchedulerConfigArgs) ToOutput(ctx context.Context) pulumix.Output[NodePoolSchedulerConfig] { + return pulumix.Output[NodePoolSchedulerConfig]{ + OutputState: i.ToNodePoolSchedulerConfigOutputWithContext(ctx).OutputState, + } +} + +func (i NodePoolSchedulerConfigArgs) ToNodePoolSchedulerConfigPtrOutput() NodePoolSchedulerConfigPtrOutput { + return i.ToNodePoolSchedulerConfigPtrOutputWithContext(context.Background()) +} + +func (i NodePoolSchedulerConfigArgs) ToNodePoolSchedulerConfigPtrOutputWithContext(ctx context.Context) NodePoolSchedulerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolSchedulerConfigOutput).ToNodePoolSchedulerConfigPtrOutputWithContext(ctx) +} + +// NodePoolSchedulerConfigPtrInput is an input type that accepts NodePoolSchedulerConfigArgs, NodePoolSchedulerConfigPtr and NodePoolSchedulerConfigPtrOutput values. +// You can construct a concrete instance of `NodePoolSchedulerConfigPtrInput` via: +// +// NodePoolSchedulerConfigArgs{...} +// +// or: +// +// nil +type NodePoolSchedulerConfigPtrInput interface { + pulumi.Input + + ToNodePoolSchedulerConfigPtrOutput() NodePoolSchedulerConfigPtrOutput + ToNodePoolSchedulerConfigPtrOutputWithContext(context.Context) NodePoolSchedulerConfigPtrOutput +} + +type nodePoolSchedulerConfigPtrType NodePoolSchedulerConfigArgs + +func NodePoolSchedulerConfigPtr(v *NodePoolSchedulerConfigArgs) NodePoolSchedulerConfigPtrInput { + return (*nodePoolSchedulerConfigPtrType)(v) +} + +func (*nodePoolSchedulerConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolSchedulerConfig)(nil)).Elem() +} + +func (i *nodePoolSchedulerConfigPtrType) ToNodePoolSchedulerConfigPtrOutput() NodePoolSchedulerConfigPtrOutput { + return i.ToNodePoolSchedulerConfigPtrOutputWithContext(context.Background()) +} + +func (i *nodePoolSchedulerConfigPtrType) ToNodePoolSchedulerConfigPtrOutputWithContext(ctx context.Context) NodePoolSchedulerConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NodePoolSchedulerConfigPtrOutput) +} + +func (i *nodePoolSchedulerConfigPtrType) ToOutput(ctx context.Context) pulumix.Output[*NodePoolSchedulerConfig] { + return pulumix.Output[*NodePoolSchedulerConfig]{ + OutputState: i.ToNodePoolSchedulerConfigPtrOutputWithContext(ctx).OutputState, + } +} + +type NodePoolSchedulerConfigOutput struct{ *pulumi.OutputState } + +func (NodePoolSchedulerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NodePoolSchedulerConfig)(nil)).Elem() +} + +func (o NodePoolSchedulerConfigOutput) ToNodePoolSchedulerConfigOutput() NodePoolSchedulerConfigOutput { + return o +} + +func (o NodePoolSchedulerConfigOutput) ToNodePoolSchedulerConfigOutputWithContext(ctx context.Context) NodePoolSchedulerConfigOutput { + return o +} + +func (o NodePoolSchedulerConfigOutput) ToNodePoolSchedulerConfigPtrOutput() NodePoolSchedulerConfigPtrOutput { + return o.ToNodePoolSchedulerConfigPtrOutputWithContext(context.Background()) +} + +func (o NodePoolSchedulerConfigOutput) ToNodePoolSchedulerConfigPtrOutputWithContext(ctx context.Context) NodePoolSchedulerConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NodePoolSchedulerConfig) *NodePoolSchedulerConfig { + return &v + }).(NodePoolSchedulerConfigPtrOutput) +} + +func (o NodePoolSchedulerConfigOutput) ToOutput(ctx context.Context) pulumix.Output[NodePoolSchedulerConfig] { + return pulumix.Output[NodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } +} + +// `(string)` - Whether or not memory +// oversubscription is enabled in the node pool. Possible values are +// `"enabled"` or `"disabled"`. If not defined the global cluster +// configuration is used. +// +// > This option differs from Nomad, where it's represented as a boolean, to +// allow distinguishing between memory oversubscription being disabled in the +// node pool and this property not being set. +func (o NodePoolSchedulerConfigOutput) MemoryOversubscription() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolSchedulerConfig) *string { return v.MemoryOversubscription }).(pulumi.StringPtrOutput) +} + +// `(string)` - The scheduler algorithm used in the node +// pool. Possible values are `binpack` or `spread`. If not defined the global +// cluster configuration is used. +func (o NodePoolSchedulerConfigOutput) SchedulerAlgorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v NodePoolSchedulerConfig) *string { return v.SchedulerAlgorithm }).(pulumi.StringPtrOutput) +} + +type NodePoolSchedulerConfigPtrOutput struct{ *pulumi.OutputState } + +func (NodePoolSchedulerConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NodePoolSchedulerConfig)(nil)).Elem() +} + +func (o NodePoolSchedulerConfigPtrOutput) ToNodePoolSchedulerConfigPtrOutput() NodePoolSchedulerConfigPtrOutput { + return o +} + +func (o NodePoolSchedulerConfigPtrOutput) ToNodePoolSchedulerConfigPtrOutputWithContext(ctx context.Context) NodePoolSchedulerConfigPtrOutput { + return o +} + +func (o NodePoolSchedulerConfigPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*NodePoolSchedulerConfig] { + return pulumix.Output[*NodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } +} + +func (o NodePoolSchedulerConfigPtrOutput) Elem() NodePoolSchedulerConfigOutput { + return o.ApplyT(func(v *NodePoolSchedulerConfig) NodePoolSchedulerConfig { + if v != nil { + return *v + } + var ret NodePoolSchedulerConfig + return ret + }).(NodePoolSchedulerConfigOutput) +} + +// `(string)` - Whether or not memory +// oversubscription is enabled in the node pool. Possible values are +// `"enabled"` or `"disabled"`. If not defined the global cluster +// configuration is used. +// +// > This option differs from Nomad, where it's represented as a boolean, to +// allow distinguishing between memory oversubscription being disabled in the +// node pool and this property not being set. +func (o NodePoolSchedulerConfigPtrOutput) MemoryOversubscription() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolSchedulerConfig) *string { + if v == nil { + return nil + } + return v.MemoryOversubscription + }).(pulumi.StringPtrOutput) +} + +// `(string)` - The scheduler algorithm used in the node +// pool. Possible values are `binpack` or `spread`. If not defined the global +// cluster configuration is used. +func (o NodePoolSchedulerConfigPtrOutput) SchedulerAlgorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NodePoolSchedulerConfig) *string { + if v == nil { + return nil + } + return v.SchedulerAlgorithm + }).(pulumi.StringPtrOutput) +} + +type ProviderHeader struct { + Name string `pulumi:"name"` + Value string `pulumi:"value"` +} + +// ProviderHeaderInput is an input type that accepts ProviderHeaderArgs and ProviderHeaderOutput values. +// You can construct a concrete instance of `ProviderHeaderInput` via: +// +// ProviderHeaderArgs{...} +type ProviderHeaderInput interface { + pulumi.Input + + ToProviderHeaderOutput() ProviderHeaderOutput + ToProviderHeaderOutputWithContext(context.Context) ProviderHeaderOutput +} + +type ProviderHeaderArgs struct { + Name pulumi.StringInput `pulumi:"name"` + Value pulumi.StringInput `pulumi:"value"` +} + +func (ProviderHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderHeader)(nil)).Elem() +} + +func (i ProviderHeaderArgs) ToProviderHeaderOutput() ProviderHeaderOutput { + return i.ToProviderHeaderOutputWithContext(context.Background()) +} + +func (i ProviderHeaderArgs) ToProviderHeaderOutputWithContext(ctx context.Context) ProviderHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderHeaderOutput) +} + +func (i ProviderHeaderArgs) ToOutput(ctx context.Context) pulumix.Output[ProviderHeader] { + return pulumix.Output[ProviderHeader]{ + OutputState: i.ToProviderHeaderOutputWithContext(ctx).OutputState, + } +} + +// ProviderHeaderArrayInput is an input type that accepts ProviderHeaderArray and ProviderHeaderArrayOutput values. +// You can construct a concrete instance of `ProviderHeaderArrayInput` via: +// +// ProviderHeaderArray{ ProviderHeaderArgs{...} } +type ProviderHeaderArrayInput interface { + pulumi.Input + + ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput + ToProviderHeaderArrayOutputWithContext(context.Context) ProviderHeaderArrayOutput +} + +type ProviderHeaderArray []ProviderHeaderInput + +func (ProviderHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProviderHeader)(nil)).Elem() +} + +func (i ProviderHeaderArray) ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput { + return i.ToProviderHeaderArrayOutputWithContext(context.Background()) +} + +func (i ProviderHeaderArray) ToProviderHeaderArrayOutputWithContext(ctx context.Context) ProviderHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ProviderHeaderArrayOutput) +} + +func (i ProviderHeaderArray) ToOutput(ctx context.Context) pulumix.Output[[]ProviderHeader] { + return pulumix.Output[[]ProviderHeader]{ + OutputState: i.ToProviderHeaderArrayOutputWithContext(ctx).OutputState, + } +} + +type ProviderHeaderOutput struct{ *pulumi.OutputState } + +func (ProviderHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ProviderHeader)(nil)).Elem() +} + +func (o ProviderHeaderOutput) ToProviderHeaderOutput() ProviderHeaderOutput { + return o +} + +func (o ProviderHeaderOutput) ToProviderHeaderOutputWithContext(ctx context.Context) ProviderHeaderOutput { + return o +} + +func (o ProviderHeaderOutput) ToOutput(ctx context.Context) pulumix.Output[ProviderHeader] { + return pulumix.Output[ProviderHeader]{ + OutputState: o.OutputState, + } +} + +func (o ProviderHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ProviderHeader) string { return v.Name }).(pulumi.StringOutput) +} + +func (o ProviderHeaderOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ProviderHeader) string { return v.Value }).(pulumi.StringOutput) +} + +type ProviderHeaderArrayOutput struct{ *pulumi.OutputState } + +func (ProviderHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ProviderHeader)(nil)).Elem() +} + +func (o ProviderHeaderArrayOutput) ToProviderHeaderArrayOutput() ProviderHeaderArrayOutput { + return o +} + +func (o ProviderHeaderArrayOutput) ToProviderHeaderArrayOutputWithContext(ctx context.Context) ProviderHeaderArrayOutput { + return o +} + +func (o ProviderHeaderArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]ProviderHeader] { + return pulumix.Output[[]ProviderHeader]{ + OutputState: o.OutputState, + } +} + +func (o ProviderHeaderArrayOutput) Index(i pulumi.IntInput) ProviderHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ProviderHeader { + return vs[0].([]ProviderHeader)[vs[1].(int)] + }).(ProviderHeaderOutput) +} + +type QuoteSpecificationLimit struct { + // `(string: )` - The region these limits should apply to. + Region string `pulumi:"region"` + // `(block: )` - The limits to enforce. This block + // may only be specified once in the `limits` block. Its structure is + // documented below. + RegionLimit QuoteSpecificationLimitRegionLimit `pulumi:"regionLimit"` +} + +// QuoteSpecificationLimitInput is an input type that accepts QuoteSpecificationLimitArgs and QuoteSpecificationLimitOutput values. +// You can construct a concrete instance of `QuoteSpecificationLimitInput` via: +// +// QuoteSpecificationLimitArgs{...} +type QuoteSpecificationLimitInput interface { + pulumi.Input + + ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput + ToQuoteSpecificationLimitOutputWithContext(context.Context) QuoteSpecificationLimitOutput +} + +type QuoteSpecificationLimitArgs struct { + // `(string: )` - The region these limits should apply to. + Region pulumi.StringInput `pulumi:"region"` + // `(block: )` - The limits to enforce. This block + // may only be specified once in the `limits` block. Its structure is + // documented below. + RegionLimit QuoteSpecificationLimitRegionLimitInput `pulumi:"regionLimit"` +} + +func (QuoteSpecificationLimitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QuoteSpecificationLimit)(nil)).Elem() +} + +func (i QuoteSpecificationLimitArgs) ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput { + return i.ToQuoteSpecificationLimitOutputWithContext(context.Background()) +} + +func (i QuoteSpecificationLimitArgs) ToQuoteSpecificationLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitOutput { + return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitOutput) +} + +func (i QuoteSpecificationLimitArgs) ToOutput(ctx context.Context) pulumix.Output[QuoteSpecificationLimit] { + return pulumix.Output[QuoteSpecificationLimit]{ + OutputState: i.ToQuoteSpecificationLimitOutputWithContext(ctx).OutputState, + } +} + +// QuoteSpecificationLimitArrayInput is an input type that accepts QuoteSpecificationLimitArray and QuoteSpecificationLimitArrayOutput values. +// You can construct a concrete instance of `QuoteSpecificationLimitArrayInput` via: +// +// QuoteSpecificationLimitArray{ QuoteSpecificationLimitArgs{...} } +type QuoteSpecificationLimitArrayInput interface { + pulumi.Input + + ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput + ToQuoteSpecificationLimitArrayOutputWithContext(context.Context) QuoteSpecificationLimitArrayOutput +} + +type QuoteSpecificationLimitArray []QuoteSpecificationLimitInput + +func (QuoteSpecificationLimitArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]QuoteSpecificationLimit)(nil)).Elem() +} + +func (i QuoteSpecificationLimitArray) ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput { + return i.ToQuoteSpecificationLimitArrayOutputWithContext(context.Background()) +} + +func (i QuoteSpecificationLimitArray) ToQuoteSpecificationLimitArrayOutputWithContext(ctx context.Context) QuoteSpecificationLimitArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitArrayOutput) +} + +func (i QuoteSpecificationLimitArray) ToOutput(ctx context.Context) pulumix.Output[[]QuoteSpecificationLimit] { + return pulumix.Output[[]QuoteSpecificationLimit]{ + OutputState: i.ToQuoteSpecificationLimitArrayOutputWithContext(ctx).OutputState, + } +} + +type QuoteSpecificationLimitOutput struct{ *pulumi.OutputState } + +func (QuoteSpecificationLimitOutput) ElementType() reflect.Type { + return reflect.TypeOf((*QuoteSpecificationLimit)(nil)).Elem() +} + +func (o QuoteSpecificationLimitOutput) ToQuoteSpecificationLimitOutput() QuoteSpecificationLimitOutput { + return o +} + +func (o QuoteSpecificationLimitOutput) ToQuoteSpecificationLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitOutput { + return o +} + +func (o QuoteSpecificationLimitOutput) ToOutput(ctx context.Context) pulumix.Output[QuoteSpecificationLimit] { + return pulumix.Output[QuoteSpecificationLimit]{ + OutputState: o.OutputState, + } +} + +// `(string: )` - The region these limits should apply to. +func (o QuoteSpecificationLimitOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v QuoteSpecificationLimit) string { return v.Region }).(pulumi.StringOutput) +} + +// `(block: )` - The limits to enforce. This block +// may only be specified once in the `limits` block. Its structure is +// documented below. +func (o QuoteSpecificationLimitOutput) RegionLimit() QuoteSpecificationLimitRegionLimitOutput { + return o.ApplyT(func(v QuoteSpecificationLimit) QuoteSpecificationLimitRegionLimit { return v.RegionLimit }).(QuoteSpecificationLimitRegionLimitOutput) +} + +type QuoteSpecificationLimitArrayOutput struct{ *pulumi.OutputState } + +func (QuoteSpecificationLimitArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]QuoteSpecificationLimit)(nil)).Elem() +} + +func (o QuoteSpecificationLimitArrayOutput) ToQuoteSpecificationLimitArrayOutput() QuoteSpecificationLimitArrayOutput { + return o +} + +func (o QuoteSpecificationLimitArrayOutput) ToQuoteSpecificationLimitArrayOutputWithContext(ctx context.Context) QuoteSpecificationLimitArrayOutput { + return o +} + +func (o QuoteSpecificationLimitArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]QuoteSpecificationLimit] { + return pulumix.Output[[]QuoteSpecificationLimit]{ + OutputState: o.OutputState, + } +} + +func (o QuoteSpecificationLimitArrayOutput) Index(i pulumi.IntInput) QuoteSpecificationLimitOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) QuoteSpecificationLimit { + return vs[0].([]QuoteSpecificationLimit)[vs[1].(int)] + }).(QuoteSpecificationLimitOutput) +} + +type QuoteSpecificationLimitRegionLimit struct { + // `(int: 0)` - The amount of CPU to limit allocations to. A value of zero + // is treated as unlimited, and a negative value is treated as fully disallowed. + Cpu *int `pulumi:"cpu"` + // `(int: 0)` - The amount of memory (in megabytes) to limit + // allocations to. A value of zero is treated as unlimited, and a negative value + // is treated as fully disallowed. + MemoryMb *int `pulumi:"memoryMb"` +} + +// QuoteSpecificationLimitRegionLimitInput is an input type that accepts QuoteSpecificationLimitRegionLimitArgs and QuoteSpecificationLimitRegionLimitOutput values. +// You can construct a concrete instance of `QuoteSpecificationLimitRegionLimitInput` via: +// +// QuoteSpecificationLimitRegionLimitArgs{...} +type QuoteSpecificationLimitRegionLimitInput interface { + pulumi.Input + + ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput + ToQuoteSpecificationLimitRegionLimitOutputWithContext(context.Context) QuoteSpecificationLimitRegionLimitOutput +} + +type QuoteSpecificationLimitRegionLimitArgs struct { + // `(int: 0)` - The amount of CPU to limit allocations to. A value of zero + // is treated as unlimited, and a negative value is treated as fully disallowed. + Cpu pulumi.IntPtrInput `pulumi:"cpu"` + // `(int: 0)` - The amount of memory (in megabytes) to limit + // allocations to. A value of zero is treated as unlimited, and a negative value + // is treated as fully disallowed. + MemoryMb pulumi.IntPtrInput `pulumi:"memoryMb"` +} + +func (QuoteSpecificationLimitRegionLimitArgs) ElementType() reflect.Type { + return reflect.TypeOf((*QuoteSpecificationLimitRegionLimit)(nil)).Elem() +} + +func (i QuoteSpecificationLimitRegionLimitArgs) ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput { + return i.ToQuoteSpecificationLimitRegionLimitOutputWithContext(context.Background()) +} + +func (i QuoteSpecificationLimitRegionLimitArgs) ToQuoteSpecificationLimitRegionLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitRegionLimitOutput { + return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationLimitRegionLimitOutput) +} + +func (i QuoteSpecificationLimitRegionLimitArgs) ToOutput(ctx context.Context) pulumix.Output[QuoteSpecificationLimitRegionLimit] { + return pulumix.Output[QuoteSpecificationLimitRegionLimit]{ + OutputState: i.ToQuoteSpecificationLimitRegionLimitOutputWithContext(ctx).OutputState, + } +} + +type QuoteSpecificationLimitRegionLimitOutput struct{ *pulumi.OutputState } + +func (QuoteSpecificationLimitRegionLimitOutput) ElementType() reflect.Type { return reflect.TypeOf((*QuoteSpecificationLimitRegionLimit)(nil)).Elem() } -func (o QuoteSpecificationLimitRegionLimitOutput) ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput { +func (o QuoteSpecificationLimitRegionLimitOutput) ToQuoteSpecificationLimitRegionLimitOutput() QuoteSpecificationLimitRegionLimitOutput { + return o +} + +func (o QuoteSpecificationLimitRegionLimitOutput) ToQuoteSpecificationLimitRegionLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitRegionLimitOutput { + return o +} + +func (o QuoteSpecificationLimitRegionLimitOutput) ToOutput(ctx context.Context) pulumix.Output[QuoteSpecificationLimitRegionLimit] { + return pulumix.Output[QuoteSpecificationLimitRegionLimit]{ + OutputState: o.OutputState, + } +} + +// `(int: 0)` - The amount of CPU to limit allocations to. A value of zero +// is treated as unlimited, and a negative value is treated as fully disallowed. +func (o QuoteSpecificationLimitRegionLimitOutput) Cpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v QuoteSpecificationLimitRegionLimit) *int { return v.Cpu }).(pulumi.IntPtrOutput) +} + +// `(int: 0)` - The amount of memory (in megabytes) to limit +// allocations to. A value of zero is treated as unlimited, and a negative value +// is treated as fully disallowed. +func (o QuoteSpecificationLimitRegionLimitOutput) MemoryMb() pulumi.IntPtrOutput { + return o.ApplyT(func(v QuoteSpecificationLimitRegionLimit) *int { return v.MemoryMb }).(pulumi.IntPtrOutput) +} + +type VolumeCapability struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode string `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode string `pulumi:"attachmentMode"` +} + +// VolumeCapabilityInput is an input type that accepts VolumeCapabilityArgs and VolumeCapabilityOutput values. +// You can construct a concrete instance of `VolumeCapabilityInput` via: +// +// VolumeCapabilityArgs{...} +type VolumeCapabilityInput interface { + pulumi.Input + + ToVolumeCapabilityOutput() VolumeCapabilityOutput + ToVolumeCapabilityOutputWithContext(context.Context) VolumeCapabilityOutput +} + +type VolumeCapabilityArgs struct { + // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + // - `single-node-reader-only` + // - `single-node-writer` + // - `multi-node-reader-only` + // - `multi-node-single-writer` + // - `multi-node-multi-writer` + AccessMode pulumi.StringInput `pulumi:"accessMode"` + // `(string: )` - The storage API that will be used by the volume. Possible values are: + // - `block-device` + // - `file-system` + AttachmentMode pulumi.StringInput `pulumi:"attachmentMode"` +} + +func (VolumeCapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeCapability)(nil)).Elem() +} + +func (i VolumeCapabilityArgs) ToVolumeCapabilityOutput() VolumeCapabilityOutput { + return i.ToVolumeCapabilityOutputWithContext(context.Background()) +} + +func (i VolumeCapabilityArgs) ToVolumeCapabilityOutputWithContext(ctx context.Context) VolumeCapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeCapabilityOutput) +} + +func (i VolumeCapabilityArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeCapability] { + return pulumix.Output[VolumeCapability]{ + OutputState: i.ToVolumeCapabilityOutputWithContext(ctx).OutputState, + } +} + +// VolumeCapabilityArrayInput is an input type that accepts VolumeCapabilityArray and VolumeCapabilityArrayOutput values. +// You can construct a concrete instance of `VolumeCapabilityArrayInput` via: +// +// VolumeCapabilityArray{ VolumeCapabilityArgs{...} } +type VolumeCapabilityArrayInput interface { + pulumi.Input + + ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput + ToVolumeCapabilityArrayOutputWithContext(context.Context) VolumeCapabilityArrayOutput +} + +type VolumeCapabilityArray []VolumeCapabilityInput + +func (VolumeCapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeCapability)(nil)).Elem() +} + +func (i VolumeCapabilityArray) ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput { + return i.ToVolumeCapabilityArrayOutputWithContext(context.Background()) +} + +func (i VolumeCapabilityArray) ToVolumeCapabilityArrayOutputWithContext(ctx context.Context) VolumeCapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeCapabilityArrayOutput) +} + +func (i VolumeCapabilityArray) ToOutput(ctx context.Context) pulumix.Output[[]VolumeCapability] { + return pulumix.Output[[]VolumeCapability]{ + OutputState: i.ToVolumeCapabilityArrayOutputWithContext(ctx).OutputState, + } +} + +type VolumeCapabilityOutput struct{ *pulumi.OutputState } + +func (VolumeCapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeCapability)(nil)).Elem() +} + +func (o VolumeCapabilityOutput) ToVolumeCapabilityOutput() VolumeCapabilityOutput { + return o +} + +func (o VolumeCapabilityOutput) ToVolumeCapabilityOutputWithContext(ctx context.Context) VolumeCapabilityOutput { + return o +} + +func (o VolumeCapabilityOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeCapability] { + return pulumix.Output[VolumeCapability]{ + OutputState: o.OutputState, + } +} + +// `(string: )` - Defines whether a volume should be available concurrently. Possible values are: +// - `single-node-reader-only` +// - `single-node-writer` +// - `multi-node-reader-only` +// - `multi-node-single-writer` +// - `multi-node-multi-writer` +func (o VolumeCapabilityOutput) AccessMode() pulumi.StringOutput { + return o.ApplyT(func(v VolumeCapability) string { return v.AccessMode }).(pulumi.StringOutput) +} + +// `(string: )` - The storage API that will be used by the volume. Possible values are: +// - `block-device` +// - `file-system` +func (o VolumeCapabilityOutput) AttachmentMode() pulumi.StringOutput { + return o.ApplyT(func(v VolumeCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) +} + +type VolumeCapabilityArrayOutput struct{ *pulumi.OutputState } + +func (VolumeCapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeCapability)(nil)).Elem() +} + +func (o VolumeCapabilityArrayOutput) ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput { + return o +} + +func (o VolumeCapabilityArrayOutput) ToVolumeCapabilityArrayOutputWithContext(ctx context.Context) VolumeCapabilityArrayOutput { + return o +} + +func (o VolumeCapabilityArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]VolumeCapability] { + return pulumix.Output[[]VolumeCapability]{ + OutputState: o.OutputState, + } +} + +func (o VolumeCapabilityArrayOutput) Index(i pulumi.IntInput) VolumeCapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeCapability { + return vs[0].([]VolumeCapability)[vs[1].(int)] + }).(VolumeCapabilityOutput) +} + +type VolumeMountOptions struct { + // `(string: )` - The file system type. + FsType *string `pulumi:"fsType"` + // `([]string: )` - The flags passed to `mount`. + MountFlags []string `pulumi:"mountFlags"` +} + +// VolumeMountOptionsInput is an input type that accepts VolumeMountOptionsArgs and VolumeMountOptionsOutput values. +// You can construct a concrete instance of `VolumeMountOptionsInput` via: +// +// VolumeMountOptionsArgs{...} +type VolumeMountOptionsInput interface { + pulumi.Input + + ToVolumeMountOptionsOutput() VolumeMountOptionsOutput + ToVolumeMountOptionsOutputWithContext(context.Context) VolumeMountOptionsOutput +} + +type VolumeMountOptionsArgs struct { + // `(string: )` - The file system type. + FsType pulumi.StringPtrInput `pulumi:"fsType"` + // `([]string: )` - The flags passed to `mount`. + MountFlags pulumi.StringArrayInput `pulumi:"mountFlags"` +} + +func (VolumeMountOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeMountOptions)(nil)).Elem() +} + +func (i VolumeMountOptionsArgs) ToVolumeMountOptionsOutput() VolumeMountOptionsOutput { + return i.ToVolumeMountOptionsOutputWithContext(context.Background()) +} + +func (i VolumeMountOptionsArgs) ToVolumeMountOptionsOutputWithContext(ctx context.Context) VolumeMountOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsOutput) +} + +func (i VolumeMountOptionsArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeMountOptions] { + return pulumix.Output[VolumeMountOptions]{ + OutputState: i.ToVolumeMountOptionsOutputWithContext(ctx).OutputState, + } +} + +func (i VolumeMountOptionsArgs) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { + return i.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) +} + +func (i VolumeMountOptionsArgs) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsOutput).ToVolumeMountOptionsPtrOutputWithContext(ctx) +} + +// VolumeMountOptionsPtrInput is an input type that accepts VolumeMountOptionsArgs, VolumeMountOptionsPtr and VolumeMountOptionsPtrOutput values. +// You can construct a concrete instance of `VolumeMountOptionsPtrInput` via: +// +// VolumeMountOptionsArgs{...} +// +// or: +// +// nil +type VolumeMountOptionsPtrInput interface { + pulumi.Input + + ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput + ToVolumeMountOptionsPtrOutputWithContext(context.Context) VolumeMountOptionsPtrOutput +} + +type volumeMountOptionsPtrType VolumeMountOptionsArgs + +func VolumeMountOptionsPtr(v *VolumeMountOptionsArgs) VolumeMountOptionsPtrInput { + return (*volumeMountOptionsPtrType)(v) +} + +func (*volumeMountOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeMountOptions)(nil)).Elem() +} + +func (i *volumeMountOptionsPtrType) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { + return i.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) +} + +func (i *volumeMountOptionsPtrType) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsPtrOutput) +} + +func (i *volumeMountOptionsPtrType) ToOutput(ctx context.Context) pulumix.Output[*VolumeMountOptions] { + return pulumix.Output[*VolumeMountOptions]{ + OutputState: i.ToVolumeMountOptionsPtrOutputWithContext(ctx).OutputState, + } +} + +type VolumeMountOptionsOutput struct{ *pulumi.OutputState } + +func (VolumeMountOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeMountOptions)(nil)).Elem() +} + +func (o VolumeMountOptionsOutput) ToVolumeMountOptionsOutput() VolumeMountOptionsOutput { + return o +} + +func (o VolumeMountOptionsOutput) ToVolumeMountOptionsOutputWithContext(ctx context.Context) VolumeMountOptionsOutput { + return o +} + +func (o VolumeMountOptionsOutput) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { + return o.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) +} + +func (o VolumeMountOptionsOutput) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeMountOptions) *VolumeMountOptions { + return &v + }).(VolumeMountOptionsPtrOutput) +} + +func (o VolumeMountOptionsOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeMountOptions] { + return pulumix.Output[VolumeMountOptions]{ + OutputState: o.OutputState, + } +} + +// `(string: )` - The file system type. +func (o VolumeMountOptionsOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v VolumeMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) +} + +// `([]string: )` - The flags passed to `mount`. +func (o VolumeMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v VolumeMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) +} + +type VolumeMountOptionsPtrOutput struct{ *pulumi.OutputState } + +func (VolumeMountOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeMountOptions)(nil)).Elem() +} + +func (o VolumeMountOptionsPtrOutput) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { + return o +} + +func (o VolumeMountOptionsPtrOutput) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { + return o +} + +func (o VolumeMountOptionsPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*VolumeMountOptions] { + return pulumix.Output[*VolumeMountOptions]{ + OutputState: o.OutputState, + } +} + +func (o VolumeMountOptionsPtrOutput) Elem() VolumeMountOptionsOutput { + return o.ApplyT(func(v *VolumeMountOptions) VolumeMountOptions { + if v != nil { + return *v + } + var ret VolumeMountOptions + return ret + }).(VolumeMountOptionsOutput) +} + +// `(string: )` - The file system type. +func (o VolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeMountOptions) *string { + if v == nil { + return nil + } + return v.FsType + }).(pulumi.StringPtrOutput) +} + +// `([]string: )` - The flags passed to `mount`. +func (o VolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VolumeMountOptions) []string { + if v == nil { + return nil + } + return v.MountFlags + }).(pulumi.StringArrayOutput) +} + +type VolumeTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// VolumeTopologyInput is an input type that accepts VolumeTopologyArgs and VolumeTopologyOutput values. +// You can construct a concrete instance of `VolumeTopologyInput` via: +// +// VolumeTopologyArgs{...} +type VolumeTopologyInput interface { + pulumi.Input + + ToVolumeTopologyOutput() VolumeTopologyOutput + ToVolumeTopologyOutputWithContext(context.Context) VolumeTopologyOutput +} + +type VolumeTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` +} + +func (VolumeTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopology)(nil)).Elem() +} + +func (i VolumeTopologyArgs) ToVolumeTopologyOutput() VolumeTopologyOutput { + return i.ToVolumeTopologyOutputWithContext(context.Background()) +} + +func (i VolumeTopologyArgs) ToVolumeTopologyOutputWithContext(ctx context.Context) VolumeTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyOutput) +} + +func (i VolumeTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeTopology] { + return pulumix.Output[VolumeTopology]{ + OutputState: i.ToVolumeTopologyOutputWithContext(ctx).OutputState, + } +} + +// VolumeTopologyArrayInput is an input type that accepts VolumeTopologyArray and VolumeTopologyArrayOutput values. +// You can construct a concrete instance of `VolumeTopologyArrayInput` via: +// +// VolumeTopologyArray{ VolumeTopologyArgs{...} } +type VolumeTopologyArrayInput interface { + pulumi.Input + + ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput + ToVolumeTopologyArrayOutputWithContext(context.Context) VolumeTopologyArrayOutput +} + +type VolumeTopologyArray []VolumeTopologyInput + +func (VolumeTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeTopology)(nil)).Elem() +} + +func (i VolumeTopologyArray) ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput { + return i.ToVolumeTopologyArrayOutputWithContext(context.Background()) +} + +func (i VolumeTopologyArray) ToVolumeTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyArrayOutput) +} + +func (i VolumeTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]VolumeTopology] { + return pulumix.Output[[]VolumeTopology]{ + OutputState: i.ToVolumeTopologyArrayOutputWithContext(ctx).OutputState, + } +} + +type VolumeTopologyOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopology)(nil)).Elem() +} + +func (o VolumeTopologyOutput) ToVolumeTopologyOutput() VolumeTopologyOutput { + return o +} + +func (o VolumeTopologyOutput) ToVolumeTopologyOutputWithContext(ctx context.Context) VolumeTopologyOutput { + return o +} + +func (o VolumeTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeTopology] { + return pulumix.Output[VolumeTopology]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o VolumeTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v VolumeTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +} + +type VolumeTopologyArrayOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeTopology)(nil)).Elem() +} + +func (o VolumeTopologyArrayOutput) ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput { + return o +} + +func (o VolumeTopologyArrayOutput) ToVolumeTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyArrayOutput { + return o +} + +func (o VolumeTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]VolumeTopology] { + return pulumix.Output[[]VolumeTopology]{ + OutputState: o.OutputState, + } +} + +func (o VolumeTopologyArrayOutput) Index(i pulumi.IntInput) VolumeTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeTopology { + return vs[0].([]VolumeTopology)[vs[1].(int)] + }).(VolumeTopologyOutput) +} + +type VolumeTopologyRequest struct { + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required *VolumeTopologyRequestRequired `pulumi:"required"` +} + +// VolumeTopologyRequestInput is an input type that accepts VolumeTopologyRequestArgs and VolumeTopologyRequestOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestInput` via: +// +// VolumeTopologyRequestArgs{...} +type VolumeTopologyRequestInput interface { + pulumi.Input + + ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput + ToVolumeTopologyRequestOutputWithContext(context.Context) VolumeTopologyRequestOutput +} + +type VolumeTopologyRequestArgs struct { + // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + Required VolumeTopologyRequestRequiredPtrInput `pulumi:"required"` +} + +func (VolumeTopologyRequestArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequest)(nil)).Elem() +} + +func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput { + return i.ToVolumeTopologyRequestOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestOutputWithContext(ctx context.Context) VolumeTopologyRequestOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestOutput) +} + +func (i VolumeTopologyRequestArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequest] { + return pulumix.Output[VolumeTopologyRequest]{ + OutputState: i.ToVolumeTopologyRequestOutputWithContext(ctx).OutputState, + } +} + +func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { + return i.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestOutput).ToVolumeTopologyRequestPtrOutputWithContext(ctx) +} + +// VolumeTopologyRequestPtrInput is an input type that accepts VolumeTopologyRequestArgs, VolumeTopologyRequestPtr and VolumeTopologyRequestPtrOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestPtrInput` via: +// +// VolumeTopologyRequestArgs{...} +// +// or: +// +// nil +type VolumeTopologyRequestPtrInput interface { + pulumi.Input + + ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput + ToVolumeTopologyRequestPtrOutputWithContext(context.Context) VolumeTopologyRequestPtrOutput +} + +type volumeTopologyRequestPtrType VolumeTopologyRequestArgs + +func VolumeTopologyRequestPtr(v *VolumeTopologyRequestArgs) VolumeTopologyRequestPtrInput { + return (*volumeTopologyRequestPtrType)(v) +} + +func (*volumeTopologyRequestPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeTopologyRequest)(nil)).Elem() +} + +func (i *volumeTopologyRequestPtrType) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { + return i.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (i *volumeTopologyRequestPtrType) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestPtrOutput) +} + +func (i *volumeTopologyRequestPtrType) ToOutput(ctx context.Context) pulumix.Output[*VolumeTopologyRequest] { + return pulumix.Output[*VolumeTopologyRequest]{ + OutputState: i.ToVolumeTopologyRequestPtrOutputWithContext(ctx).OutputState, + } +} + +type VolumeTopologyRequestOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequest)(nil)).Elem() +} + +func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput { + return o +} + +func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestOutputWithContext(ctx context.Context) VolumeTopologyRequestOutput { + return o +} + +func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { + return o.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) +} + +func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeTopologyRequest) *VolumeTopologyRequest { + return &v + }).(VolumeTopologyRequestPtrOutput) +} + +func (o VolumeTopologyRequestOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequest] { + return pulumix.Output[VolumeTopologyRequest]{ + OutputState: o.OutputState, + } +} + +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o VolumeTopologyRequestOutput) Required() VolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v VolumeTopologyRequest) *VolumeTopologyRequestRequired { return v.Required }).(VolumeTopologyRequestRequiredPtrOutput) +} + +type VolumeTopologyRequestPtrOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeTopologyRequest)(nil)).Elem() +} + +func (o VolumeTopologyRequestPtrOutput) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { + return o +} + +func (o VolumeTopologyRequestPtrOutput) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { + return o +} + +func (o VolumeTopologyRequestPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*VolumeTopologyRequest] { + return pulumix.Output[*VolumeTopologyRequest]{ + OutputState: o.OutputState, + } +} + +func (o VolumeTopologyRequestPtrOutput) Elem() VolumeTopologyRequestOutput { + return o.ApplyT(func(v *VolumeTopologyRequest) VolumeTopologyRequest { + if v != nil { + return *v + } + var ret VolumeTopologyRequest + return ret + }).(VolumeTopologyRequestOutput) +} + +// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. +func (o VolumeTopologyRequestPtrOutput) Required() VolumeTopologyRequestRequiredPtrOutput { + return o.ApplyT(func(v *VolumeTopologyRequest) *VolumeTopologyRequestRequired { + if v == nil { + return nil + } + return v.Required + }).(VolumeTopologyRequestRequiredPtrOutput) +} + +type VolumeTopologyRequestRequired struct { + Topologies []VolumeTopologyRequestRequiredTopology `pulumi:"topologies"` +} + +// VolumeTopologyRequestRequiredInput is an input type that accepts VolumeTopologyRequestRequiredArgs and VolumeTopologyRequestRequiredOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestRequiredInput` via: +// +// VolumeTopologyRequestRequiredArgs{...} +type VolumeTopologyRequestRequiredInput interface { + pulumi.Input + + ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput + ToVolumeTopologyRequestRequiredOutputWithContext(context.Context) VolumeTopologyRequestRequiredOutput +} + +type VolumeTopologyRequestRequiredArgs struct { + Topologies VolumeTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` +} + +func (VolumeTopologyRequestRequiredArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequestRequired)(nil)).Elem() +} + +func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput { + return i.ToVolumeTopologyRequestRequiredOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredOutput) +} + +func (i VolumeTopologyRequestRequiredArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequestRequired] { + return pulumix.Output[VolumeTopologyRequestRequired]{ + OutputState: i.ToVolumeTopologyRequestRequiredOutputWithContext(ctx).OutputState, + } +} + +func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { + return i.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredOutput).ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx) +} + +// VolumeTopologyRequestRequiredPtrInput is an input type that accepts VolumeTopologyRequestRequiredArgs, VolumeTopologyRequestRequiredPtr and VolumeTopologyRequestRequiredPtrOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestRequiredPtrInput` via: +// +// VolumeTopologyRequestRequiredArgs{...} +// +// or: +// +// nil +type VolumeTopologyRequestRequiredPtrInput interface { + pulumi.Input + + ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput + ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Context) VolumeTopologyRequestRequiredPtrOutput +} + +type volumeTopologyRequestRequiredPtrType VolumeTopologyRequestRequiredArgs + +func VolumeTopologyRequestRequiredPtr(v *VolumeTopologyRequestRequiredArgs) VolumeTopologyRequestRequiredPtrInput { + return (*volumeTopologyRequestRequiredPtrType)(v) +} + +func (*volumeTopologyRequestRequiredPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeTopologyRequestRequired)(nil)).Elem() +} + +func (i *volumeTopologyRequestRequiredPtrType) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { + return i.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +} + +func (i *volumeTopologyRequestRequiredPtrType) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredPtrOutput) +} + +func (i *volumeTopologyRequestRequiredPtrType) ToOutput(ctx context.Context) pulumix.Output[*VolumeTopologyRequestRequired] { + return pulumix.Output[*VolumeTopologyRequestRequired]{ + OutputState: i.ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx).OutputState, + } +} + +type VolumeTopologyRequestRequiredOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestRequiredOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequestRequired)(nil)).Elem() +} + +func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput { return o } -func (o QuoteSpecificationLimitRegionLimitOutput) ToQuoteSpecificationLimitRegionLimitOutputWithContext(ctx context.Context) QuoteSpecificationLimitRegionLimitOutput { +func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredOutput { return o } -// `(int: 0)` - The amount of CPU to limit allocations to. A value of zero -// is treated as unlimited, and a negative value is treated as fully disallowed. -func (o QuoteSpecificationLimitRegionLimitOutput) Cpu() pulumi.IntPtrOutput { - return o.ApplyT(func(v QuoteSpecificationLimitRegionLimit) *int { return v.Cpu }).(pulumi.IntPtrOutput) +func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { + return o.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) } -// `(int: 0)` - The amount of memory (in megabytes) to limit -// allocations to. A value of zero is treated as unlimited, and a negative value -// is treated as fully disallowed. -func (o QuoteSpecificationLimitRegionLimitOutput) MemoryMb() pulumi.IntPtrOutput { - return o.ApplyT(func(v QuoteSpecificationLimitRegionLimit) *int { return v.MemoryMb }).(pulumi.IntPtrOutput) +func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeTopologyRequestRequired) *VolumeTopologyRequestRequired { + return &v + }).(VolumeTopologyRequestRequiredPtrOutput) } -type VolumeCapability struct { - // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: - // - `single-node-reader-only` - // - `single-node-writer` - // - `multi-node-reader-only` - // - `multi-node-single-writer` - // - `multi-node-multi-writer` - AccessMode string `pulumi:"accessMode"` - // `(string: )` - The storage API that will be used by the volume. Possible values are: - // - `block-device` - // - `file-system` - AttachmentMode string `pulumi:"attachmentMode"` +func (o VolumeTopologyRequestRequiredOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequestRequired] { + return pulumix.Output[VolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } } -// VolumeCapabilityInput is an input type that accepts VolumeCapabilityArgs and VolumeCapabilityOutput values. -// You can construct a concrete instance of `VolumeCapabilityInput` via: +func (o VolumeTopologyRequestRequiredOutput) Topologies() VolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v VolumeTopologyRequestRequired) []VolumeTopologyRequestRequiredTopology { return v.Topologies }).(VolumeTopologyRequestRequiredTopologyArrayOutput) +} + +type VolumeTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeTopologyRequestRequired)(nil)).Elem() +} + +func (o VolumeTopologyRequestRequiredPtrOutput) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { + return o +} + +func (o VolumeTopologyRequestRequiredPtrOutput) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { + return o +} + +func (o VolumeTopologyRequestRequiredPtrOutput) ToOutput(ctx context.Context) pulumix.Output[*VolumeTopologyRequestRequired] { + return pulumix.Output[*VolumeTopologyRequestRequired]{ + OutputState: o.OutputState, + } +} + +func (o VolumeTopologyRequestRequiredPtrOutput) Elem() VolumeTopologyRequestRequiredOutput { + return o.ApplyT(func(v *VolumeTopologyRequestRequired) VolumeTopologyRequestRequired { + if v != nil { + return *v + } + var ret VolumeTopologyRequestRequired + return ret + }).(VolumeTopologyRequestRequiredOutput) +} + +func (o VolumeTopologyRequestRequiredPtrOutput) Topologies() VolumeTopologyRequestRequiredTopologyArrayOutput { + return o.ApplyT(func(v *VolumeTopologyRequestRequired) []VolumeTopologyRequestRequiredTopology { + if v == nil { + return nil + } + return v.Topologies + }).(VolumeTopologyRequestRequiredTopologyArrayOutput) +} + +type VolumeTopologyRequestRequiredTopology struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments map[string]string `pulumi:"segments"` +} + +// VolumeTopologyRequestRequiredTopologyInput is an input type that accepts VolumeTopologyRequestRequiredTopologyArgs and VolumeTopologyRequestRequiredTopologyOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestRequiredTopologyInput` via: // -// VolumeCapabilityArgs{...} -type VolumeCapabilityInput interface { +// VolumeTopologyRequestRequiredTopologyArgs{...} +type VolumeTopologyRequestRequiredTopologyInput interface { pulumi.Input - ToVolumeCapabilityOutput() VolumeCapabilityOutput - ToVolumeCapabilityOutputWithContext(context.Context) VolumeCapabilityOutput + ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput + ToVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Context) VolumeTopologyRequestRequiredTopologyOutput } -type VolumeCapabilityArgs struct { - // `(string: )` - Defines whether a volume should be available concurrently. Possible values are: - // - `single-node-reader-only` - // - `single-node-writer` - // - `multi-node-reader-only` - // - `multi-node-single-writer` - // - `multi-node-multi-writer` - AccessMode pulumi.StringInput `pulumi:"accessMode"` - // `(string: )` - The storage API that will be used by the volume. Possible values are: - // - `block-device` - // - `file-system` - AttachmentMode pulumi.StringInput `pulumi:"attachmentMode"` +type VolumeTopologyRequestRequiredTopologyArgs struct { + // `(map[string]string)` - Define the attributes for the topology request. + // + // In addition to the above arguments, the following attributes are exported and + // can be referenced: + Segments pulumi.StringMapInput `pulumi:"segments"` } -func (VolumeCapabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeCapability)(nil)).Elem() +func (VolumeTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequestRequiredTopology)(nil)).Elem() } -func (i VolumeCapabilityArgs) ToVolumeCapabilityOutput() VolumeCapabilityOutput { - return i.ToVolumeCapabilityOutputWithContext(context.Background()) +func (i VolumeTopologyRequestRequiredTopologyArgs) ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput { + return i.ToVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestRequiredTopologyArgs) ToVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredTopologyOutput) +} + +func (i VolumeTopologyRequestRequiredTopologyArgs) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequestRequiredTopology] { + return pulumix.Output[VolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx).OutputState, + } +} + +// VolumeTopologyRequestRequiredTopologyArrayInput is an input type that accepts VolumeTopologyRequestRequiredTopologyArray and VolumeTopologyRequestRequiredTopologyArrayOutput values. +// You can construct a concrete instance of `VolumeTopologyRequestRequiredTopologyArrayInput` via: +// +// VolumeTopologyRequestRequiredTopologyArray{ VolumeTopologyRequestRequiredTopologyArgs{...} } +type VolumeTopologyRequestRequiredTopologyArrayInput interface { + pulumi.Input + + ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput + ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput +} + +type VolumeTopologyRequestRequiredTopologyArray []VolumeTopologyRequestRequiredTopologyInput + +func (VolumeTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (i VolumeTopologyRequestRequiredTopologyArray) ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput { + return i.ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) +} + +func (i VolumeTopologyRequestRequiredTopologyArray) ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredTopologyArrayOutput) +} + +func (i VolumeTopologyRequestRequiredTopologyArray) ToOutput(ctx context.Context) pulumix.Output[[]VolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]VolumeTopologyRequestRequiredTopology]{ + OutputState: i.ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx).OutputState, + } +} + +type VolumeTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (o VolumeTopologyRequestRequiredTopologyOutput) ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput { + return o +} + +func (o VolumeTopologyRequestRequiredTopologyOutput) ToVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyOutput { + return o +} + +func (o VolumeTopologyRequestRequiredTopologyOutput) ToOutput(ctx context.Context) pulumix.Output[VolumeTopologyRequestRequiredTopology] { + return pulumix.Output[VolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string)` - Define the attributes for the topology request. +// +// In addition to the above arguments, the following attributes are exported and +// can be referenced: +func (o VolumeTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { + return o.ApplyT(func(v VolumeTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +} + +type VolumeTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } + +func (VolumeTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]VolumeTopologyRequestRequiredTopology)(nil)).Elem() +} + +func (o VolumeTopologyRequestRequiredTopologyArrayOutput) ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput { + return o +} + +func (o VolumeTopologyRequestRequiredTopologyArrayOutput) ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput { + return o +} + +func (o VolumeTopologyRequestRequiredTopologyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]VolumeTopologyRequestRequiredTopology] { + return pulumix.Output[[]VolumeTopologyRequestRequiredTopology]{ + OutputState: o.OutputState, + } +} + +func (o VolumeTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) VolumeTopologyRequestRequiredTopologyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeTopologyRequestRequiredTopology { + return vs[0].([]VolumeTopologyRequestRequiredTopology)[vs[1].(int)] + }).(VolumeTopologyRequestRequiredTopologyOutput) +} + +type GetAclPoliciesPolicy struct { + // `(string)` - the description of the ACL Policy. + Description string `pulumi:"description"` + // `(string)` - the name of the ACL Policy. + Name string `pulumi:"name"` +} + +// GetAclPoliciesPolicyInput is an input type that accepts GetAclPoliciesPolicyArgs and GetAclPoliciesPolicyOutput values. +// You can construct a concrete instance of `GetAclPoliciesPolicyInput` via: +// +// GetAclPoliciesPolicyArgs{...} +type GetAclPoliciesPolicyInput interface { + pulumi.Input + + ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput + ToGetAclPoliciesPolicyOutputWithContext(context.Context) GetAclPoliciesPolicyOutput +} + +type GetAclPoliciesPolicyArgs struct { + // `(string)` - the description of the ACL Policy. + Description pulumi.StringInput `pulumi:"description"` + // `(string)` - the name of the ACL Policy. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetAclPoliciesPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclPoliciesPolicy)(nil)).Elem() +} + +func (i GetAclPoliciesPolicyArgs) ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput { + return i.ToGetAclPoliciesPolicyOutputWithContext(context.Background()) +} + +func (i GetAclPoliciesPolicyArgs) ToGetAclPoliciesPolicyOutputWithContext(ctx context.Context) GetAclPoliciesPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclPoliciesPolicyOutput) } -func (i VolumeCapabilityArgs) ToVolumeCapabilityOutputWithContext(ctx context.Context) VolumeCapabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeCapabilityOutput) +func (i GetAclPoliciesPolicyArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclPoliciesPolicy] { + return pulumix.Output[GetAclPoliciesPolicy]{ + OutputState: i.ToGetAclPoliciesPolicyOutputWithContext(ctx).OutputState, + } } -// VolumeCapabilityArrayInput is an input type that accepts VolumeCapabilityArray and VolumeCapabilityArrayOutput values. -// You can construct a concrete instance of `VolumeCapabilityArrayInput` via: +// GetAclPoliciesPolicyArrayInput is an input type that accepts GetAclPoliciesPolicyArray and GetAclPoliciesPolicyArrayOutput values. +// You can construct a concrete instance of `GetAclPoliciesPolicyArrayInput` via: // -// VolumeCapabilityArray{ VolumeCapabilityArgs{...} } -type VolumeCapabilityArrayInput interface { +// GetAclPoliciesPolicyArray{ GetAclPoliciesPolicyArgs{...} } +type GetAclPoliciesPolicyArrayInput interface { pulumi.Input - ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput - ToVolumeCapabilityArrayOutputWithContext(context.Context) VolumeCapabilityArrayOutput + ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput + ToGetAclPoliciesPolicyArrayOutputWithContext(context.Context) GetAclPoliciesPolicyArrayOutput } -type VolumeCapabilityArray []VolumeCapabilityInput +type GetAclPoliciesPolicyArray []GetAclPoliciesPolicyInput -func (VolumeCapabilityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeCapability)(nil)).Elem() +func (GetAclPoliciesPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclPoliciesPolicy)(nil)).Elem() } -func (i VolumeCapabilityArray) ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput { - return i.ToVolumeCapabilityArrayOutputWithContext(context.Background()) +func (i GetAclPoliciesPolicyArray) ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput { + return i.ToGetAclPoliciesPolicyArrayOutputWithContext(context.Background()) } -func (i VolumeCapabilityArray) ToVolumeCapabilityArrayOutputWithContext(ctx context.Context) VolumeCapabilityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeCapabilityArrayOutput) +func (i GetAclPoliciesPolicyArray) ToGetAclPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAclPoliciesPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclPoliciesPolicyArrayOutput) } -type VolumeCapabilityOutput struct{ *pulumi.OutputState } +func (i GetAclPoliciesPolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclPoliciesPolicy] { + return pulumix.Output[[]GetAclPoliciesPolicy]{ + OutputState: i.ToGetAclPoliciesPolicyArrayOutputWithContext(ctx).OutputState, + } +} -func (VolumeCapabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeCapability)(nil)).Elem() +type GetAclPoliciesPolicyOutput struct{ *pulumi.OutputState } + +func (GetAclPoliciesPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclPoliciesPolicy)(nil)).Elem() } -func (o VolumeCapabilityOutput) ToVolumeCapabilityOutput() VolumeCapabilityOutput { +func (o GetAclPoliciesPolicyOutput) ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput { return o } -func (o VolumeCapabilityOutput) ToVolumeCapabilityOutputWithContext(ctx context.Context) VolumeCapabilityOutput { +func (o GetAclPoliciesPolicyOutput) ToGetAclPoliciesPolicyOutputWithContext(ctx context.Context) GetAclPoliciesPolicyOutput { return o } -// `(string: )` - Defines whether a volume should be available concurrently. Possible values are: -// - `single-node-reader-only` -// - `single-node-writer` -// - `multi-node-reader-only` -// - `multi-node-single-writer` -// - `multi-node-multi-writer` -func (o VolumeCapabilityOutput) AccessMode() pulumi.StringOutput { - return o.ApplyT(func(v VolumeCapability) string { return v.AccessMode }).(pulumi.StringOutput) +func (o GetAclPoliciesPolicyOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclPoliciesPolicy] { + return pulumix.Output[GetAclPoliciesPolicy]{ + OutputState: o.OutputState, + } } -// `(string: )` - The storage API that will be used by the volume. Possible values are: -// - `block-device` -// - `file-system` -func (o VolumeCapabilityOutput) AttachmentMode() pulumi.StringOutput { - return o.ApplyT(func(v VolumeCapability) string { return v.AttachmentMode }).(pulumi.StringOutput) +// `(string)` - the description of the ACL Policy. +func (o GetAclPoliciesPolicyOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetAclPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) } -type VolumeCapabilityArrayOutput struct{ *pulumi.OutputState } +// `(string)` - the name of the ACL Policy. +func (o GetAclPoliciesPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclPoliciesPolicy) string { return v.Name }).(pulumi.StringOutput) +} -func (VolumeCapabilityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeCapability)(nil)).Elem() +type GetAclPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } + +func (GetAclPoliciesPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclPoliciesPolicy)(nil)).Elem() } -func (o VolumeCapabilityArrayOutput) ToVolumeCapabilityArrayOutput() VolumeCapabilityArrayOutput { +func (o GetAclPoliciesPolicyArrayOutput) ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput { return o } -func (o VolumeCapabilityArrayOutput) ToVolumeCapabilityArrayOutputWithContext(ctx context.Context) VolumeCapabilityArrayOutput { +func (o GetAclPoliciesPolicyArrayOutput) ToGetAclPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAclPoliciesPolicyArrayOutput { return o } -func (o VolumeCapabilityArrayOutput) Index(i pulumi.IntInput) VolumeCapabilityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeCapability { - return vs[0].([]VolumeCapability)[vs[1].(int)] - }).(VolumeCapabilityOutput) +func (o GetAclPoliciesPolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclPoliciesPolicy] { + return pulumix.Output[[]GetAclPoliciesPolicy]{ + OutputState: o.OutputState, + } } -type VolumeMountOptions struct { - // `(string: )` - The file system type. - FsType *string `pulumi:"fsType"` - // `([]string: )` - The flags passed to `mount`. - MountFlags []string `pulumi:"mountFlags"` +func (o GetAclPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetAclPoliciesPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclPoliciesPolicy { + return vs[0].([]GetAclPoliciesPolicy)[vs[1].(int)] + }).(GetAclPoliciesPolicyOutput) } -// VolumeMountOptionsInput is an input type that accepts VolumeMountOptionsArgs and VolumeMountOptionsOutput values. -// You can construct a concrete instance of `VolumeMountOptionsInput` via: +type GetAclRolePolicy struct { + // `(string)` - Unique name of the ACL role. + Name string `pulumi:"name"` +} + +// GetAclRolePolicyInput is an input type that accepts GetAclRolePolicyArgs and GetAclRolePolicyOutput values. +// You can construct a concrete instance of `GetAclRolePolicyInput` via: // -// VolumeMountOptionsArgs{...} -type VolumeMountOptionsInput interface { +// GetAclRolePolicyArgs{...} +type GetAclRolePolicyInput interface { pulumi.Input - ToVolumeMountOptionsOutput() VolumeMountOptionsOutput - ToVolumeMountOptionsOutputWithContext(context.Context) VolumeMountOptionsOutput -} - -type VolumeMountOptionsArgs struct { - // `(string: )` - The file system type. - FsType pulumi.StringPtrInput `pulumi:"fsType"` - // `([]string: )` - The flags passed to `mount`. - MountFlags pulumi.StringArrayInput `pulumi:"mountFlags"` + ToGetAclRolePolicyOutput() GetAclRolePolicyOutput + ToGetAclRolePolicyOutputWithContext(context.Context) GetAclRolePolicyOutput } -func (VolumeMountOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeMountOptions)(nil)).Elem() +type GetAclRolePolicyArgs struct { + // `(string)` - Unique name of the ACL role. + Name pulumi.StringInput `pulumi:"name"` } -func (i VolumeMountOptionsArgs) ToVolumeMountOptionsOutput() VolumeMountOptionsOutput { - return i.ToVolumeMountOptionsOutputWithContext(context.Background()) +func (GetAclRolePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolePolicy)(nil)).Elem() } -func (i VolumeMountOptionsArgs) ToVolumeMountOptionsOutputWithContext(ctx context.Context) VolumeMountOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsOutput) +func (i GetAclRolePolicyArgs) ToGetAclRolePolicyOutput() GetAclRolePolicyOutput { + return i.ToGetAclRolePolicyOutputWithContext(context.Background()) } -func (i VolumeMountOptionsArgs) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { - return i.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) +func (i GetAclRolePolicyArgs) ToGetAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolePolicyOutput) } -func (i VolumeMountOptionsArgs) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsOutput).ToVolumeMountOptionsPtrOutputWithContext(ctx) +func (i GetAclRolePolicyArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclRolePolicy] { + return pulumix.Output[GetAclRolePolicy]{ + OutputState: i.ToGetAclRolePolicyOutputWithContext(ctx).OutputState, + } } -// VolumeMountOptionsPtrInput is an input type that accepts VolumeMountOptionsArgs, VolumeMountOptionsPtr and VolumeMountOptionsPtrOutput values. -// You can construct a concrete instance of `VolumeMountOptionsPtrInput` via: -// -// VolumeMountOptionsArgs{...} -// -// or: +// GetAclRolePolicyArrayInput is an input type that accepts GetAclRolePolicyArray and GetAclRolePolicyArrayOutput values. +// You can construct a concrete instance of `GetAclRolePolicyArrayInput` via: // -// nil -type VolumeMountOptionsPtrInput interface { +// GetAclRolePolicyArray{ GetAclRolePolicyArgs{...} } +type GetAclRolePolicyArrayInput interface { pulumi.Input - ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput - ToVolumeMountOptionsPtrOutputWithContext(context.Context) VolumeMountOptionsPtrOutput + ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput + ToGetAclRolePolicyArrayOutputWithContext(context.Context) GetAclRolePolicyArrayOutput } -type volumeMountOptionsPtrType VolumeMountOptionsArgs +type GetAclRolePolicyArray []GetAclRolePolicyInput -func VolumeMountOptionsPtr(v *VolumeMountOptionsArgs) VolumeMountOptionsPtrInput { - return (*volumeMountOptionsPtrType)(v) +func (GetAclRolePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolePolicy)(nil)).Elem() } -func (*volumeMountOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeMountOptions)(nil)).Elem() +func (i GetAclRolePolicyArray) ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput { + return i.ToGetAclRolePolicyArrayOutputWithContext(context.Background()) } -func (i *volumeMountOptionsPtrType) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { - return i.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) +func (i GetAclRolePolicyArray) ToGetAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolePolicyArrayOutput) } -func (i *volumeMountOptionsPtrType) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeMountOptionsPtrOutput) +func (i GetAclRolePolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolePolicy] { + return pulumix.Output[[]GetAclRolePolicy]{ + OutputState: i.ToGetAclRolePolicyArrayOutputWithContext(ctx).OutputState, + } } -type VolumeMountOptionsOutput struct{ *pulumi.OutputState } +type GetAclRolePolicyOutput struct{ *pulumi.OutputState } -func (VolumeMountOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeMountOptions)(nil)).Elem() +func (GetAclRolePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolePolicy)(nil)).Elem() } -func (o VolumeMountOptionsOutput) ToVolumeMountOptionsOutput() VolumeMountOptionsOutput { +func (o GetAclRolePolicyOutput) ToGetAclRolePolicyOutput() GetAclRolePolicyOutput { return o } -func (o VolumeMountOptionsOutput) ToVolumeMountOptionsOutputWithContext(ctx context.Context) VolumeMountOptionsOutput { +func (o GetAclRolePolicyOutput) ToGetAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolePolicyOutput { return o } -func (o VolumeMountOptionsOutput) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { - return o.ToVolumeMountOptionsPtrOutputWithContext(context.Background()) -} - -func (o VolumeMountOptionsOutput) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeMountOptions) *VolumeMountOptions { - return &v - }).(VolumeMountOptionsPtrOutput) -} - -// `(string: )` - The file system type. -func (o VolumeMountOptionsOutput) FsType() pulumi.StringPtrOutput { - return o.ApplyT(func(v VolumeMountOptions) *string { return v.FsType }).(pulumi.StringPtrOutput) +func (o GetAclRolePolicyOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclRolePolicy] { + return pulumix.Output[GetAclRolePolicy]{ + OutputState: o.OutputState, + } } -// `([]string: )` - The flags passed to `mount`. -func (o VolumeMountOptionsOutput) MountFlags() pulumi.StringArrayOutput { - return o.ApplyT(func(v VolumeMountOptions) []string { return v.MountFlags }).(pulumi.StringArrayOutput) +// `(string)` - Unique name of the ACL role. +func (o GetAclRolePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclRolePolicy) string { return v.Name }).(pulumi.StringOutput) } -type VolumeMountOptionsPtrOutput struct{ *pulumi.OutputState } +type GetAclRolePolicyArrayOutput struct{ *pulumi.OutputState } -func (VolumeMountOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeMountOptions)(nil)).Elem() +func (GetAclRolePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolePolicy)(nil)).Elem() } -func (o VolumeMountOptionsPtrOutput) ToVolumeMountOptionsPtrOutput() VolumeMountOptionsPtrOutput { +func (o GetAclRolePolicyArrayOutput) ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput { return o } -func (o VolumeMountOptionsPtrOutput) ToVolumeMountOptionsPtrOutputWithContext(ctx context.Context) VolumeMountOptionsPtrOutput { +func (o GetAclRolePolicyArrayOutput) ToGetAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolePolicyArrayOutput { return o } -func (o VolumeMountOptionsPtrOutput) Elem() VolumeMountOptionsOutput { - return o.ApplyT(func(v *VolumeMountOptions) VolumeMountOptions { - if v != nil { - return *v - } - var ret VolumeMountOptions - return ret - }).(VolumeMountOptionsOutput) -} - -// `(string: )` - The file system type. -func (o VolumeMountOptionsPtrOutput) FsType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VolumeMountOptions) *string { - if v == nil { - return nil - } - return v.FsType - }).(pulumi.StringPtrOutput) +func (o GetAclRolePolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolePolicy] { + return pulumix.Output[[]GetAclRolePolicy]{ + OutputState: o.OutputState, + } } -// `([]string: )` - The flags passed to `mount`. -func (o VolumeMountOptionsPtrOutput) MountFlags() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VolumeMountOptions) []string { - if v == nil { - return nil - } - return v.MountFlags - }).(pulumi.StringArrayOutput) +func (o GetAclRolePolicyArrayOutput) Index(i pulumi.IntInput) GetAclRolePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolePolicy { + return vs[0].([]GetAclRolePolicy)[vs[1].(int)] + }).(GetAclRolePolicyOutput) } -type VolumeTopology struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments map[string]string `pulumi:"segments"` +type GetAclRolesAclRole struct { + // `(string)` - The description of the ACL Role. + Description string `pulumi:"description"` + // `(string)` - The ACL Role unique identifier. + Id string `pulumi:"id"` + // `(string)` - Unique name of the ACL role. + Name string `pulumi:"name"` + // `(set)` - The policies applied to the role. + Policies []GetAclRolesAclRolePolicy `pulumi:"policies"` } -// VolumeTopologyInput is an input type that accepts VolumeTopologyArgs and VolumeTopologyOutput values. -// You can construct a concrete instance of `VolumeTopologyInput` via: +// GetAclRolesAclRoleInput is an input type that accepts GetAclRolesAclRoleArgs and GetAclRolesAclRoleOutput values. +// You can construct a concrete instance of `GetAclRolesAclRoleInput` via: // -// VolumeTopologyArgs{...} -type VolumeTopologyInput interface { +// GetAclRolesAclRoleArgs{...} +type GetAclRolesAclRoleInput interface { pulumi.Input - ToVolumeTopologyOutput() VolumeTopologyOutput - ToVolumeTopologyOutputWithContext(context.Context) VolumeTopologyOutput + ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput + ToGetAclRolesAclRoleOutputWithContext(context.Context) GetAclRolesAclRoleOutput +} + +type GetAclRolesAclRoleArgs struct { + // `(string)` - The description of the ACL Role. + Description pulumi.StringInput `pulumi:"description"` + // `(string)` - The ACL Role unique identifier. + Id pulumi.StringInput `pulumi:"id"` + // `(string)` - Unique name of the ACL role. + Name pulumi.StringInput `pulumi:"name"` + // `(set)` - The policies applied to the role. + Policies GetAclRolesAclRolePolicyArrayInput `pulumi:"policies"` } -type VolumeTopologyArgs struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments pulumi.StringMapInput `pulumi:"segments"` +func (GetAclRolesAclRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolesAclRole)(nil)).Elem() } -func (VolumeTopologyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopology)(nil)).Elem() +func (i GetAclRolesAclRoleArgs) ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput { + return i.ToGetAclRolesAclRoleOutputWithContext(context.Background()) } -func (i VolumeTopologyArgs) ToVolumeTopologyOutput() VolumeTopologyOutput { - return i.ToVolumeTopologyOutputWithContext(context.Background()) +func (i GetAclRolesAclRoleArgs) ToGetAclRolesAclRoleOutputWithContext(ctx context.Context) GetAclRolesAclRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRoleOutput) } -func (i VolumeTopologyArgs) ToVolumeTopologyOutputWithContext(ctx context.Context) VolumeTopologyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyOutput) +func (i GetAclRolesAclRoleArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclRolesAclRole] { + return pulumix.Output[GetAclRolesAclRole]{ + OutputState: i.ToGetAclRolesAclRoleOutputWithContext(ctx).OutputState, + } } -// VolumeTopologyArrayInput is an input type that accepts VolumeTopologyArray and VolumeTopologyArrayOutput values. -// You can construct a concrete instance of `VolumeTopologyArrayInput` via: +// GetAclRolesAclRoleArrayInput is an input type that accepts GetAclRolesAclRoleArray and GetAclRolesAclRoleArrayOutput values. +// You can construct a concrete instance of `GetAclRolesAclRoleArrayInput` via: // -// VolumeTopologyArray{ VolumeTopologyArgs{...} } -type VolumeTopologyArrayInput interface { +// GetAclRolesAclRoleArray{ GetAclRolesAclRoleArgs{...} } +type GetAclRolesAclRoleArrayInput interface { pulumi.Input - ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput - ToVolumeTopologyArrayOutputWithContext(context.Context) VolumeTopologyArrayOutput + ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput + ToGetAclRolesAclRoleArrayOutputWithContext(context.Context) GetAclRolesAclRoleArrayOutput } -type VolumeTopologyArray []VolumeTopologyInput +type GetAclRolesAclRoleArray []GetAclRolesAclRoleInput -func (VolumeTopologyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeTopology)(nil)).Elem() +func (GetAclRolesAclRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolesAclRole)(nil)).Elem() } -func (i VolumeTopologyArray) ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput { - return i.ToVolumeTopologyArrayOutputWithContext(context.Background()) +func (i GetAclRolesAclRoleArray) ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput { + return i.ToGetAclRolesAclRoleArrayOutputWithContext(context.Background()) } -func (i VolumeTopologyArray) ToVolumeTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyArrayOutput) +func (i GetAclRolesAclRoleArray) ToGetAclRolesAclRoleArrayOutputWithContext(ctx context.Context) GetAclRolesAclRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRoleArrayOutput) } -type VolumeTopologyOutput struct{ *pulumi.OutputState } +func (i GetAclRolesAclRoleArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolesAclRole] { + return pulumix.Output[[]GetAclRolesAclRole]{ + OutputState: i.ToGetAclRolesAclRoleArrayOutputWithContext(ctx).OutputState, + } +} -func (VolumeTopologyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopology)(nil)).Elem() +type GetAclRolesAclRoleOutput struct{ *pulumi.OutputState } + +func (GetAclRolesAclRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolesAclRole)(nil)).Elem() } -func (o VolumeTopologyOutput) ToVolumeTopologyOutput() VolumeTopologyOutput { +func (o GetAclRolesAclRoleOutput) ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput { return o } -func (o VolumeTopologyOutput) ToVolumeTopologyOutputWithContext(ctx context.Context) VolumeTopologyOutput { +func (o GetAclRolesAclRoleOutput) ToGetAclRolesAclRoleOutputWithContext(ctx context.Context) GetAclRolesAclRoleOutput { return o } -// `(map[string]string)` - Define the attributes for the topology request. -// -// In addition to the above arguments, the following attributes are exported and -// can be referenced: -func (o VolumeTopologyOutput) Segments() pulumi.StringMapOutput { - return o.ApplyT(func(v VolumeTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +func (o GetAclRolesAclRoleOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclRolesAclRole] { + return pulumix.Output[GetAclRolesAclRole]{ + OutputState: o.OutputState, + } } -type VolumeTopologyArrayOutput struct{ *pulumi.OutputState } +// `(string)` - The description of the ACL Role. +func (o GetAclRolesAclRoleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Description }).(pulumi.StringOutput) +} -func (VolumeTopologyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeTopology)(nil)).Elem() +// `(string)` - The ACL Role unique identifier. +func (o GetAclRolesAclRoleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Id }).(pulumi.StringOutput) } -func (o VolumeTopologyArrayOutput) ToVolumeTopologyArrayOutput() VolumeTopologyArrayOutput { +// `(string)` - Unique name of the ACL role. +func (o GetAclRolesAclRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Name }).(pulumi.StringOutput) +} + +// `(set)` - The policies applied to the role. +func (o GetAclRolesAclRoleOutput) Policies() GetAclRolesAclRolePolicyArrayOutput { + return o.ApplyT(func(v GetAclRolesAclRole) []GetAclRolesAclRolePolicy { return v.Policies }).(GetAclRolesAclRolePolicyArrayOutput) +} + +type GetAclRolesAclRoleArrayOutput struct{ *pulumi.OutputState } + +func (GetAclRolesAclRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolesAclRole)(nil)).Elem() +} + +func (o GetAclRolesAclRoleArrayOutput) ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput { return o } -func (o VolumeTopologyArrayOutput) ToVolumeTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyArrayOutput { +func (o GetAclRolesAclRoleArrayOutput) ToGetAclRolesAclRoleArrayOutputWithContext(ctx context.Context) GetAclRolesAclRoleArrayOutput { return o } -func (o VolumeTopologyArrayOutput) Index(i pulumi.IntInput) VolumeTopologyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeTopology { - return vs[0].([]VolumeTopology)[vs[1].(int)] - }).(VolumeTopologyOutput) +func (o GetAclRolesAclRoleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolesAclRole] { + return pulumix.Output[[]GetAclRolesAclRole]{ + OutputState: o.OutputState, + } } -type VolumeTopologyRequest struct { - // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. - Required *VolumeTopologyRequestRequired `pulumi:"required"` +func (o GetAclRolesAclRoleArrayOutput) Index(i pulumi.IntInput) GetAclRolesAclRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolesAclRole { + return vs[0].([]GetAclRolesAclRole)[vs[1].(int)] + }).(GetAclRolesAclRoleOutput) } -// VolumeTopologyRequestInput is an input type that accepts VolumeTopologyRequestArgs and VolumeTopologyRequestOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestInput` via: +type GetAclRolesAclRolePolicy struct { + // `(string)` - Unique name of the ACL role. + Name string `pulumi:"name"` +} + +// GetAclRolesAclRolePolicyInput is an input type that accepts GetAclRolesAclRolePolicyArgs and GetAclRolesAclRolePolicyOutput values. +// You can construct a concrete instance of `GetAclRolesAclRolePolicyInput` via: // -// VolumeTopologyRequestArgs{...} -type VolumeTopologyRequestInput interface { +// GetAclRolesAclRolePolicyArgs{...} +type GetAclRolesAclRolePolicyInput interface { pulumi.Input - ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput - ToVolumeTopologyRequestOutputWithContext(context.Context) VolumeTopologyRequestOutput -} - -type VolumeTopologyRequestArgs struct { - // `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. - Required VolumeTopologyRequestRequiredPtrInput `pulumi:"required"` + ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput + ToGetAclRolesAclRolePolicyOutputWithContext(context.Context) GetAclRolesAclRolePolicyOutput } -func (VolumeTopologyRequestArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequest)(nil)).Elem() +type GetAclRolesAclRolePolicyArgs struct { + // `(string)` - Unique name of the ACL role. + Name pulumi.StringInput `pulumi:"name"` } -func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput { - return i.ToVolumeTopologyRequestOutputWithContext(context.Background()) +func (GetAclRolesAclRolePolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolesAclRolePolicy)(nil)).Elem() } -func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestOutputWithContext(ctx context.Context) VolumeTopologyRequestOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestOutput) +func (i GetAclRolesAclRolePolicyArgs) ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput { + return i.ToGetAclRolesAclRolePolicyOutputWithContext(context.Background()) } -func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { - return i.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) +func (i GetAclRolesAclRolePolicyArgs) ToGetAclRolesAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRolePolicyOutput) } -func (i VolumeTopologyRequestArgs) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestOutput).ToVolumeTopologyRequestPtrOutputWithContext(ctx) +func (i GetAclRolesAclRolePolicyArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclRolesAclRolePolicy] { + return pulumix.Output[GetAclRolesAclRolePolicy]{ + OutputState: i.ToGetAclRolesAclRolePolicyOutputWithContext(ctx).OutputState, + } } -// VolumeTopologyRequestPtrInput is an input type that accepts VolumeTopologyRequestArgs, VolumeTopologyRequestPtr and VolumeTopologyRequestPtrOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestPtrInput` via: -// -// VolumeTopologyRequestArgs{...} -// -// or: +// GetAclRolesAclRolePolicyArrayInput is an input type that accepts GetAclRolesAclRolePolicyArray and GetAclRolesAclRolePolicyArrayOutput values. +// You can construct a concrete instance of `GetAclRolesAclRolePolicyArrayInput` via: // -// nil -type VolumeTopologyRequestPtrInput interface { +// GetAclRolesAclRolePolicyArray{ GetAclRolesAclRolePolicyArgs{...} } +type GetAclRolesAclRolePolicyArrayInput interface { pulumi.Input - ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput - ToVolumeTopologyRequestPtrOutputWithContext(context.Context) VolumeTopologyRequestPtrOutput + ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput + ToGetAclRolesAclRolePolicyArrayOutputWithContext(context.Context) GetAclRolesAclRolePolicyArrayOutput } -type volumeTopologyRequestPtrType VolumeTopologyRequestArgs +type GetAclRolesAclRolePolicyArray []GetAclRolesAclRolePolicyInput -func VolumeTopologyRequestPtr(v *VolumeTopologyRequestArgs) VolumeTopologyRequestPtrInput { - return (*volumeTopologyRequestPtrType)(v) +func (GetAclRolesAclRolePolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolesAclRolePolicy)(nil)).Elem() } -func (*volumeTopologyRequestPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeTopologyRequest)(nil)).Elem() +func (i GetAclRolesAclRolePolicyArray) ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput { + return i.ToGetAclRolesAclRolePolicyArrayOutputWithContext(context.Background()) } -func (i *volumeTopologyRequestPtrType) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { - return i.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) +func (i GetAclRolesAclRolePolicyArray) ToGetAclRolesAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRolePolicyArrayOutput) } -func (i *volumeTopologyRequestPtrType) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestPtrOutput) +func (i GetAclRolesAclRolePolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolesAclRolePolicy] { + return pulumix.Output[[]GetAclRolesAclRolePolicy]{ + OutputState: i.ToGetAclRolesAclRolePolicyArrayOutputWithContext(ctx).OutputState, + } } -type VolumeTopologyRequestOutput struct{ *pulumi.OutputState } +type GetAclRolesAclRolePolicyOutput struct{ *pulumi.OutputState } -func (VolumeTopologyRequestOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequest)(nil)).Elem() +func (GetAclRolesAclRolePolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclRolesAclRolePolicy)(nil)).Elem() } -func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestOutput() VolumeTopologyRequestOutput { +func (o GetAclRolesAclRolePolicyOutput) ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput { return o } -func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestOutputWithContext(ctx context.Context) VolumeTopologyRequestOutput { +func (o GetAclRolesAclRolePolicyOutput) ToGetAclRolesAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyOutput { return o } -func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { - return o.ToVolumeTopologyRequestPtrOutputWithContext(context.Background()) -} - -func (o VolumeTopologyRequestOutput) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeTopologyRequest) *VolumeTopologyRequest { - return &v - }).(VolumeTopologyRequestPtrOutput) +func (o GetAclRolesAclRolePolicyOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclRolesAclRolePolicy] { + return pulumix.Output[GetAclRolesAclRolePolicy]{ + OutputState: o.OutputState, + } } -// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. -func (o VolumeTopologyRequestOutput) Required() VolumeTopologyRequestRequiredPtrOutput { - return o.ApplyT(func(v VolumeTopologyRequest) *VolumeTopologyRequestRequired { return v.Required }).(VolumeTopologyRequestRequiredPtrOutput) +// `(string)` - Unique name of the ACL role. +func (o GetAclRolesAclRolePolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclRolesAclRolePolicy) string { return v.Name }).(pulumi.StringOutput) } -type VolumeTopologyRequestPtrOutput struct{ *pulumi.OutputState } +type GetAclRolesAclRolePolicyArrayOutput struct{ *pulumi.OutputState } -func (VolumeTopologyRequestPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeTopologyRequest)(nil)).Elem() +func (GetAclRolesAclRolePolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclRolesAclRolePolicy)(nil)).Elem() } -func (o VolumeTopologyRequestPtrOutput) ToVolumeTopologyRequestPtrOutput() VolumeTopologyRequestPtrOutput { +func (o GetAclRolesAclRolePolicyArrayOutput) ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput { return o } -func (o VolumeTopologyRequestPtrOutput) ToVolumeTopologyRequestPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestPtrOutput { +func (o GetAclRolesAclRolePolicyArrayOutput) ToGetAclRolesAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyArrayOutput { return o } -func (o VolumeTopologyRequestPtrOutput) Elem() VolumeTopologyRequestOutput { - return o.ApplyT(func(v *VolumeTopologyRequest) VolumeTopologyRequest { - if v != nil { - return *v - } - var ret VolumeTopologyRequest - return ret - }).(VolumeTopologyRequestOutput) +func (o GetAclRolesAclRolePolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclRolesAclRolePolicy] { + return pulumix.Output[[]GetAclRolesAclRolePolicy]{ + OutputState: o.OutputState, + } } -// `(“Topology“: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. -func (o VolumeTopologyRequestPtrOutput) Required() VolumeTopologyRequestRequiredPtrOutput { - return o.ApplyT(func(v *VolumeTopologyRequest) *VolumeTopologyRequestRequired { - if v == nil { - return nil - } - return v.Required - }).(VolumeTopologyRequestRequiredPtrOutput) +func (o GetAclRolesAclRolePolicyArrayOutput) Index(i pulumi.IntInput) GetAclRolesAclRolePolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolesAclRolePolicy { + return vs[0].([]GetAclRolesAclRolePolicy)[vs[1].(int)] + }).(GetAclRolesAclRolePolicyOutput) } -type VolumeTopologyRequestRequired struct { - Topologies []VolumeTopologyRequestRequiredTopology `pulumi:"topologies"` +type GetAclTokenRole struct { + Id string `pulumi:"id"` + // `(string)` Non-sensitive identifier for this token. + Name string `pulumi:"name"` } -// VolumeTopologyRequestRequiredInput is an input type that accepts VolumeTopologyRequestRequiredArgs and VolumeTopologyRequestRequiredOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestRequiredInput` via: +// GetAclTokenRoleInput is an input type that accepts GetAclTokenRoleArgs and GetAclTokenRoleOutput values. +// You can construct a concrete instance of `GetAclTokenRoleInput` via: // -// VolumeTopologyRequestRequiredArgs{...} -type VolumeTopologyRequestRequiredInput interface { +// GetAclTokenRoleArgs{...} +type GetAclTokenRoleInput interface { pulumi.Input - ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput - ToVolumeTopologyRequestRequiredOutputWithContext(context.Context) VolumeTopologyRequestRequiredOutput -} - -type VolumeTopologyRequestRequiredArgs struct { - Topologies VolumeTopologyRequestRequiredTopologyArrayInput `pulumi:"topologies"` + ToGetAclTokenRoleOutput() GetAclTokenRoleOutput + ToGetAclTokenRoleOutputWithContext(context.Context) GetAclTokenRoleOutput } -func (VolumeTopologyRequestRequiredArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequestRequired)(nil)).Elem() +type GetAclTokenRoleArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // `(string)` Non-sensitive identifier for this token. + Name pulumi.StringInput `pulumi:"name"` } -func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput { - return i.ToVolumeTopologyRequestRequiredOutputWithContext(context.Background()) +func (GetAclTokenRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokenRole)(nil)).Elem() } -func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredOutput) +func (i GetAclTokenRoleArgs) ToGetAclTokenRoleOutput() GetAclTokenRoleOutput { + return i.ToGetAclTokenRoleOutputWithContext(context.Background()) } -func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { - return i.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (i GetAclTokenRoleArgs) ToGetAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokenRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokenRoleOutput) } -func (i VolumeTopologyRequestRequiredArgs) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredOutput).ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx) +func (i GetAclTokenRoleArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclTokenRole] { + return pulumix.Output[GetAclTokenRole]{ + OutputState: i.ToGetAclTokenRoleOutputWithContext(ctx).OutputState, + } } -// VolumeTopologyRequestRequiredPtrInput is an input type that accepts VolumeTopologyRequestRequiredArgs, VolumeTopologyRequestRequiredPtr and VolumeTopologyRequestRequiredPtrOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestRequiredPtrInput` via: -// -// VolumeTopologyRequestRequiredArgs{...} -// -// or: +// GetAclTokenRoleArrayInput is an input type that accepts GetAclTokenRoleArray and GetAclTokenRoleArrayOutput values. +// You can construct a concrete instance of `GetAclTokenRoleArrayInput` via: // -// nil -type VolumeTopologyRequestRequiredPtrInput interface { +// GetAclTokenRoleArray{ GetAclTokenRoleArgs{...} } +type GetAclTokenRoleArrayInput interface { pulumi.Input - ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput - ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Context) VolumeTopologyRequestRequiredPtrOutput + ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput + ToGetAclTokenRoleArrayOutputWithContext(context.Context) GetAclTokenRoleArrayOutput } -type volumeTopologyRequestRequiredPtrType VolumeTopologyRequestRequiredArgs +type GetAclTokenRoleArray []GetAclTokenRoleInput -func VolumeTopologyRequestRequiredPtr(v *VolumeTopologyRequestRequiredArgs) VolumeTopologyRequestRequiredPtrInput { - return (*volumeTopologyRequestRequiredPtrType)(v) +func (GetAclTokenRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokenRole)(nil)).Elem() } -func (*volumeTopologyRequestRequiredPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeTopologyRequestRequired)(nil)).Elem() +func (i GetAclTokenRoleArray) ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput { + return i.ToGetAclTokenRoleArrayOutputWithContext(context.Background()) } -func (i *volumeTopologyRequestRequiredPtrType) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { - return i.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (i GetAclTokenRoleArray) ToGetAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokenRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokenRoleArrayOutput) } -func (i *volumeTopologyRequestRequiredPtrType) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredPtrOutput) +func (i GetAclTokenRoleArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokenRole] { + return pulumix.Output[[]GetAclTokenRole]{ + OutputState: i.ToGetAclTokenRoleArrayOutputWithContext(ctx).OutputState, + } } -type VolumeTopologyRequestRequiredOutput struct{ *pulumi.OutputState } +type GetAclTokenRoleOutput struct{ *pulumi.OutputState } -func (VolumeTopologyRequestRequiredOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequestRequired)(nil)).Elem() +func (GetAclTokenRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokenRole)(nil)).Elem() } -func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredOutput() VolumeTopologyRequestRequiredOutput { +func (o GetAclTokenRoleOutput) ToGetAclTokenRoleOutput() GetAclTokenRoleOutput { return o } -func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredOutput { +func (o GetAclTokenRoleOutput) ToGetAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokenRoleOutput { return o } -func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { - return o.ToVolumeTopologyRequestRequiredPtrOutputWithContext(context.Background()) +func (o GetAclTokenRoleOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclTokenRole] { + return pulumix.Output[GetAclTokenRole]{ + OutputState: o.OutputState, + } } -func (o VolumeTopologyRequestRequiredOutput) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeTopologyRequestRequired) *VolumeTopologyRequestRequired { - return &v - }).(VolumeTopologyRequestRequiredPtrOutput) +func (o GetAclTokenRoleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokenRole) string { return v.Id }).(pulumi.StringOutput) } -func (o VolumeTopologyRequestRequiredOutput) Topologies() VolumeTopologyRequestRequiredTopologyArrayOutput { - return o.ApplyT(func(v VolumeTopologyRequestRequired) []VolumeTopologyRequestRequiredTopology { return v.Topologies }).(VolumeTopologyRequestRequiredTopologyArrayOutput) +// `(string)` Non-sensitive identifier for this token. +func (o GetAclTokenRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokenRole) string { return v.Name }).(pulumi.StringOutput) } -type VolumeTopologyRequestRequiredPtrOutput struct{ *pulumi.OutputState } +type GetAclTokenRoleArrayOutput struct{ *pulumi.OutputState } -func (VolumeTopologyRequestRequiredPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeTopologyRequestRequired)(nil)).Elem() +func (GetAclTokenRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokenRole)(nil)).Elem() } -func (o VolumeTopologyRequestRequiredPtrOutput) ToVolumeTopologyRequestRequiredPtrOutput() VolumeTopologyRequestRequiredPtrOutput { +func (o GetAclTokenRoleArrayOutput) ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput { return o } -func (o VolumeTopologyRequestRequiredPtrOutput) ToVolumeTopologyRequestRequiredPtrOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredPtrOutput { +func (o GetAclTokenRoleArrayOutput) ToGetAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokenRoleArrayOutput { return o } -func (o VolumeTopologyRequestRequiredPtrOutput) Elem() VolumeTopologyRequestRequiredOutput { - return o.ApplyT(func(v *VolumeTopologyRequestRequired) VolumeTopologyRequestRequired { - if v != nil { - return *v - } - var ret VolumeTopologyRequestRequired - return ret - }).(VolumeTopologyRequestRequiredOutput) +func (o GetAclTokenRoleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokenRole] { + return pulumix.Output[[]GetAclTokenRole]{ + OutputState: o.OutputState, + } } -func (o VolumeTopologyRequestRequiredPtrOutput) Topologies() VolumeTopologyRequestRequiredTopologyArrayOutput { - return o.ApplyT(func(v *VolumeTopologyRequestRequired) []VolumeTopologyRequestRequiredTopology { - if v == nil { - return nil - } - return v.Topologies - }).(VolumeTopologyRequestRequiredTopologyArrayOutput) +func (o GetAclTokenRoleArrayOutput) Index(i pulumi.IntInput) GetAclTokenRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokenRole { + return vs[0].([]GetAclTokenRole)[vs[1].(int)] + }).(GetAclTokenRoleOutput) } -type VolumeTopologyRequestRequiredTopology struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments map[string]string `pulumi:"segments"` +type GetAclTokensAclToken struct { + // `(TypeString)` Non-sensitive identifier for the token. + AccessorId string `pulumi:"accessorId"` + // `(string)` Date and time the token was created at. + CreateTime string `pulumi:"createTime"` + // `(string)` - The timestamp after which the token is + // considered expired and eligible for destruction. + ExpirationTime string `pulumi:"expirationTime"` + // `(bool)` Whether the token is replicated to all regions. + Global bool `pulumi:"global"` + // `(TypeString)` The name of the token. + Name string `pulumi:"name"` + // `(list of strings)` The list of policies attached to the token. + Policies []string `pulumi:"policies"` + // `(set: [])` - The list of roles attached to the token. Each entry has + // `name` and `id` attributes. + Roles []GetAclTokensAclTokenRole `pulumi:"roles"` + // `(TypeString)` The type of the token. + Type string `pulumi:"type"` } -// VolumeTopologyRequestRequiredTopologyInput is an input type that accepts VolumeTopologyRequestRequiredTopologyArgs and VolumeTopologyRequestRequiredTopologyOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestRequiredTopologyInput` via: +// GetAclTokensAclTokenInput is an input type that accepts GetAclTokensAclTokenArgs and GetAclTokensAclTokenOutput values. +// You can construct a concrete instance of `GetAclTokensAclTokenInput` via: // -// VolumeTopologyRequestRequiredTopologyArgs{...} -type VolumeTopologyRequestRequiredTopologyInput interface { +// GetAclTokensAclTokenArgs{...} +type GetAclTokensAclTokenInput interface { pulumi.Input - ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput - ToVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Context) VolumeTopologyRequestRequiredTopologyOutput + ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput + ToGetAclTokensAclTokenOutputWithContext(context.Context) GetAclTokensAclTokenOutput } -type VolumeTopologyRequestRequiredTopologyArgs struct { - // `(map[string]string)` - Define the attributes for the topology request. - // - // In addition to the above arguments, the following attributes are exported and - // can be referenced: - Segments pulumi.StringMapInput `pulumi:"segments"` +type GetAclTokensAclTokenArgs struct { + // `(TypeString)` Non-sensitive identifier for the token. + AccessorId pulumi.StringInput `pulumi:"accessorId"` + // `(string)` Date and time the token was created at. + CreateTime pulumi.StringInput `pulumi:"createTime"` + // `(string)` - The timestamp after which the token is + // considered expired and eligible for destruction. + ExpirationTime pulumi.StringInput `pulumi:"expirationTime"` + // `(bool)` Whether the token is replicated to all regions. + Global pulumi.BoolInput `pulumi:"global"` + // `(TypeString)` The name of the token. + Name pulumi.StringInput `pulumi:"name"` + // `(list of strings)` The list of policies attached to the token. + Policies pulumi.StringArrayInput `pulumi:"policies"` + // `(set: [])` - The list of roles attached to the token. Each entry has + // `name` and `id` attributes. + Roles GetAclTokensAclTokenRoleArrayInput `pulumi:"roles"` + // `(TypeString)` The type of the token. + Type pulumi.StringInput `pulumi:"type"` } -func (VolumeTopologyRequestRequiredTopologyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (GetAclTokensAclTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokensAclToken)(nil)).Elem() } -func (i VolumeTopologyRequestRequiredTopologyArgs) ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput { - return i.ToVolumeTopologyRequestRequiredTopologyOutputWithContext(context.Background()) +func (i GetAclTokensAclTokenArgs) ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput { + return i.ToGetAclTokensAclTokenOutputWithContext(context.Background()) } -func (i VolumeTopologyRequestRequiredTopologyArgs) ToVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredTopologyOutput) +func (i GetAclTokensAclTokenArgs) ToGetAclTokensAclTokenOutputWithContext(ctx context.Context) GetAclTokensAclTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenOutput) } -// VolumeTopologyRequestRequiredTopologyArrayInput is an input type that accepts VolumeTopologyRequestRequiredTopologyArray and VolumeTopologyRequestRequiredTopologyArrayOutput values. -// You can construct a concrete instance of `VolumeTopologyRequestRequiredTopologyArrayInput` via: +func (i GetAclTokensAclTokenArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclTokensAclToken] { + return pulumix.Output[GetAclTokensAclToken]{ + OutputState: i.ToGetAclTokensAclTokenOutputWithContext(ctx).OutputState, + } +} + +// GetAclTokensAclTokenArrayInput is an input type that accepts GetAclTokensAclTokenArray and GetAclTokensAclTokenArrayOutput values. +// You can construct a concrete instance of `GetAclTokensAclTokenArrayInput` via: // -// VolumeTopologyRequestRequiredTopologyArray{ VolumeTopologyRequestRequiredTopologyArgs{...} } -type VolumeTopologyRequestRequiredTopologyArrayInput interface { +// GetAclTokensAclTokenArray{ GetAclTokensAclTokenArgs{...} } +type GetAclTokensAclTokenArrayInput interface { pulumi.Input - ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput - ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput + ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput + ToGetAclTokensAclTokenArrayOutputWithContext(context.Context) GetAclTokensAclTokenArrayOutput } -type VolumeTopologyRequestRequiredTopologyArray []VolumeTopologyRequestRequiredTopologyInput +type GetAclTokensAclTokenArray []GetAclTokensAclTokenInput -func (VolumeTopologyRequestRequiredTopologyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (GetAclTokensAclTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokensAclToken)(nil)).Elem() } -func (i VolumeTopologyRequestRequiredTopologyArray) ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput { - return i.ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(context.Background()) +func (i GetAclTokensAclTokenArray) ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput { + return i.ToGetAclTokensAclTokenArrayOutputWithContext(context.Background()) } -func (i VolumeTopologyRequestRequiredTopologyArray) ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeTopologyRequestRequiredTopologyArrayOutput) +func (i GetAclTokensAclTokenArray) ToGetAclTokensAclTokenArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenArrayOutput) } -type VolumeTopologyRequestRequiredTopologyOutput struct{ *pulumi.OutputState } +func (i GetAclTokensAclTokenArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokensAclToken] { + return pulumix.Output[[]GetAclTokensAclToken]{ + OutputState: i.ToGetAclTokensAclTokenArrayOutputWithContext(ctx).OutputState, + } +} -func (VolumeTopologyRequestRequiredTopologyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeTopologyRequestRequiredTopology)(nil)).Elem() +type GetAclTokensAclTokenOutput struct{ *pulumi.OutputState } + +func (GetAclTokensAclTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokensAclToken)(nil)).Elem() +} + +func (o GetAclTokensAclTokenOutput) ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput { + return o +} + +func (o GetAclTokensAclTokenOutput) ToGetAclTokensAclTokenOutputWithContext(ctx context.Context) GetAclTokensAclTokenOutput { + return o +} + +func (o GetAclTokensAclTokenOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclTokensAclToken] { + return pulumix.Output[GetAclTokensAclToken]{ + OutputState: o.OutputState, + } +} + +// `(TypeString)` Non-sensitive identifier for the token. +func (o GetAclTokensAclTokenOutput) AccessorId() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclToken) string { return v.AccessorId }).(pulumi.StringOutput) +} + +// `(string)` Date and time the token was created at. +func (o GetAclTokensAclTokenOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclToken) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// `(string)` - The timestamp after which the token is +// considered expired and eligible for destruction. +func (o GetAclTokensAclTokenOutput) ExpirationTime() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclToken) string { return v.ExpirationTime }).(pulumi.StringOutput) +} + +// `(bool)` Whether the token is replicated to all regions. +func (o GetAclTokensAclTokenOutput) Global() pulumi.BoolOutput { + return o.ApplyT(func(v GetAclTokensAclToken) bool { return v.Global }).(pulumi.BoolOutput) +} + +// `(TypeString)` The name of the token. +func (o GetAclTokensAclTokenOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclToken) string { return v.Name }).(pulumi.StringOutput) } -func (o VolumeTopologyRequestRequiredTopologyOutput) ToVolumeTopologyRequestRequiredTopologyOutput() VolumeTopologyRequestRequiredTopologyOutput { - return o +// `(list of strings)` The list of policies attached to the token. +func (o GetAclTokensAclTokenOutput) Policies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetAclTokensAclToken) []string { return v.Policies }).(pulumi.StringArrayOutput) } -func (o VolumeTopologyRequestRequiredTopologyOutput) ToVolumeTopologyRequestRequiredTopologyOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyOutput { - return o +// `(set: [])` - The list of roles attached to the token. Each entry has +// `name` and `id` attributes. +func (o GetAclTokensAclTokenOutput) Roles() GetAclTokensAclTokenRoleArrayOutput { + return o.ApplyT(func(v GetAclTokensAclToken) []GetAclTokensAclTokenRole { return v.Roles }).(GetAclTokensAclTokenRoleArrayOutput) } -// `(map[string]string)` - Define the attributes for the topology request. -// -// In addition to the above arguments, the following attributes are exported and -// can be referenced: -func (o VolumeTopologyRequestRequiredTopologyOutput) Segments() pulumi.StringMapOutput { - return o.ApplyT(func(v VolumeTopologyRequestRequiredTopology) map[string]string { return v.Segments }).(pulumi.StringMapOutput) +// `(TypeString)` The type of the token. +func (o GetAclTokensAclTokenOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclToken) string { return v.Type }).(pulumi.StringOutput) } -type VolumeTopologyRequestRequiredTopologyArrayOutput struct{ *pulumi.OutputState } +type GetAclTokensAclTokenArrayOutput struct{ *pulumi.OutputState } -func (VolumeTopologyRequestRequiredTopologyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]VolumeTopologyRequestRequiredTopology)(nil)).Elem() +func (GetAclTokensAclTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokensAclToken)(nil)).Elem() } -func (o VolumeTopologyRequestRequiredTopologyArrayOutput) ToVolumeTopologyRequestRequiredTopologyArrayOutput() VolumeTopologyRequestRequiredTopologyArrayOutput { +func (o GetAclTokensAclTokenArrayOutput) ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput { return o } -func (o VolumeTopologyRequestRequiredTopologyArrayOutput) ToVolumeTopologyRequestRequiredTopologyArrayOutputWithContext(ctx context.Context) VolumeTopologyRequestRequiredTopologyArrayOutput { +func (o GetAclTokensAclTokenArrayOutput) ToGetAclTokensAclTokenArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenArrayOutput { return o } -func (o VolumeTopologyRequestRequiredTopologyArrayOutput) Index(i pulumi.IntInput) VolumeTopologyRequestRequiredTopologyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) VolumeTopologyRequestRequiredTopology { - return vs[0].([]VolumeTopologyRequestRequiredTopology)[vs[1].(int)] - }).(VolumeTopologyRequestRequiredTopologyOutput) +func (o GetAclTokensAclTokenArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokensAclToken] { + return pulumix.Output[[]GetAclTokensAclToken]{ + OutputState: o.OutputState, + } } -type GetAclPoliciesPolicy struct { - // `(string)` - the description of the ACL Policy. - Description string `pulumi:"description"` - // `(string)` - the name of the ACL Policy. +func (o GetAclTokensAclTokenArrayOutput) Index(i pulumi.IntInput) GetAclTokensAclTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokensAclToken { + return vs[0].([]GetAclTokensAclToken)[vs[1].(int)] + }).(GetAclTokensAclTokenOutput) +} + +type GetAclTokensAclTokenRole struct { + Id string `pulumi:"id"` + // `(TypeString)` The name of the token. Name string `pulumi:"name"` } -// GetAclPoliciesPolicyInput is an input type that accepts GetAclPoliciesPolicyArgs and GetAclPoliciesPolicyOutput values. -// You can construct a concrete instance of `GetAclPoliciesPolicyInput` via: +// GetAclTokensAclTokenRoleInput is an input type that accepts GetAclTokensAclTokenRoleArgs and GetAclTokensAclTokenRoleOutput values. +// You can construct a concrete instance of `GetAclTokensAclTokenRoleInput` via: // -// GetAclPoliciesPolicyArgs{...} -type GetAclPoliciesPolicyInput interface { +// GetAclTokensAclTokenRoleArgs{...} +type GetAclTokensAclTokenRoleInput interface { pulumi.Input - ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput - ToGetAclPoliciesPolicyOutputWithContext(context.Context) GetAclPoliciesPolicyOutput + ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput + ToGetAclTokensAclTokenRoleOutputWithContext(context.Context) GetAclTokensAclTokenRoleOutput } -type GetAclPoliciesPolicyArgs struct { - // `(string)` - the description of the ACL Policy. - Description pulumi.StringInput `pulumi:"description"` - // `(string)` - the name of the ACL Policy. +type GetAclTokensAclTokenRoleArgs struct { + Id pulumi.StringInput `pulumi:"id"` + // `(TypeString)` The name of the token. Name pulumi.StringInput `pulumi:"name"` } -func (GetAclPoliciesPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclPoliciesPolicy)(nil)).Elem() +func (GetAclTokensAclTokenRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokensAclTokenRole)(nil)).Elem() } -func (i GetAclPoliciesPolicyArgs) ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput { - return i.ToGetAclPoliciesPolicyOutputWithContext(context.Background()) +func (i GetAclTokensAclTokenRoleArgs) ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput { + return i.ToGetAclTokensAclTokenRoleOutputWithContext(context.Background()) } -func (i GetAclPoliciesPolicyArgs) ToGetAclPoliciesPolicyOutputWithContext(ctx context.Context) GetAclPoliciesPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclPoliciesPolicyOutput) +func (i GetAclTokensAclTokenRoleArgs) ToGetAclTokensAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenRoleOutput) } -// GetAclPoliciesPolicyArrayInput is an input type that accepts GetAclPoliciesPolicyArray and GetAclPoliciesPolicyArrayOutput values. -// You can construct a concrete instance of `GetAclPoliciesPolicyArrayInput` via: +func (i GetAclTokensAclTokenRoleArgs) ToOutput(ctx context.Context) pulumix.Output[GetAclTokensAclTokenRole] { + return pulumix.Output[GetAclTokensAclTokenRole]{ + OutputState: i.ToGetAclTokensAclTokenRoleOutputWithContext(ctx).OutputState, + } +} + +// GetAclTokensAclTokenRoleArrayInput is an input type that accepts GetAclTokensAclTokenRoleArray and GetAclTokensAclTokenRoleArrayOutput values. +// You can construct a concrete instance of `GetAclTokensAclTokenRoleArrayInput` via: // -// GetAclPoliciesPolicyArray{ GetAclPoliciesPolicyArgs{...} } -type GetAclPoliciesPolicyArrayInput interface { +// GetAclTokensAclTokenRoleArray{ GetAclTokensAclTokenRoleArgs{...} } +type GetAclTokensAclTokenRoleArrayInput interface { pulumi.Input - ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput - ToGetAclPoliciesPolicyArrayOutputWithContext(context.Context) GetAclPoliciesPolicyArrayOutput + ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput + ToGetAclTokensAclTokenRoleArrayOutputWithContext(context.Context) GetAclTokensAclTokenRoleArrayOutput } -type GetAclPoliciesPolicyArray []GetAclPoliciesPolicyInput +type GetAclTokensAclTokenRoleArray []GetAclTokensAclTokenRoleInput -func (GetAclPoliciesPolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclPoliciesPolicy)(nil)).Elem() +func (GetAclTokensAclTokenRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokensAclTokenRole)(nil)).Elem() } -func (i GetAclPoliciesPolicyArray) ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput { - return i.ToGetAclPoliciesPolicyArrayOutputWithContext(context.Background()) +func (i GetAclTokensAclTokenRoleArray) ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput { + return i.ToGetAclTokensAclTokenRoleArrayOutputWithContext(context.Background()) } -func (i GetAclPoliciesPolicyArray) ToGetAclPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAclPoliciesPolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclPoliciesPolicyArrayOutput) +func (i GetAclTokensAclTokenRoleArray) ToGetAclTokensAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenRoleArrayOutput) } -type GetAclPoliciesPolicyOutput struct{ *pulumi.OutputState } +func (i GetAclTokensAclTokenRoleArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokensAclTokenRole] { + return pulumix.Output[[]GetAclTokensAclTokenRole]{ + OutputState: i.ToGetAclTokensAclTokenRoleArrayOutputWithContext(ctx).OutputState, + } +} -func (GetAclPoliciesPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclPoliciesPolicy)(nil)).Elem() +type GetAclTokensAclTokenRoleOutput struct{ *pulumi.OutputState } + +func (GetAclTokensAclTokenRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAclTokensAclTokenRole)(nil)).Elem() } -func (o GetAclPoliciesPolicyOutput) ToGetAclPoliciesPolicyOutput() GetAclPoliciesPolicyOutput { +func (o GetAclTokensAclTokenRoleOutput) ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput { return o } -func (o GetAclPoliciesPolicyOutput) ToGetAclPoliciesPolicyOutputWithContext(ctx context.Context) GetAclPoliciesPolicyOutput { +func (o GetAclTokensAclTokenRoleOutput) ToGetAclTokensAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleOutput { return o } -// `(string)` - the description of the ACL Policy. -func (o GetAclPoliciesPolicyOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetAclPoliciesPolicy) string { return v.Description }).(pulumi.StringOutput) +func (o GetAclTokensAclTokenRoleOutput) ToOutput(ctx context.Context) pulumix.Output[GetAclTokensAclTokenRole] { + return pulumix.Output[GetAclTokensAclTokenRole]{ + OutputState: o.OutputState, + } } -// `(string)` - the name of the ACL Policy. -func (o GetAclPoliciesPolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclPoliciesPolicy) string { return v.Name }).(pulumi.StringOutput) +func (o GetAclTokensAclTokenRoleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclTokenRole) string { return v.Id }).(pulumi.StringOutput) } -type GetAclPoliciesPolicyArrayOutput struct{ *pulumi.OutputState } +// `(TypeString)` The name of the token. +func (o GetAclTokensAclTokenRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAclTokensAclTokenRole) string { return v.Name }).(pulumi.StringOutput) +} -func (GetAclPoliciesPolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclPoliciesPolicy)(nil)).Elem() +type GetAclTokensAclTokenRoleArrayOutput struct{ *pulumi.OutputState } + +func (GetAclTokensAclTokenRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAclTokensAclTokenRole)(nil)).Elem() } -func (o GetAclPoliciesPolicyArrayOutput) ToGetAclPoliciesPolicyArrayOutput() GetAclPoliciesPolicyArrayOutput { +func (o GetAclTokensAclTokenRoleArrayOutput) ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput { return o } -func (o GetAclPoliciesPolicyArrayOutput) ToGetAclPoliciesPolicyArrayOutputWithContext(ctx context.Context) GetAclPoliciesPolicyArrayOutput { +func (o GetAclTokensAclTokenRoleArrayOutput) ToGetAclTokensAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleArrayOutput { return o } -func (o GetAclPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetAclPoliciesPolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclPoliciesPolicy { - return vs[0].([]GetAclPoliciesPolicy)[vs[1].(int)] - }).(GetAclPoliciesPolicyOutput) +func (o GetAclTokensAclTokenRoleArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAclTokensAclTokenRole] { + return pulumix.Output[[]GetAclTokensAclTokenRole]{ + OutputState: o.OutputState, + } } -type GetAclRolePolicy struct { - // `(string)` - Unique name of the ACL role. - Name string `pulumi:"name"` +func (o GetAclTokensAclTokenRoleArrayOutput) Index(i pulumi.IntInput) GetAclTokensAclTokenRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokensAclTokenRole { + return vs[0].([]GetAclTokensAclTokenRole)[vs[1].(int)] + }).(GetAclTokensAclTokenRoleOutput) } -// GetAclRolePolicyInput is an input type that accepts GetAclRolePolicyArgs and GetAclRolePolicyOutput values. -// You can construct a concrete instance of `GetAclRolePolicyInput` via: +type GetAllocationsAllocation struct { + // `(string)` - The current client status of the allocation. + ClientStatus string `pulumi:"clientStatus"` + // `(int)` - The Raft index in which the allocation was created. + CreateIndex int `pulumi:"createIndex"` + // `(int)` - The timestamp of when the allocation was created. + CreateTime int `pulumi:"createTime"` + // `(string)` - The current desired status of the allocation. + DesiredStatus string `pulumi:"desiredStatus"` + // `(string)` - The ID of the evaluation that generated the allocation. + EvalId string `pulumi:"evalId"` + // `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + FollowupEvalId string `pulumi:"followupEvalId"` + // `(string)` - The ID of the allocation. + Id string `pulumi:"id"` + // `(string)` - The ID of the job related to the allocation. + JobId string `pulumi:"jobId"` + // `(string)` - The type of the job related to the allocation. + JobType string `pulumi:"jobType"` + // `(int)` - The version of the job that generated the allocation. + JobVersion int `pulumi:"jobVersion"` + // `(int)` - The Raft index in which the allocation was last modified. + ModifyIndex int `pulumi:"modifyIndex"` + // `(int)` - The timestamp of when the allocation was last modified. + ModifyTime int `pulumi:"modifyTime"` + // `(string)` - The name of the allocation. + Name string `pulumi:"name"` + // `(string)` - The namespace the allocation belongs to. + Namespace string `pulumi:"namespace"` + // `(string)` - The ID of the allocation that succeeds the allocation. + NextAllocation string `pulumi:"nextAllocation"` + // `(string)` - The ID of the node to which the allocation was scheduled. + NodeId string `pulumi:"nodeId"` + // `(string)` - The ID of the node to which the allocation was scheduled. + NodeName string `pulumi:"nodeName"` + // `(string)` - The ID of the allocation that preempted the allocation. + PreemptedByAllocation string `pulumi:"preemptedByAllocation"` + // `(string)` - The job task group related to the allocation. + TaskGroup string `pulumi:"taskGroup"` +} + +// GetAllocationsAllocationInput is an input type that accepts GetAllocationsAllocationArgs and GetAllocationsAllocationOutput values. +// You can construct a concrete instance of `GetAllocationsAllocationInput` via: // -// GetAclRolePolicyArgs{...} -type GetAclRolePolicyInput interface { +// GetAllocationsAllocationArgs{...} +type GetAllocationsAllocationInput interface { pulumi.Input - ToGetAclRolePolicyOutput() GetAclRolePolicyOutput - ToGetAclRolePolicyOutputWithContext(context.Context) GetAclRolePolicyOutput + ToGetAllocationsAllocationOutput() GetAllocationsAllocationOutput + ToGetAllocationsAllocationOutputWithContext(context.Context) GetAllocationsAllocationOutput +} + +type GetAllocationsAllocationArgs struct { + // `(string)` - The current client status of the allocation. + ClientStatus pulumi.StringInput `pulumi:"clientStatus"` + // `(int)` - The Raft index in which the allocation was created. + CreateIndex pulumi.IntInput `pulumi:"createIndex"` + // `(int)` - The timestamp of when the allocation was created. + CreateTime pulumi.IntInput `pulumi:"createTime"` + // `(string)` - The current desired status of the allocation. + DesiredStatus pulumi.StringInput `pulumi:"desiredStatus"` + // `(string)` - The ID of the evaluation that generated the allocation. + EvalId pulumi.StringInput `pulumi:"evalId"` + // `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + FollowupEvalId pulumi.StringInput `pulumi:"followupEvalId"` + // `(string)` - The ID of the allocation. + Id pulumi.StringInput `pulumi:"id"` + // `(string)` - The ID of the job related to the allocation. + JobId pulumi.StringInput `pulumi:"jobId"` + // `(string)` - The type of the job related to the allocation. + JobType pulumi.StringInput `pulumi:"jobType"` + // `(int)` - The version of the job that generated the allocation. + JobVersion pulumi.IntInput `pulumi:"jobVersion"` + // `(int)` - The Raft index in which the allocation was last modified. + ModifyIndex pulumi.IntInput `pulumi:"modifyIndex"` + // `(int)` - The timestamp of when the allocation was last modified. + ModifyTime pulumi.IntInput `pulumi:"modifyTime"` + // `(string)` - The name of the allocation. + Name pulumi.StringInput `pulumi:"name"` + // `(string)` - The namespace the allocation belongs to. + Namespace pulumi.StringInput `pulumi:"namespace"` + // `(string)` - The ID of the allocation that succeeds the allocation. + NextAllocation pulumi.StringInput `pulumi:"nextAllocation"` + // `(string)` - The ID of the node to which the allocation was scheduled. + NodeId pulumi.StringInput `pulumi:"nodeId"` + // `(string)` - The ID of the node to which the allocation was scheduled. + NodeName pulumi.StringInput `pulumi:"nodeName"` + // `(string)` - The ID of the allocation that preempted the allocation. + PreemptedByAllocation pulumi.StringInput `pulumi:"preemptedByAllocation"` + // `(string)` - The job task group related to the allocation. + TaskGroup pulumi.StringInput `pulumi:"taskGroup"` } -type GetAclRolePolicyArgs struct { - // `(string)` - Unique name of the ACL role. - Name pulumi.StringInput `pulumi:"name"` +func (GetAllocationsAllocationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetAllocationsAllocation)(nil)).Elem() } -func (GetAclRolePolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolePolicy)(nil)).Elem() +func (i GetAllocationsAllocationArgs) ToGetAllocationsAllocationOutput() GetAllocationsAllocationOutput { + return i.ToGetAllocationsAllocationOutputWithContext(context.Background()) } -func (i GetAclRolePolicyArgs) ToGetAclRolePolicyOutput() GetAclRolePolicyOutput { - return i.ToGetAclRolePolicyOutputWithContext(context.Background()) +func (i GetAllocationsAllocationArgs) ToGetAllocationsAllocationOutputWithContext(ctx context.Context) GetAllocationsAllocationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAllocationsAllocationOutput) } -func (i GetAclRolePolicyArgs) ToGetAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolePolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolePolicyOutput) +func (i GetAllocationsAllocationArgs) ToOutput(ctx context.Context) pulumix.Output[GetAllocationsAllocation] { + return pulumix.Output[GetAllocationsAllocation]{ + OutputState: i.ToGetAllocationsAllocationOutputWithContext(ctx).OutputState, + } } -// GetAclRolePolicyArrayInput is an input type that accepts GetAclRolePolicyArray and GetAclRolePolicyArrayOutput values. -// You can construct a concrete instance of `GetAclRolePolicyArrayInput` via: +// GetAllocationsAllocationArrayInput is an input type that accepts GetAllocationsAllocationArray and GetAllocationsAllocationArrayOutput values. +// You can construct a concrete instance of `GetAllocationsAllocationArrayInput` via: // -// GetAclRolePolicyArray{ GetAclRolePolicyArgs{...} } -type GetAclRolePolicyArrayInput interface { +// GetAllocationsAllocationArray{ GetAllocationsAllocationArgs{...} } +type GetAllocationsAllocationArrayInput interface { pulumi.Input - ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput - ToGetAclRolePolicyArrayOutputWithContext(context.Context) GetAclRolePolicyArrayOutput -} - -type GetAclRolePolicyArray []GetAclRolePolicyInput - -func (GetAclRolePolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolePolicy)(nil)).Elem() -} - -func (i GetAclRolePolicyArray) ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput { - return i.ToGetAclRolePolicyArrayOutputWithContext(context.Background()) -} - -func (i GetAclRolePolicyArray) ToGetAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolePolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolePolicyArrayOutput) + ToGetAllocationsAllocationArrayOutput() GetAllocationsAllocationArrayOutput + ToGetAllocationsAllocationArrayOutputWithContext(context.Context) GetAllocationsAllocationArrayOutput } -type GetAclRolePolicyOutput struct{ *pulumi.OutputState } +type GetAllocationsAllocationArray []GetAllocationsAllocationInput -func (GetAclRolePolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolePolicy)(nil)).Elem() +func (GetAllocationsAllocationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAllocationsAllocation)(nil)).Elem() } -func (o GetAclRolePolicyOutput) ToGetAclRolePolicyOutput() GetAclRolePolicyOutput { - return o +func (i GetAllocationsAllocationArray) ToGetAllocationsAllocationArrayOutput() GetAllocationsAllocationArrayOutput { + return i.ToGetAllocationsAllocationArrayOutputWithContext(context.Background()) } -func (o GetAclRolePolicyOutput) ToGetAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolePolicyOutput { - return o +func (i GetAllocationsAllocationArray) ToGetAllocationsAllocationArrayOutputWithContext(ctx context.Context) GetAllocationsAllocationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetAllocationsAllocationArrayOutput) } -// `(string)` - Unique name of the ACL role. -func (o GetAclRolePolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclRolePolicy) string { return v.Name }).(pulumi.StringOutput) +func (i GetAllocationsAllocationArray) ToOutput(ctx context.Context) pulumix.Output[[]GetAllocationsAllocation] { + return pulumix.Output[[]GetAllocationsAllocation]{ + OutputState: i.ToGetAllocationsAllocationArrayOutputWithContext(ctx).OutputState, + } } -type GetAclRolePolicyArrayOutput struct{ *pulumi.OutputState } +type GetAllocationsAllocationOutput struct{ *pulumi.OutputState } -func (GetAclRolePolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolePolicy)(nil)).Elem() +func (GetAllocationsAllocationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetAllocationsAllocation)(nil)).Elem() } -func (o GetAclRolePolicyArrayOutput) ToGetAclRolePolicyArrayOutput() GetAclRolePolicyArrayOutput { +func (o GetAllocationsAllocationOutput) ToGetAllocationsAllocationOutput() GetAllocationsAllocationOutput { return o } -func (o GetAclRolePolicyArrayOutput) ToGetAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolePolicyArrayOutput { +func (o GetAllocationsAllocationOutput) ToGetAllocationsAllocationOutputWithContext(ctx context.Context) GetAllocationsAllocationOutput { return o } -func (o GetAclRolePolicyArrayOutput) Index(i pulumi.IntInput) GetAclRolePolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolePolicy { - return vs[0].([]GetAclRolePolicy)[vs[1].(int)] - }).(GetAclRolePolicyOutput) +func (o GetAllocationsAllocationOutput) ToOutput(ctx context.Context) pulumix.Output[GetAllocationsAllocation] { + return pulumix.Output[GetAllocationsAllocation]{ + OutputState: o.OutputState, + } } -type GetAclRolesAclRole struct { - // `(string)` - The description of the ACL Role. - Description string `pulumi:"description"` - // `(string)` - The ACL Role unique identifier. - Id string `pulumi:"id"` - // `(string)` - Unique name of the ACL role. - Name string `pulumi:"name"` - // `(set)` - The policies applied to the role. - Policies []GetAclRolesAclRolePolicy `pulumi:"policies"` +// `(string)` - The current client status of the allocation. +func (o GetAllocationsAllocationOutput) ClientStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.ClientStatus }).(pulumi.StringOutput) } -// GetAclRolesAclRoleInput is an input type that accepts GetAclRolesAclRoleArgs and GetAclRolesAclRoleOutput values. -// You can construct a concrete instance of `GetAclRolesAclRoleInput` via: -// -// GetAclRolesAclRoleArgs{...} -type GetAclRolesAclRoleInput interface { - pulumi.Input - - ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput - ToGetAclRolesAclRoleOutputWithContext(context.Context) GetAclRolesAclRoleOutput +// `(int)` - The Raft index in which the allocation was created. +func (o GetAllocationsAllocationOutput) CreateIndex() pulumi.IntOutput { + return o.ApplyT(func(v GetAllocationsAllocation) int { return v.CreateIndex }).(pulumi.IntOutput) } -type GetAclRolesAclRoleArgs struct { - // `(string)` - The description of the ACL Role. - Description pulumi.StringInput `pulumi:"description"` - // `(string)` - The ACL Role unique identifier. - Id pulumi.StringInput `pulumi:"id"` - // `(string)` - Unique name of the ACL role. - Name pulumi.StringInput `pulumi:"name"` - // `(set)` - The policies applied to the role. - Policies GetAclRolesAclRolePolicyArrayInput `pulumi:"policies"` +// `(int)` - The timestamp of when the allocation was created. +func (o GetAllocationsAllocationOutput) CreateTime() pulumi.IntOutput { + return o.ApplyT(func(v GetAllocationsAllocation) int { return v.CreateTime }).(pulumi.IntOutput) } -func (GetAclRolesAclRoleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolesAclRole)(nil)).Elem() +// `(string)` - The current desired status of the allocation. +func (o GetAllocationsAllocationOutput) DesiredStatus() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.DesiredStatus }).(pulumi.StringOutput) } -func (i GetAclRolesAclRoleArgs) ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput { - return i.ToGetAclRolesAclRoleOutputWithContext(context.Background()) +// `(string)` - The ID of the evaluation that generated the allocation. +func (o GetAllocationsAllocationOutput) EvalId() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.EvalId }).(pulumi.StringOutput) } -func (i GetAclRolesAclRoleArgs) ToGetAclRolesAclRoleOutputWithContext(ctx context.Context) GetAclRolesAclRoleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRoleOutput) +// `(string)` - The ID of the evaluation that succeeds the allocation evaluation. +func (o GetAllocationsAllocationOutput) FollowupEvalId() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.FollowupEvalId }).(pulumi.StringOutput) } -// GetAclRolesAclRoleArrayInput is an input type that accepts GetAclRolesAclRoleArray and GetAclRolesAclRoleArrayOutput values. -// You can construct a concrete instance of `GetAclRolesAclRoleArrayInput` via: -// -// GetAclRolesAclRoleArray{ GetAclRolesAclRoleArgs{...} } -type GetAclRolesAclRoleArrayInput interface { - pulumi.Input - - ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput - ToGetAclRolesAclRoleArrayOutputWithContext(context.Context) GetAclRolesAclRoleArrayOutput +// `(string)` - The ID of the allocation. +func (o GetAllocationsAllocationOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.Id }).(pulumi.StringOutput) } -type GetAclRolesAclRoleArray []GetAclRolesAclRoleInput +// `(string)` - The ID of the job related to the allocation. +func (o GetAllocationsAllocationOutput) JobId() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.JobId }).(pulumi.StringOutput) +} -func (GetAclRolesAclRoleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolesAclRole)(nil)).Elem() +// `(string)` - The type of the job related to the allocation. +func (o GetAllocationsAllocationOutput) JobType() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.JobType }).(pulumi.StringOutput) } -func (i GetAclRolesAclRoleArray) ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput { - return i.ToGetAclRolesAclRoleArrayOutputWithContext(context.Background()) +// `(int)` - The version of the job that generated the allocation. +func (o GetAllocationsAllocationOutput) JobVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetAllocationsAllocation) int { return v.JobVersion }).(pulumi.IntOutput) } -func (i GetAclRolesAclRoleArray) ToGetAclRolesAclRoleArrayOutputWithContext(ctx context.Context) GetAclRolesAclRoleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRoleArrayOutput) +// `(int)` - The Raft index in which the allocation was last modified. +func (o GetAllocationsAllocationOutput) ModifyIndex() pulumi.IntOutput { + return o.ApplyT(func(v GetAllocationsAllocation) int { return v.ModifyIndex }).(pulumi.IntOutput) } -type GetAclRolesAclRoleOutput struct{ *pulumi.OutputState } +// `(int)` - The timestamp of when the allocation was last modified. +func (o GetAllocationsAllocationOutput) ModifyTime() pulumi.IntOutput { + return o.ApplyT(func(v GetAllocationsAllocation) int { return v.ModifyTime }).(pulumi.IntOutput) +} -func (GetAclRolesAclRoleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolesAclRole)(nil)).Elem() +// `(string)` - The name of the allocation. +func (o GetAllocationsAllocationOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.Name }).(pulumi.StringOutput) } -func (o GetAclRolesAclRoleOutput) ToGetAclRolesAclRoleOutput() GetAclRolesAclRoleOutput { - return o +// `(string)` - The namespace the allocation belongs to. +func (o GetAllocationsAllocationOutput) Namespace() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.Namespace }).(pulumi.StringOutput) } -func (o GetAclRolesAclRoleOutput) ToGetAclRolesAclRoleOutputWithContext(ctx context.Context) GetAclRolesAclRoleOutput { - return o +// `(string)` - The ID of the allocation that succeeds the allocation. +func (o GetAllocationsAllocationOutput) NextAllocation() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.NextAllocation }).(pulumi.StringOutput) } -// `(string)` - The description of the ACL Role. -func (o GetAclRolesAclRoleOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Description }).(pulumi.StringOutput) +// `(string)` - The ID of the node to which the allocation was scheduled. +func (o GetAllocationsAllocationOutput) NodeId() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.NodeId }).(pulumi.StringOutput) } -// `(string)` - The ACL Role unique identifier. -func (o GetAclRolesAclRoleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Id }).(pulumi.StringOutput) +// `(string)` - The ID of the node to which the allocation was scheduled. +func (o GetAllocationsAllocationOutput) NodeName() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.NodeName }).(pulumi.StringOutput) } -// `(string)` - Unique name of the ACL role. -func (o GetAclRolesAclRoleOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclRolesAclRole) string { return v.Name }).(pulumi.StringOutput) +// `(string)` - The ID of the allocation that preempted the allocation. +func (o GetAllocationsAllocationOutput) PreemptedByAllocation() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.PreemptedByAllocation }).(pulumi.StringOutput) } -// `(set)` - The policies applied to the role. -func (o GetAclRolesAclRoleOutput) Policies() GetAclRolesAclRolePolicyArrayOutput { - return o.ApplyT(func(v GetAclRolesAclRole) []GetAclRolesAclRolePolicy { return v.Policies }).(GetAclRolesAclRolePolicyArrayOutput) +// `(string)` - The job task group related to the allocation. +func (o GetAllocationsAllocationOutput) TaskGroup() pulumi.StringOutput { + return o.ApplyT(func(v GetAllocationsAllocation) string { return v.TaskGroup }).(pulumi.StringOutput) } -type GetAclRolesAclRoleArrayOutput struct{ *pulumi.OutputState } +type GetAllocationsAllocationArrayOutput struct{ *pulumi.OutputState } -func (GetAclRolesAclRoleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolesAclRole)(nil)).Elem() +func (GetAllocationsAllocationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetAllocationsAllocation)(nil)).Elem() } -func (o GetAclRolesAclRoleArrayOutput) ToGetAclRolesAclRoleArrayOutput() GetAclRolesAclRoleArrayOutput { +func (o GetAllocationsAllocationArrayOutput) ToGetAllocationsAllocationArrayOutput() GetAllocationsAllocationArrayOutput { return o } -func (o GetAclRolesAclRoleArrayOutput) ToGetAclRolesAclRoleArrayOutputWithContext(ctx context.Context) GetAclRolesAclRoleArrayOutput { +func (o GetAllocationsAllocationArrayOutput) ToGetAllocationsAllocationArrayOutputWithContext(ctx context.Context) GetAllocationsAllocationArrayOutput { return o } -func (o GetAclRolesAclRoleArrayOutput) Index(i pulumi.IntInput) GetAclRolesAclRoleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolesAclRole { - return vs[0].([]GetAclRolesAclRole)[vs[1].(int)] - }).(GetAclRolesAclRoleOutput) +func (o GetAllocationsAllocationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetAllocationsAllocation] { + return pulumix.Output[[]GetAllocationsAllocation]{ + OutputState: o.OutputState, + } } -type GetAclRolesAclRolePolicy struct { - // `(string)` - Unique name of the ACL role. - Name string `pulumi:"name"` +func (o GetAllocationsAllocationArrayOutput) Index(i pulumi.IntInput) GetAllocationsAllocationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAllocationsAllocation { + return vs[0].([]GetAllocationsAllocation)[vs[1].(int)] + }).(GetAllocationsAllocationOutput) } -// GetAclRolesAclRolePolicyInput is an input type that accepts GetAclRolesAclRolePolicyArgs and GetAclRolesAclRolePolicyOutput values. -// You can construct a concrete instance of `GetAclRolesAclRolePolicyInput` via: +type GetJobConstraint struct { + // `(string)` Attribute being constrained. + Ltarget string `pulumi:"ltarget"` + // `(string)` Operator used to compare the attribute to the constraint. + Operand string `pulumi:"operand"` + // `(string)` Constraint value. + Rtarget string `pulumi:"rtarget"` +} + +// GetJobConstraintInput is an input type that accepts GetJobConstraintArgs and GetJobConstraintOutput values. +// You can construct a concrete instance of `GetJobConstraintInput` via: // -// GetAclRolesAclRolePolicyArgs{...} -type GetAclRolesAclRolePolicyInput interface { +// GetJobConstraintArgs{...} +type GetJobConstraintInput interface { pulumi.Input - ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput - ToGetAclRolesAclRolePolicyOutputWithContext(context.Context) GetAclRolesAclRolePolicyOutput + ToGetJobConstraintOutput() GetJobConstraintOutput + ToGetJobConstraintOutputWithContext(context.Context) GetJobConstraintOutput } -type GetAclRolesAclRolePolicyArgs struct { - // `(string)` - Unique name of the ACL role. - Name pulumi.StringInput `pulumi:"name"` +type GetJobConstraintArgs struct { + // `(string)` Attribute being constrained. + Ltarget pulumi.StringInput `pulumi:"ltarget"` + // `(string)` Operator used to compare the attribute to the constraint. + Operand pulumi.StringInput `pulumi:"operand"` + // `(string)` Constraint value. + Rtarget pulumi.StringInput `pulumi:"rtarget"` } -func (GetAclRolesAclRolePolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolesAclRolePolicy)(nil)).Elem() +func (GetJobConstraintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobConstraint)(nil)).Elem() } -func (i GetAclRolesAclRolePolicyArgs) ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput { - return i.ToGetAclRolesAclRolePolicyOutputWithContext(context.Background()) +func (i GetJobConstraintArgs) ToGetJobConstraintOutput() GetJobConstraintOutput { + return i.ToGetJobConstraintOutputWithContext(context.Background()) } -func (i GetAclRolesAclRolePolicyArgs) ToGetAclRolesAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRolePolicyOutput) +func (i GetJobConstraintArgs) ToGetJobConstraintOutputWithContext(ctx context.Context) GetJobConstraintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobConstraintOutput) } -// GetAclRolesAclRolePolicyArrayInput is an input type that accepts GetAclRolesAclRolePolicyArray and GetAclRolesAclRolePolicyArrayOutput values. -// You can construct a concrete instance of `GetAclRolesAclRolePolicyArrayInput` via: +func (i GetJobConstraintArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobConstraint] { + return pulumix.Output[GetJobConstraint]{ + OutputState: i.ToGetJobConstraintOutputWithContext(ctx).OutputState, + } +} + +// GetJobConstraintArrayInput is an input type that accepts GetJobConstraintArray and GetJobConstraintArrayOutput values. +// You can construct a concrete instance of `GetJobConstraintArrayInput` via: // -// GetAclRolesAclRolePolicyArray{ GetAclRolesAclRolePolicyArgs{...} } -type GetAclRolesAclRolePolicyArrayInput interface { +// GetJobConstraintArray{ GetJobConstraintArgs{...} } +type GetJobConstraintArrayInput interface { pulumi.Input - ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput - ToGetAclRolesAclRolePolicyArrayOutputWithContext(context.Context) GetAclRolesAclRolePolicyArrayOutput + ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput + ToGetJobConstraintArrayOutputWithContext(context.Context) GetJobConstraintArrayOutput } -type GetAclRolesAclRolePolicyArray []GetAclRolesAclRolePolicyInput +type GetJobConstraintArray []GetJobConstraintInput -func (GetAclRolesAclRolePolicyArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolesAclRolePolicy)(nil)).Elem() +func (GetJobConstraintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobConstraint)(nil)).Elem() } -func (i GetAclRolesAclRolePolicyArray) ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput { - return i.ToGetAclRolesAclRolePolicyArrayOutputWithContext(context.Background()) +func (i GetJobConstraintArray) ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput { + return i.ToGetJobConstraintArrayOutputWithContext(context.Background()) } -func (i GetAclRolesAclRolePolicyArray) ToGetAclRolesAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclRolesAclRolePolicyArrayOutput) +func (i GetJobConstraintArray) ToGetJobConstraintArrayOutputWithContext(ctx context.Context) GetJobConstraintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobConstraintArrayOutput) } -type GetAclRolesAclRolePolicyOutput struct{ *pulumi.OutputState } +func (i GetJobConstraintArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobConstraint] { + return pulumix.Output[[]GetJobConstraint]{ + OutputState: i.ToGetJobConstraintArrayOutputWithContext(ctx).OutputState, + } +} -func (GetAclRolesAclRolePolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclRolesAclRolePolicy)(nil)).Elem() +type GetJobConstraintOutput struct{ *pulumi.OutputState } + +func (GetJobConstraintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobConstraint)(nil)).Elem() } -func (o GetAclRolesAclRolePolicyOutput) ToGetAclRolesAclRolePolicyOutput() GetAclRolesAclRolePolicyOutput { +func (o GetJobConstraintOutput) ToGetJobConstraintOutput() GetJobConstraintOutput { return o } -func (o GetAclRolesAclRolePolicyOutput) ToGetAclRolesAclRolePolicyOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyOutput { +func (o GetJobConstraintOutput) ToGetJobConstraintOutputWithContext(ctx context.Context) GetJobConstraintOutput { return o } -// `(string)` - Unique name of the ACL role. -func (o GetAclRolesAclRolePolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclRolesAclRolePolicy) string { return v.Name }).(pulumi.StringOutput) +func (o GetJobConstraintOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobConstraint] { + return pulumix.Output[GetJobConstraint]{ + OutputState: o.OutputState, + } } -type GetAclRolesAclRolePolicyArrayOutput struct{ *pulumi.OutputState } +// `(string)` Attribute being constrained. +func (o GetJobConstraintOutput) Ltarget() pulumi.StringOutput { + return o.ApplyT(func(v GetJobConstraint) string { return v.Ltarget }).(pulumi.StringOutput) +} -func (GetAclRolesAclRolePolicyArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclRolesAclRolePolicy)(nil)).Elem() +// `(string)` Operator used to compare the attribute to the constraint. +func (o GetJobConstraintOutput) Operand() pulumi.StringOutput { + return o.ApplyT(func(v GetJobConstraint) string { return v.Operand }).(pulumi.StringOutput) } -func (o GetAclRolesAclRolePolicyArrayOutput) ToGetAclRolesAclRolePolicyArrayOutput() GetAclRolesAclRolePolicyArrayOutput { +// `(string)` Constraint value. +func (o GetJobConstraintOutput) Rtarget() pulumi.StringOutput { + return o.ApplyT(func(v GetJobConstraint) string { return v.Rtarget }).(pulumi.StringOutput) +} + +type GetJobConstraintArrayOutput struct{ *pulumi.OutputState } + +func (GetJobConstraintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobConstraint)(nil)).Elem() +} + +func (o GetJobConstraintArrayOutput) ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput { return o } -func (o GetAclRolesAclRolePolicyArrayOutput) ToGetAclRolesAclRolePolicyArrayOutputWithContext(ctx context.Context) GetAclRolesAclRolePolicyArrayOutput { +func (o GetJobConstraintArrayOutput) ToGetJobConstraintArrayOutputWithContext(ctx context.Context) GetJobConstraintArrayOutput { return o } -func (o GetAclRolesAclRolePolicyArrayOutput) Index(i pulumi.IntInput) GetAclRolesAclRolePolicyOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclRolesAclRolePolicy { - return vs[0].([]GetAclRolesAclRolePolicy)[vs[1].(int)] - }).(GetAclRolesAclRolePolicyOutput) +func (o GetJobConstraintArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobConstraint] { + return pulumix.Output[[]GetJobConstraint]{ + OutputState: o.OutputState, + } } -type GetAclTokenRole struct { - Id string `pulumi:"id"` - // `(string)` Non-sensitive identifier for this token. - Name string `pulumi:"name"` +func (o GetJobConstraintArrayOutput) Index(i pulumi.IntInput) GetJobConstraintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobConstraint { + return vs[0].([]GetJobConstraint)[vs[1].(int)] + }).(GetJobConstraintOutput) } -// GetAclTokenRoleInput is an input type that accepts GetAclTokenRoleArgs and GetAclTokenRoleOutput values. -// You can construct a concrete instance of `GetAclTokenRoleInput` via: +type GetJobPeriodicConfig struct { + // `(boolean)` If periodic scheduling is enabled for the specified job. + Enabled bool `pulumi:"enabled"` + // `(boolean)` If the specified job should wait until previous instances of the job have completed. + ProhibitOverlap bool `pulumi:"prohibitOverlap"` + // `(string)` + Spec string `pulumi:"spec"` + // `(string)` + SpecType string `pulumi:"specType"` + // `(string)` Time zone to evaluate the next launch interval against. + Timezone string `pulumi:"timezone"` +} + +// GetJobPeriodicConfigInput is an input type that accepts GetJobPeriodicConfigArgs and GetJobPeriodicConfigOutput values. +// You can construct a concrete instance of `GetJobPeriodicConfigInput` via: // -// GetAclTokenRoleArgs{...} -type GetAclTokenRoleInput interface { +// GetJobPeriodicConfigArgs{...} +type GetJobPeriodicConfigInput interface { pulumi.Input - ToGetAclTokenRoleOutput() GetAclTokenRoleOutput - ToGetAclTokenRoleOutputWithContext(context.Context) GetAclTokenRoleOutput + ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput + ToGetJobPeriodicConfigOutputWithContext(context.Context) GetJobPeriodicConfigOutput } -type GetAclTokenRoleArgs struct { - Id pulumi.StringInput `pulumi:"id"` - // `(string)` Non-sensitive identifier for this token. - Name pulumi.StringInput `pulumi:"name"` +type GetJobPeriodicConfigArgs struct { + // `(boolean)` If periodic scheduling is enabled for the specified job. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // `(boolean)` If the specified job should wait until previous instances of the job have completed. + ProhibitOverlap pulumi.BoolInput `pulumi:"prohibitOverlap"` + // `(string)` + Spec pulumi.StringInput `pulumi:"spec"` + // `(string)` + SpecType pulumi.StringInput `pulumi:"specType"` + // `(string)` Time zone to evaluate the next launch interval against. + Timezone pulumi.StringInput `pulumi:"timezone"` } -func (GetAclTokenRoleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokenRole)(nil)).Elem() +func (GetJobPeriodicConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobPeriodicConfig)(nil)).Elem() } -func (i GetAclTokenRoleArgs) ToGetAclTokenRoleOutput() GetAclTokenRoleOutput { - return i.ToGetAclTokenRoleOutputWithContext(context.Background()) +func (i GetJobPeriodicConfigArgs) ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput { + return i.ToGetJobPeriodicConfigOutputWithContext(context.Background()) } -func (i GetAclTokenRoleArgs) ToGetAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokenRoleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokenRoleOutput) +func (i GetJobPeriodicConfigArgs) ToGetJobPeriodicConfigOutputWithContext(ctx context.Context) GetJobPeriodicConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobPeriodicConfigOutput) } -// GetAclTokenRoleArrayInput is an input type that accepts GetAclTokenRoleArray and GetAclTokenRoleArrayOutput values. -// You can construct a concrete instance of `GetAclTokenRoleArrayInput` via: +func (i GetJobPeriodicConfigArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobPeriodicConfig] { + return pulumix.Output[GetJobPeriodicConfig]{ + OutputState: i.ToGetJobPeriodicConfigOutputWithContext(ctx).OutputState, + } +} + +// GetJobPeriodicConfigArrayInput is an input type that accepts GetJobPeriodicConfigArray and GetJobPeriodicConfigArrayOutput values. +// You can construct a concrete instance of `GetJobPeriodicConfigArrayInput` via: // -// GetAclTokenRoleArray{ GetAclTokenRoleArgs{...} } -type GetAclTokenRoleArrayInput interface { +// GetJobPeriodicConfigArray{ GetJobPeriodicConfigArgs{...} } +type GetJobPeriodicConfigArrayInput interface { pulumi.Input - ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput - ToGetAclTokenRoleArrayOutputWithContext(context.Context) GetAclTokenRoleArrayOutput + ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput + ToGetJobPeriodicConfigArrayOutputWithContext(context.Context) GetJobPeriodicConfigArrayOutput } -type GetAclTokenRoleArray []GetAclTokenRoleInput +type GetJobPeriodicConfigArray []GetJobPeriodicConfigInput -func (GetAclTokenRoleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokenRole)(nil)).Elem() +func (GetJobPeriodicConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobPeriodicConfig)(nil)).Elem() } -func (i GetAclTokenRoleArray) ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput { - return i.ToGetAclTokenRoleArrayOutputWithContext(context.Background()) +func (i GetJobPeriodicConfigArray) ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput { + return i.ToGetJobPeriodicConfigArrayOutputWithContext(context.Background()) +} + +func (i GetJobPeriodicConfigArray) ToGetJobPeriodicConfigArrayOutputWithContext(ctx context.Context) GetJobPeriodicConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobPeriodicConfigArrayOutput) +} + +func (i GetJobPeriodicConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobPeriodicConfig] { + return pulumix.Output[[]GetJobPeriodicConfig]{ + OutputState: i.ToGetJobPeriodicConfigArrayOutputWithContext(ctx).OutputState, + } +} + +type GetJobPeriodicConfigOutput struct{ *pulumi.OutputState } + +func (GetJobPeriodicConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobPeriodicConfig)(nil)).Elem() +} + +func (o GetJobPeriodicConfigOutput) ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput { + return o +} + +func (o GetJobPeriodicConfigOutput) ToGetJobPeriodicConfigOutputWithContext(ctx context.Context) GetJobPeriodicConfigOutput { + return o } -func (i GetAclTokenRoleArray) ToGetAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokenRoleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokenRoleArrayOutput) +func (o GetJobPeriodicConfigOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobPeriodicConfig] { + return pulumix.Output[GetJobPeriodicConfig]{ + OutputState: o.OutputState, + } } -type GetAclTokenRoleOutput struct{ *pulumi.OutputState } - -func (GetAclTokenRoleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokenRole)(nil)).Elem() +// `(boolean)` If periodic scheduling is enabled for the specified job. +func (o GetJobPeriodicConfigOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetJobPeriodicConfig) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (o GetAclTokenRoleOutput) ToGetAclTokenRoleOutput() GetAclTokenRoleOutput { - return o +// `(boolean)` If the specified job should wait until previous instances of the job have completed. +func (o GetJobPeriodicConfigOutput) ProhibitOverlap() pulumi.BoolOutput { + return o.ApplyT(func(v GetJobPeriodicConfig) bool { return v.ProhibitOverlap }).(pulumi.BoolOutput) } -func (o GetAclTokenRoleOutput) ToGetAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokenRoleOutput { - return o +// `(string)` +func (o GetJobPeriodicConfigOutput) Spec() pulumi.StringOutput { + return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.Spec }).(pulumi.StringOutput) } -func (o GetAclTokenRoleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokenRole) string { return v.Id }).(pulumi.StringOutput) +// `(string)` +func (o GetJobPeriodicConfigOutput) SpecType() pulumi.StringOutput { + return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.SpecType }).(pulumi.StringOutput) } -// `(string)` Non-sensitive identifier for this token. -func (o GetAclTokenRoleOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokenRole) string { return v.Name }).(pulumi.StringOutput) +// `(string)` Time zone to evaluate the next launch interval against. +func (o GetJobPeriodicConfigOutput) Timezone() pulumi.StringOutput { + return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.Timezone }).(pulumi.StringOutput) } -type GetAclTokenRoleArrayOutput struct{ *pulumi.OutputState } +type GetJobPeriodicConfigArrayOutput struct{ *pulumi.OutputState } -func (GetAclTokenRoleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokenRole)(nil)).Elem() +func (GetJobPeriodicConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobPeriodicConfig)(nil)).Elem() } -func (o GetAclTokenRoleArrayOutput) ToGetAclTokenRoleArrayOutput() GetAclTokenRoleArrayOutput { +func (o GetJobPeriodicConfigArrayOutput) ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput { return o } -func (o GetAclTokenRoleArrayOutput) ToGetAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokenRoleArrayOutput { +func (o GetJobPeriodicConfigArrayOutput) ToGetJobPeriodicConfigArrayOutputWithContext(ctx context.Context) GetJobPeriodicConfigArrayOutput { return o } -func (o GetAclTokenRoleArrayOutput) Index(i pulumi.IntInput) GetAclTokenRoleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokenRole { - return vs[0].([]GetAclTokenRole)[vs[1].(int)] - }).(GetAclTokenRoleOutput) +func (o GetJobPeriodicConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobPeriodicConfig] { + return pulumix.Output[[]GetJobPeriodicConfig]{ + OutputState: o.OutputState, + } } -type GetAclTokensAclToken struct { - // `(TypeString)` Non-sensitive identifier for the token. - AccessorId string `pulumi:"accessorId"` - // `(string)` Date and time the token was created at. - CreateTime string `pulumi:"createTime"` - // `(string)` - The timestamp after which the token is - // considered expired and eligible for destruction. - ExpirationTime string `pulumi:"expirationTime"` - // `(bool)` Whether the token is replicated to all regions. - Global bool `pulumi:"global"` - // `(TypeString)` The name of the token. - Name string `pulumi:"name"` - // `(list of strings)` The list of policies attached to the token. - Policies []string `pulumi:"policies"` - // `(set: [])` - The list of roles attached to the token. Each entry has - // `name` and `id` attributes. - Roles []GetAclTokensAclTokenRole `pulumi:"roles"` - // `(TypeString)` The type of the token. - Type string `pulumi:"type"` +func (o GetJobPeriodicConfigArrayOutput) Index(i pulumi.IntInput) GetJobPeriodicConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobPeriodicConfig { + return vs[0].([]GetJobPeriodicConfig)[vs[1].(int)] + }).(GetJobPeriodicConfigOutput) } -// GetAclTokensAclTokenInput is an input type that accepts GetAclTokensAclTokenArgs and GetAclTokensAclTokenOutput values. -// You can construct a concrete instance of `GetAclTokensAclTokenInput` via: +type GetJobTaskGroup struct { + Count int `pulumi:"count"` + Meta map[string]interface{} `pulumi:"meta"` + // `(string)` Name of the job. + Name string `pulumi:"name"` + Tasks []GetJobTaskGroupTask `pulumi:"tasks"` + Volumes []GetJobTaskGroupVolume `pulumi:"volumes"` +} + +// GetJobTaskGroupInput is an input type that accepts GetJobTaskGroupArgs and GetJobTaskGroupOutput values. +// You can construct a concrete instance of `GetJobTaskGroupInput` via: // -// GetAclTokensAclTokenArgs{...} -type GetAclTokensAclTokenInput interface { +// GetJobTaskGroupArgs{...} +type GetJobTaskGroupInput interface { pulumi.Input - ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput - ToGetAclTokensAclTokenOutputWithContext(context.Context) GetAclTokensAclTokenOutput + ToGetJobTaskGroupOutput() GetJobTaskGroupOutput + ToGetJobTaskGroupOutputWithContext(context.Context) GetJobTaskGroupOutput } -type GetAclTokensAclTokenArgs struct { - // `(TypeString)` Non-sensitive identifier for the token. - AccessorId pulumi.StringInput `pulumi:"accessorId"` - // `(string)` Date and time the token was created at. - CreateTime pulumi.StringInput `pulumi:"createTime"` - // `(string)` - The timestamp after which the token is - // considered expired and eligible for destruction. - ExpirationTime pulumi.StringInput `pulumi:"expirationTime"` - // `(bool)` Whether the token is replicated to all regions. - Global pulumi.BoolInput `pulumi:"global"` - // `(TypeString)` The name of the token. - Name pulumi.StringInput `pulumi:"name"` - // `(list of strings)` The list of policies attached to the token. - Policies pulumi.StringArrayInput `pulumi:"policies"` - // `(set: [])` - The list of roles attached to the token. Each entry has - // `name` and `id` attributes. - Roles GetAclTokensAclTokenRoleArrayInput `pulumi:"roles"` - // `(TypeString)` The type of the token. - Type pulumi.StringInput `pulumi:"type"` +type GetJobTaskGroupArgs struct { + Count pulumi.IntInput `pulumi:"count"` + Meta pulumi.MapInput `pulumi:"meta"` + // `(string)` Name of the job. + Name pulumi.StringInput `pulumi:"name"` + Tasks GetJobTaskGroupTaskArrayInput `pulumi:"tasks"` + Volumes GetJobTaskGroupVolumeArrayInput `pulumi:"volumes"` } -func (GetAclTokensAclTokenArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokensAclToken)(nil)).Elem() +func (GetJobTaskGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroup)(nil)).Elem() } -func (i GetAclTokensAclTokenArgs) ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput { - return i.ToGetAclTokensAclTokenOutputWithContext(context.Background()) +func (i GetJobTaskGroupArgs) ToGetJobTaskGroupOutput() GetJobTaskGroupOutput { + return i.ToGetJobTaskGroupOutputWithContext(context.Background()) } -func (i GetAclTokensAclTokenArgs) ToGetAclTokensAclTokenOutputWithContext(ctx context.Context) GetAclTokensAclTokenOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenOutput) +func (i GetJobTaskGroupArgs) ToGetJobTaskGroupOutputWithContext(ctx context.Context) GetJobTaskGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupOutput) } -// GetAclTokensAclTokenArrayInput is an input type that accepts GetAclTokensAclTokenArray and GetAclTokensAclTokenArrayOutput values. -// You can construct a concrete instance of `GetAclTokensAclTokenArrayInput` via: +func (i GetJobTaskGroupArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroup] { + return pulumix.Output[GetJobTaskGroup]{ + OutputState: i.ToGetJobTaskGroupOutputWithContext(ctx).OutputState, + } +} + +// GetJobTaskGroupArrayInput is an input type that accepts GetJobTaskGroupArray and GetJobTaskGroupArrayOutput values. +// You can construct a concrete instance of `GetJobTaskGroupArrayInput` via: // -// GetAclTokensAclTokenArray{ GetAclTokensAclTokenArgs{...} } -type GetAclTokensAclTokenArrayInput interface { +// GetJobTaskGroupArray{ GetJobTaskGroupArgs{...} } +type GetJobTaskGroupArrayInput interface { pulumi.Input - ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput - ToGetAclTokensAclTokenArrayOutputWithContext(context.Context) GetAclTokensAclTokenArrayOutput + ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput + ToGetJobTaskGroupArrayOutputWithContext(context.Context) GetJobTaskGroupArrayOutput } -type GetAclTokensAclTokenArray []GetAclTokensAclTokenInput +type GetJobTaskGroupArray []GetJobTaskGroupInput -func (GetAclTokensAclTokenArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokensAclToken)(nil)).Elem() +func (GetJobTaskGroupArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroup)(nil)).Elem() } -func (i GetAclTokensAclTokenArray) ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput { - return i.ToGetAclTokensAclTokenArrayOutputWithContext(context.Background()) +func (i GetJobTaskGroupArray) ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput { + return i.ToGetJobTaskGroupArrayOutputWithContext(context.Background()) } -func (i GetAclTokensAclTokenArray) ToGetAclTokensAclTokenArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenArrayOutput) +func (i GetJobTaskGroupArray) ToGetJobTaskGroupArrayOutputWithContext(ctx context.Context) GetJobTaskGroupArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupArrayOutput) } -type GetAclTokensAclTokenOutput struct{ *pulumi.OutputState } +func (i GetJobTaskGroupArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroup] { + return pulumix.Output[[]GetJobTaskGroup]{ + OutputState: i.ToGetJobTaskGroupArrayOutputWithContext(ctx).OutputState, + } +} -func (GetAclTokensAclTokenOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokensAclToken)(nil)).Elem() +type GetJobTaskGroupOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroup)(nil)).Elem() } -func (o GetAclTokensAclTokenOutput) ToGetAclTokensAclTokenOutput() GetAclTokensAclTokenOutput { +func (o GetJobTaskGroupOutput) ToGetJobTaskGroupOutput() GetJobTaskGroupOutput { return o } -func (o GetAclTokensAclTokenOutput) ToGetAclTokensAclTokenOutputWithContext(ctx context.Context) GetAclTokensAclTokenOutput { +func (o GetJobTaskGroupOutput) ToGetJobTaskGroupOutputWithContext(ctx context.Context) GetJobTaskGroupOutput { return o } -// `(TypeString)` Non-sensitive identifier for the token. -func (o GetAclTokensAclTokenOutput) AccessorId() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclToken) string { return v.AccessorId }).(pulumi.StringOutput) +func (o GetJobTaskGroupOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroup] { + return pulumix.Output[GetJobTaskGroup]{ + OutputState: o.OutputState, + } } -// `(string)` Date and time the token was created at. -func (o GetAclTokensAclTokenOutput) CreateTime() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclToken) string { return v.CreateTime }).(pulumi.StringOutput) +func (o GetJobTaskGroupOutput) Count() pulumi.IntOutput { + return o.ApplyT(func(v GetJobTaskGroup) int { return v.Count }).(pulumi.IntOutput) } -// `(string)` - The timestamp after which the token is -// considered expired and eligible for destruction. -func (o GetAclTokensAclTokenOutput) ExpirationTime() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclToken) string { return v.ExpirationTime }).(pulumi.StringOutput) +func (o GetJobTaskGroupOutput) Meta() pulumi.MapOutput { + return o.ApplyT(func(v GetJobTaskGroup) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) } -// `(bool)` Whether the token is replicated to all regions. -func (o GetAclTokensAclTokenOutput) Global() pulumi.BoolOutput { - return o.ApplyT(func(v GetAclTokensAclToken) bool { return v.Global }).(pulumi.BoolOutput) +// `(string)` Name of the job. +func (o GetJobTaskGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroup) string { return v.Name }).(pulumi.StringOutput) } -// `(TypeString)` The name of the token. -func (o GetAclTokensAclTokenOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclToken) string { return v.Name }).(pulumi.StringOutput) +func (o GetJobTaskGroupOutput) Tasks() GetJobTaskGroupTaskArrayOutput { + return o.ApplyT(func(v GetJobTaskGroup) []GetJobTaskGroupTask { return v.Tasks }).(GetJobTaskGroupTaskArrayOutput) } -// `(list of strings)` The list of policies attached to the token. -func (o GetAclTokensAclTokenOutput) Policies() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetAclTokensAclToken) []string { return v.Policies }).(pulumi.StringArrayOutput) +func (o GetJobTaskGroupOutput) Volumes() GetJobTaskGroupVolumeArrayOutput { + return o.ApplyT(func(v GetJobTaskGroup) []GetJobTaskGroupVolume { return v.Volumes }).(GetJobTaskGroupVolumeArrayOutput) } -// `(set: [])` - The list of roles attached to the token. Each entry has -// `name` and `id` attributes. -func (o GetAclTokensAclTokenOutput) Roles() GetAclTokensAclTokenRoleArrayOutput { - return o.ApplyT(func(v GetAclTokensAclToken) []GetAclTokensAclTokenRole { return v.Roles }).(GetAclTokensAclTokenRoleArrayOutput) -} +type GetJobTaskGroupArrayOutput struct{ *pulumi.OutputState } -// `(TypeString)` The type of the token. -func (o GetAclTokensAclTokenOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclToken) string { return v.Type }).(pulumi.StringOutput) +func (GetJobTaskGroupArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroup)(nil)).Elem() } -type GetAclTokensAclTokenArrayOutput struct{ *pulumi.OutputState } - -func (GetAclTokensAclTokenArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokensAclToken)(nil)).Elem() +func (o GetJobTaskGroupArrayOutput) ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput { + return o } -func (o GetAclTokensAclTokenArrayOutput) ToGetAclTokensAclTokenArrayOutput() GetAclTokensAclTokenArrayOutput { +func (o GetJobTaskGroupArrayOutput) ToGetJobTaskGroupArrayOutputWithContext(ctx context.Context) GetJobTaskGroupArrayOutput { return o } -func (o GetAclTokensAclTokenArrayOutput) ToGetAclTokensAclTokenArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenArrayOutput { - return o +func (o GetJobTaskGroupArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroup] { + return pulumix.Output[[]GetJobTaskGroup]{ + OutputState: o.OutputState, + } } -func (o GetAclTokensAclTokenArrayOutput) Index(i pulumi.IntInput) GetAclTokensAclTokenOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokensAclToken { - return vs[0].([]GetAclTokensAclToken)[vs[1].(int)] - }).(GetAclTokensAclTokenOutput) +func (o GetJobTaskGroupArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroup { + return vs[0].([]GetJobTaskGroup)[vs[1].(int)] + }).(GetJobTaskGroupOutput) } -type GetAclTokensAclTokenRole struct { - Id string `pulumi:"id"` - // `(TypeString)` The name of the token. - Name string `pulumi:"name"` +type GetJobTaskGroupTask struct { + Driver string `pulumi:"driver"` + Meta map[string]interface{} `pulumi:"meta"` + // `(string)` Name of the job. + Name string `pulumi:"name"` + VolumeMounts []GetJobTaskGroupTaskVolumeMount `pulumi:"volumeMounts"` } -// GetAclTokensAclTokenRoleInput is an input type that accepts GetAclTokensAclTokenRoleArgs and GetAclTokensAclTokenRoleOutput values. -// You can construct a concrete instance of `GetAclTokensAclTokenRoleInput` via: +// GetJobTaskGroupTaskInput is an input type that accepts GetJobTaskGroupTaskArgs and GetJobTaskGroupTaskOutput values. +// You can construct a concrete instance of `GetJobTaskGroupTaskInput` via: // -// GetAclTokensAclTokenRoleArgs{...} -type GetAclTokensAclTokenRoleInput interface { +// GetJobTaskGroupTaskArgs{...} +type GetJobTaskGroupTaskInput interface { pulumi.Input - ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput - ToGetAclTokensAclTokenRoleOutputWithContext(context.Context) GetAclTokensAclTokenRoleOutput + ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput + ToGetJobTaskGroupTaskOutputWithContext(context.Context) GetJobTaskGroupTaskOutput +} + +type GetJobTaskGroupTaskArgs struct { + Driver pulumi.StringInput `pulumi:"driver"` + Meta pulumi.MapInput `pulumi:"meta"` + // `(string)` Name of the job. + Name pulumi.StringInput `pulumi:"name"` + VolumeMounts GetJobTaskGroupTaskVolumeMountArrayInput `pulumi:"volumeMounts"` } -type GetAclTokensAclTokenRoleArgs struct { - Id pulumi.StringInput `pulumi:"id"` - // `(TypeString)` The name of the token. - Name pulumi.StringInput `pulumi:"name"` +func (GetJobTaskGroupTaskArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupTask)(nil)).Elem() } -func (GetAclTokensAclTokenRoleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokensAclTokenRole)(nil)).Elem() +func (i GetJobTaskGroupTaskArgs) ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput { + return i.ToGetJobTaskGroupTaskOutputWithContext(context.Background()) } -func (i GetAclTokensAclTokenRoleArgs) ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput { - return i.ToGetAclTokensAclTokenRoleOutputWithContext(context.Background()) +func (i GetJobTaskGroupTaskArgs) ToGetJobTaskGroupTaskOutputWithContext(ctx context.Context) GetJobTaskGroupTaskOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskOutput) } -func (i GetAclTokensAclTokenRoleArgs) ToGetAclTokensAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenRoleOutput) +func (i GetJobTaskGroupTaskArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupTask] { + return pulumix.Output[GetJobTaskGroupTask]{ + OutputState: i.ToGetJobTaskGroupTaskOutputWithContext(ctx).OutputState, + } } -// GetAclTokensAclTokenRoleArrayInput is an input type that accepts GetAclTokensAclTokenRoleArray and GetAclTokensAclTokenRoleArrayOutput values. -// You can construct a concrete instance of `GetAclTokensAclTokenRoleArrayInput` via: +// GetJobTaskGroupTaskArrayInput is an input type that accepts GetJobTaskGroupTaskArray and GetJobTaskGroupTaskArrayOutput values. +// You can construct a concrete instance of `GetJobTaskGroupTaskArrayInput` via: // -// GetAclTokensAclTokenRoleArray{ GetAclTokensAclTokenRoleArgs{...} } -type GetAclTokensAclTokenRoleArrayInput interface { +// GetJobTaskGroupTaskArray{ GetJobTaskGroupTaskArgs{...} } +type GetJobTaskGroupTaskArrayInput interface { pulumi.Input - ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput - ToGetAclTokensAclTokenRoleArrayOutputWithContext(context.Context) GetAclTokensAclTokenRoleArrayOutput + ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput + ToGetJobTaskGroupTaskArrayOutputWithContext(context.Context) GetJobTaskGroupTaskArrayOutput } -type GetAclTokensAclTokenRoleArray []GetAclTokensAclTokenRoleInput +type GetJobTaskGroupTaskArray []GetJobTaskGroupTaskInput -func (GetAclTokensAclTokenRoleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokensAclTokenRole)(nil)).Elem() +func (GetJobTaskGroupTaskArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupTask)(nil)).Elem() } -func (i GetAclTokensAclTokenRoleArray) ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput { - return i.ToGetAclTokensAclTokenRoleArrayOutputWithContext(context.Background()) +func (i GetJobTaskGroupTaskArray) ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput { + return i.ToGetJobTaskGroupTaskArrayOutputWithContext(context.Background()) } -func (i GetAclTokensAclTokenRoleArray) ToGetAclTokensAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetAclTokensAclTokenRoleArrayOutput) +func (i GetJobTaskGroupTaskArray) ToGetJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskArrayOutput) } -type GetAclTokensAclTokenRoleOutput struct{ *pulumi.OutputState } +func (i GetJobTaskGroupTaskArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupTask] { + return pulumix.Output[[]GetJobTaskGroupTask]{ + OutputState: i.ToGetJobTaskGroupTaskArrayOutputWithContext(ctx).OutputState, + } +} -func (GetAclTokensAclTokenRoleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetAclTokensAclTokenRole)(nil)).Elem() +type GetJobTaskGroupTaskOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupTaskOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupTask)(nil)).Elem() } -func (o GetAclTokensAclTokenRoleOutput) ToGetAclTokensAclTokenRoleOutput() GetAclTokensAclTokenRoleOutput { +func (o GetJobTaskGroupTaskOutput) ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput { return o } -func (o GetAclTokensAclTokenRoleOutput) ToGetAclTokensAclTokenRoleOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleOutput { +func (o GetJobTaskGroupTaskOutput) ToGetJobTaskGroupTaskOutputWithContext(ctx context.Context) GetJobTaskGroupTaskOutput { return o } -func (o GetAclTokensAclTokenRoleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclTokenRole) string { return v.Id }).(pulumi.StringOutput) +func (o GetJobTaskGroupTaskOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupTask] { + return pulumix.Output[GetJobTaskGroupTask]{ + OutputState: o.OutputState, + } } -// `(TypeString)` The name of the token. -func (o GetAclTokensAclTokenRoleOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetAclTokensAclTokenRole) string { return v.Name }).(pulumi.StringOutput) +func (o GetJobTaskGroupTaskOutput) Driver() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupTask) string { return v.Driver }).(pulumi.StringOutput) } -type GetAclTokensAclTokenRoleArrayOutput struct{ *pulumi.OutputState } +func (o GetJobTaskGroupTaskOutput) Meta() pulumi.MapOutput { + return o.ApplyT(func(v GetJobTaskGroupTask) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +} -func (GetAclTokensAclTokenRoleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetAclTokensAclTokenRole)(nil)).Elem() +// `(string)` Name of the job. +func (o GetJobTaskGroupTaskOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupTask) string { return v.Name }).(pulumi.StringOutput) } -func (o GetAclTokensAclTokenRoleArrayOutput) ToGetAclTokensAclTokenRoleArrayOutput() GetAclTokensAclTokenRoleArrayOutput { +func (o GetJobTaskGroupTaskOutput) VolumeMounts() GetJobTaskGroupTaskVolumeMountArrayOutput { + return o.ApplyT(func(v GetJobTaskGroupTask) []GetJobTaskGroupTaskVolumeMount { return v.VolumeMounts }).(GetJobTaskGroupTaskVolumeMountArrayOutput) +} + +type GetJobTaskGroupTaskArrayOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupTaskArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupTask)(nil)).Elem() +} + +func (o GetJobTaskGroupTaskArrayOutput) ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput { return o } -func (o GetAclTokensAclTokenRoleArrayOutput) ToGetAclTokensAclTokenRoleArrayOutputWithContext(ctx context.Context) GetAclTokensAclTokenRoleArrayOutput { +func (o GetJobTaskGroupTaskArrayOutput) ToGetJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskArrayOutput { return o } -func (o GetAclTokensAclTokenRoleArrayOutput) Index(i pulumi.IntInput) GetAclTokensAclTokenRoleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetAclTokensAclTokenRole { - return vs[0].([]GetAclTokensAclTokenRole)[vs[1].(int)] - }).(GetAclTokensAclTokenRoleOutput) +func (o GetJobTaskGroupTaskArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupTask] { + return pulumix.Output[[]GetJobTaskGroupTask]{ + OutputState: o.OutputState, + } } -type GetJobConstraint struct { - // `(string)` Attribute being constrained. - Ltarget string `pulumi:"ltarget"` - // `(string)` Operator used to compare the attribute to the constraint. - Operand string `pulumi:"operand"` - // `(string)` Constraint value. - Rtarget string `pulumi:"rtarget"` +func (o GetJobTaskGroupTaskArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupTaskOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupTask { + return vs[0].([]GetJobTaskGroupTask)[vs[1].(int)] + }).(GetJobTaskGroupTaskOutput) } -// GetJobConstraintInput is an input type that accepts GetJobConstraintArgs and GetJobConstraintOutput values. -// You can construct a concrete instance of `GetJobConstraintInput` via: +type GetJobTaskGroupTaskVolumeMount struct { + Destination string `pulumi:"destination"` + ReadOnly bool `pulumi:"readOnly"` + Volume string `pulumi:"volume"` +} + +// GetJobTaskGroupTaskVolumeMountInput is an input type that accepts GetJobTaskGroupTaskVolumeMountArgs and GetJobTaskGroupTaskVolumeMountOutput values. +// You can construct a concrete instance of `GetJobTaskGroupTaskVolumeMountInput` via: // -// GetJobConstraintArgs{...} -type GetJobConstraintInput interface { +// GetJobTaskGroupTaskVolumeMountArgs{...} +type GetJobTaskGroupTaskVolumeMountInput interface { pulumi.Input - ToGetJobConstraintOutput() GetJobConstraintOutput - ToGetJobConstraintOutputWithContext(context.Context) GetJobConstraintOutput + ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput + ToGetJobTaskGroupTaskVolumeMountOutputWithContext(context.Context) GetJobTaskGroupTaskVolumeMountOutput } -type GetJobConstraintArgs struct { - // `(string)` Attribute being constrained. - Ltarget pulumi.StringInput `pulumi:"ltarget"` - // `(string)` Operator used to compare the attribute to the constraint. - Operand pulumi.StringInput `pulumi:"operand"` - // `(string)` Constraint value. - Rtarget pulumi.StringInput `pulumi:"rtarget"` +type GetJobTaskGroupTaskVolumeMountArgs struct { + Destination pulumi.StringInput `pulumi:"destination"` + ReadOnly pulumi.BoolInput `pulumi:"readOnly"` + Volume pulumi.StringInput `pulumi:"volume"` } -func (GetJobConstraintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobConstraint)(nil)).Elem() +func (GetJobTaskGroupTaskVolumeMountArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupTaskVolumeMount)(nil)).Elem() } -func (i GetJobConstraintArgs) ToGetJobConstraintOutput() GetJobConstraintOutput { - return i.ToGetJobConstraintOutputWithContext(context.Background()) +func (i GetJobTaskGroupTaskVolumeMountArgs) ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput { + return i.ToGetJobTaskGroupTaskVolumeMountOutputWithContext(context.Background()) } -func (i GetJobConstraintArgs) ToGetJobConstraintOutputWithContext(ctx context.Context) GetJobConstraintOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobConstraintOutput) +func (i GetJobTaskGroupTaskVolumeMountArgs) ToGetJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskVolumeMountOutput) } -// GetJobConstraintArrayInput is an input type that accepts GetJobConstraintArray and GetJobConstraintArrayOutput values. -// You can construct a concrete instance of `GetJobConstraintArrayInput` via: +func (i GetJobTaskGroupTaskVolumeMountArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupTaskVolumeMount] { + return pulumix.Output[GetJobTaskGroupTaskVolumeMount]{ + OutputState: i.ToGetJobTaskGroupTaskVolumeMountOutputWithContext(ctx).OutputState, + } +} + +// GetJobTaskGroupTaskVolumeMountArrayInput is an input type that accepts GetJobTaskGroupTaskVolumeMountArray and GetJobTaskGroupTaskVolumeMountArrayOutput values. +// You can construct a concrete instance of `GetJobTaskGroupTaskVolumeMountArrayInput` via: // -// GetJobConstraintArray{ GetJobConstraintArgs{...} } -type GetJobConstraintArrayInput interface { +// GetJobTaskGroupTaskVolumeMountArray{ GetJobTaskGroupTaskVolumeMountArgs{...} } +type GetJobTaskGroupTaskVolumeMountArrayInput interface { pulumi.Input - ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput - ToGetJobConstraintArrayOutputWithContext(context.Context) GetJobConstraintArrayOutput + ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput + ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput } -type GetJobConstraintArray []GetJobConstraintInput +type GetJobTaskGroupTaskVolumeMountArray []GetJobTaskGroupTaskVolumeMountInput -func (GetJobConstraintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobConstraint)(nil)).Elem() +func (GetJobTaskGroupTaskVolumeMountArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupTaskVolumeMount)(nil)).Elem() } -func (i GetJobConstraintArray) ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput { - return i.ToGetJobConstraintArrayOutputWithContext(context.Background()) +func (i GetJobTaskGroupTaskVolumeMountArray) ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput { + return i.ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Background()) } -func (i GetJobConstraintArray) ToGetJobConstraintArrayOutputWithContext(ctx context.Context) GetJobConstraintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobConstraintArrayOutput) +func (i GetJobTaskGroupTaskVolumeMountArray) ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskVolumeMountArrayOutput) } -type GetJobConstraintOutput struct{ *pulumi.OutputState } +func (i GetJobTaskGroupTaskVolumeMountArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupTaskVolumeMount] { + return pulumix.Output[[]GetJobTaskGroupTaskVolumeMount]{ + OutputState: i.ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobConstraintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobConstraint)(nil)).Elem() +type GetJobTaskGroupTaskVolumeMountOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupTaskVolumeMountOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupTaskVolumeMount)(nil)).Elem() } -func (o GetJobConstraintOutput) ToGetJobConstraintOutput() GetJobConstraintOutput { +func (o GetJobTaskGroupTaskVolumeMountOutput) ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput { return o } -func (o GetJobConstraintOutput) ToGetJobConstraintOutputWithContext(ctx context.Context) GetJobConstraintOutput { +func (o GetJobTaskGroupTaskVolumeMountOutput) ToGetJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountOutput { return o } -// `(string)` Attribute being constrained. -func (o GetJobConstraintOutput) Ltarget() pulumi.StringOutput { - return o.ApplyT(func(v GetJobConstraint) string { return v.Ltarget }).(pulumi.StringOutput) +func (o GetJobTaskGroupTaskVolumeMountOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupTaskVolumeMount] { + return pulumix.Output[GetJobTaskGroupTaskVolumeMount]{ + OutputState: o.OutputState, + } } -// `(string)` Operator used to compare the attribute to the constraint. -func (o GetJobConstraintOutput) Operand() pulumi.StringOutput { - return o.ApplyT(func(v GetJobConstraint) string { return v.Operand }).(pulumi.StringOutput) +func (o GetJobTaskGroupTaskVolumeMountOutput) Destination() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) string { return v.Destination }).(pulumi.StringOutput) } -// `(string)` Constraint value. -func (o GetJobConstraintOutput) Rtarget() pulumi.StringOutput { - return o.ApplyT(func(v GetJobConstraint) string { return v.Rtarget }).(pulumi.StringOutput) +func (o GetJobTaskGroupTaskVolumeMountOutput) ReadOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) bool { return v.ReadOnly }).(pulumi.BoolOutput) } -type GetJobConstraintArrayOutput struct{ *pulumi.OutputState } +func (o GetJobTaskGroupTaskVolumeMountOutput) Volume() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) string { return v.Volume }).(pulumi.StringOutput) +} -func (GetJobConstraintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobConstraint)(nil)).Elem() +type GetJobTaskGroupTaskVolumeMountArrayOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupTaskVolumeMountArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupTaskVolumeMount)(nil)).Elem() } -func (o GetJobConstraintArrayOutput) ToGetJobConstraintArrayOutput() GetJobConstraintArrayOutput { +func (o GetJobTaskGroupTaskVolumeMountArrayOutput) ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput { return o } -func (o GetJobConstraintArrayOutput) ToGetJobConstraintArrayOutputWithContext(ctx context.Context) GetJobConstraintArrayOutput { +func (o GetJobTaskGroupTaskVolumeMountArrayOutput) ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput { return o } -func (o GetJobConstraintArrayOutput) Index(i pulumi.IntInput) GetJobConstraintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobConstraint { - return vs[0].([]GetJobConstraint)[vs[1].(int)] - }).(GetJobConstraintOutput) +func (o GetJobTaskGroupTaskVolumeMountArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupTaskVolumeMount] { + return pulumix.Output[[]GetJobTaskGroupTaskVolumeMount]{ + OutputState: o.OutputState, + } } -type GetJobPeriodicConfig struct { - // `(boolean)` If periodic scheduling is enabled for the specified job. - Enabled bool `pulumi:"enabled"` - // `(boolean)` If the specified job should wait until previous instances of the job have completed. - ProhibitOverlap bool `pulumi:"prohibitOverlap"` - // `(string)` - Spec string `pulumi:"spec"` - // `(string)` - SpecType string `pulumi:"specType"` - // `(string)` Time zone to evaluate the next launch interval against. - Timezone string `pulumi:"timezone"` +func (o GetJobTaskGroupTaskVolumeMountArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupTaskVolumeMountOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupTaskVolumeMount { + return vs[0].([]GetJobTaskGroupTaskVolumeMount)[vs[1].(int)] + }).(GetJobTaskGroupTaskVolumeMountOutput) } -// GetJobPeriodicConfigInput is an input type that accepts GetJobPeriodicConfigArgs and GetJobPeriodicConfigOutput values. -// You can construct a concrete instance of `GetJobPeriodicConfigInput` via: +type GetJobTaskGroupVolume struct { + // `(string)` Name of the job. + Name string `pulumi:"name"` + ReadOnly bool `pulumi:"readOnly"` + Source string `pulumi:"source"` + // `(string)` Scheduler type used during job creation. + Type string `pulumi:"type"` +} + +// GetJobTaskGroupVolumeInput is an input type that accepts GetJobTaskGroupVolumeArgs and GetJobTaskGroupVolumeOutput values. +// You can construct a concrete instance of `GetJobTaskGroupVolumeInput` via: // -// GetJobPeriodicConfigArgs{...} -type GetJobPeriodicConfigInput interface { +// GetJobTaskGroupVolumeArgs{...} +type GetJobTaskGroupVolumeInput interface { pulumi.Input - ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput - ToGetJobPeriodicConfigOutputWithContext(context.Context) GetJobPeriodicConfigOutput + ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput + ToGetJobTaskGroupVolumeOutputWithContext(context.Context) GetJobTaskGroupVolumeOutput +} + +type GetJobTaskGroupVolumeArgs struct { + // `(string)` Name of the job. + Name pulumi.StringInput `pulumi:"name"` + ReadOnly pulumi.BoolInput `pulumi:"readOnly"` + Source pulumi.StringInput `pulumi:"source"` + // `(string)` Scheduler type used during job creation. + Type pulumi.StringInput `pulumi:"type"` } -type GetJobPeriodicConfigArgs struct { - // `(boolean)` If periodic scheduling is enabled for the specified job. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // `(boolean)` If the specified job should wait until previous instances of the job have completed. - ProhibitOverlap pulumi.BoolInput `pulumi:"prohibitOverlap"` - // `(string)` - Spec pulumi.StringInput `pulumi:"spec"` - // `(string)` - SpecType pulumi.StringInput `pulumi:"specType"` - // `(string)` Time zone to evaluate the next launch interval against. - Timezone pulumi.StringInput `pulumi:"timezone"` +func (GetJobTaskGroupVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupVolume)(nil)).Elem() } -func (GetJobPeriodicConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobPeriodicConfig)(nil)).Elem() +func (i GetJobTaskGroupVolumeArgs) ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput { + return i.ToGetJobTaskGroupVolumeOutputWithContext(context.Background()) } -func (i GetJobPeriodicConfigArgs) ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput { - return i.ToGetJobPeriodicConfigOutputWithContext(context.Background()) +func (i GetJobTaskGroupVolumeArgs) ToGetJobTaskGroupVolumeOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupVolumeOutput) } -func (i GetJobPeriodicConfigArgs) ToGetJobPeriodicConfigOutputWithContext(ctx context.Context) GetJobPeriodicConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobPeriodicConfigOutput) +func (i GetJobTaskGroupVolumeArgs) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupVolume] { + return pulumix.Output[GetJobTaskGroupVolume]{ + OutputState: i.ToGetJobTaskGroupVolumeOutputWithContext(ctx).OutputState, + } } -// GetJobPeriodicConfigArrayInput is an input type that accepts GetJobPeriodicConfigArray and GetJobPeriodicConfigArrayOutput values. -// You can construct a concrete instance of `GetJobPeriodicConfigArrayInput` via: +// GetJobTaskGroupVolumeArrayInput is an input type that accepts GetJobTaskGroupVolumeArray and GetJobTaskGroupVolumeArrayOutput values. +// You can construct a concrete instance of `GetJobTaskGroupVolumeArrayInput` via: // -// GetJobPeriodicConfigArray{ GetJobPeriodicConfigArgs{...} } -type GetJobPeriodicConfigArrayInput interface { +// GetJobTaskGroupVolumeArray{ GetJobTaskGroupVolumeArgs{...} } +type GetJobTaskGroupVolumeArrayInput interface { pulumi.Input - ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput - ToGetJobPeriodicConfigArrayOutputWithContext(context.Context) GetJobPeriodicConfigArrayOutput + ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput + ToGetJobTaskGroupVolumeArrayOutputWithContext(context.Context) GetJobTaskGroupVolumeArrayOutput } -type GetJobPeriodicConfigArray []GetJobPeriodicConfigInput +type GetJobTaskGroupVolumeArray []GetJobTaskGroupVolumeInput -func (GetJobPeriodicConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobPeriodicConfig)(nil)).Elem() +func (GetJobTaskGroupVolumeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupVolume)(nil)).Elem() } -func (i GetJobPeriodicConfigArray) ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput { - return i.ToGetJobPeriodicConfigArrayOutputWithContext(context.Background()) +func (i GetJobTaskGroupVolumeArray) ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput { + return i.ToGetJobTaskGroupVolumeArrayOutputWithContext(context.Background()) } -func (i GetJobPeriodicConfigArray) ToGetJobPeriodicConfigArrayOutputWithContext(ctx context.Context) GetJobPeriodicConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobPeriodicConfigArrayOutput) +func (i GetJobTaskGroupVolumeArray) ToGetJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupVolumeArrayOutput) } -type GetJobPeriodicConfigOutput struct{ *pulumi.OutputState } +func (i GetJobTaskGroupVolumeArray) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupVolume] { + return pulumix.Output[[]GetJobTaskGroupVolume]{ + OutputState: i.ToGetJobTaskGroupVolumeArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobPeriodicConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobPeriodicConfig)(nil)).Elem() +type GetJobTaskGroupVolumeOutput struct{ *pulumi.OutputState } + +func (GetJobTaskGroupVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetJobTaskGroupVolume)(nil)).Elem() } -func (o GetJobPeriodicConfigOutput) ToGetJobPeriodicConfigOutput() GetJobPeriodicConfigOutput { +func (o GetJobTaskGroupVolumeOutput) ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput { return o } -func (o GetJobPeriodicConfigOutput) ToGetJobPeriodicConfigOutputWithContext(ctx context.Context) GetJobPeriodicConfigOutput { +func (o GetJobTaskGroupVolumeOutput) ToGetJobTaskGroupVolumeOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeOutput { return o } -// `(boolean)` If periodic scheduling is enabled for the specified job. -func (o GetJobPeriodicConfigOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetJobPeriodicConfig) bool { return v.Enabled }).(pulumi.BoolOutput) +func (o GetJobTaskGroupVolumeOutput) ToOutput(ctx context.Context) pulumix.Output[GetJobTaskGroupVolume] { + return pulumix.Output[GetJobTaskGroupVolume]{ + OutputState: o.OutputState, + } } -// `(boolean)` If the specified job should wait until previous instances of the job have completed. -func (o GetJobPeriodicConfigOutput) ProhibitOverlap() pulumi.BoolOutput { - return o.ApplyT(func(v GetJobPeriodicConfig) bool { return v.ProhibitOverlap }).(pulumi.BoolOutput) +// `(string)` Name of the job. +func (o GetJobTaskGroupVolumeOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Name }).(pulumi.StringOutput) } -// `(string)` -func (o GetJobPeriodicConfigOutput) Spec() pulumi.StringOutput { - return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.Spec }).(pulumi.StringOutput) +func (o GetJobTaskGroupVolumeOutput) ReadOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetJobTaskGroupVolume) bool { return v.ReadOnly }).(pulumi.BoolOutput) } -// `(string)` -func (o GetJobPeriodicConfigOutput) SpecType() pulumi.StringOutput { - return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.SpecType }).(pulumi.StringOutput) +func (o GetJobTaskGroupVolumeOutput) Source() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Source }).(pulumi.StringOutput) } -// `(string)` Time zone to evaluate the next launch interval against. -func (o GetJobPeriodicConfigOutput) Timezone() pulumi.StringOutput { - return o.ApplyT(func(v GetJobPeriodicConfig) string { return v.Timezone }).(pulumi.StringOutput) +// `(string)` Scheduler type used during job creation. +func (o GetJobTaskGroupVolumeOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Type }).(pulumi.StringOutput) } -type GetJobPeriodicConfigArrayOutput struct{ *pulumi.OutputState } +type GetJobTaskGroupVolumeArrayOutput struct{ *pulumi.OutputState } -func (GetJobPeriodicConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobPeriodicConfig)(nil)).Elem() +func (GetJobTaskGroupVolumeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetJobTaskGroupVolume)(nil)).Elem() } -func (o GetJobPeriodicConfigArrayOutput) ToGetJobPeriodicConfigArrayOutput() GetJobPeriodicConfigArrayOutput { +func (o GetJobTaskGroupVolumeArrayOutput) ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput { return o } -func (o GetJobPeriodicConfigArrayOutput) ToGetJobPeriodicConfigArrayOutputWithContext(ctx context.Context) GetJobPeriodicConfigArrayOutput { +func (o GetJobTaskGroupVolumeArrayOutput) ToGetJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeArrayOutput { return o } -func (o GetJobPeriodicConfigArrayOutput) Index(i pulumi.IntInput) GetJobPeriodicConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobPeriodicConfig { - return vs[0].([]GetJobPeriodicConfig)[vs[1].(int)] - }).(GetJobPeriodicConfigOutput) +func (o GetJobTaskGroupVolumeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetJobTaskGroupVolume] { + return pulumix.Output[[]GetJobTaskGroupVolume]{ + OutputState: o.OutputState, + } } -type GetJobTaskGroup struct { - Count int `pulumi:"count"` - Meta map[string]interface{} `pulumi:"meta"` - // `(string)` Name of the job. - Name string `pulumi:"name"` - Tasks []GetJobTaskGroupTask `pulumi:"tasks"` - Volumes []GetJobTaskGroupVolume `pulumi:"volumes"` +func (o GetJobTaskGroupVolumeArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupVolumeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupVolume { + return vs[0].([]GetJobTaskGroupVolume)[vs[1].(int)] + }).(GetJobTaskGroupVolumeOutput) } -// GetJobTaskGroupInput is an input type that accepts GetJobTaskGroupArgs and GetJobTaskGroupOutput values. -// You can construct a concrete instance of `GetJobTaskGroupInput` via: +type GetNamespaceCapability struct { + // `([]string)` - Task drivers disabled for the namespace. + DisabledTaskDrivers []string `pulumi:"disabledTaskDrivers"` + // `([]string)` - Task drivers enabled for the namespace. + EnabledTaskDrivers []string `pulumi:"enabledTaskDrivers"` +} + +// GetNamespaceCapabilityInput is an input type that accepts GetNamespaceCapabilityArgs and GetNamespaceCapabilityOutput values. +// You can construct a concrete instance of `GetNamespaceCapabilityInput` via: // -// GetJobTaskGroupArgs{...} -type GetJobTaskGroupInput interface { +// GetNamespaceCapabilityArgs{...} +type GetNamespaceCapabilityInput interface { pulumi.Input - ToGetJobTaskGroupOutput() GetJobTaskGroupOutput - ToGetJobTaskGroupOutputWithContext(context.Context) GetJobTaskGroupOutput + ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput + ToGetNamespaceCapabilityOutputWithContext(context.Context) GetNamespaceCapabilityOutput } -type GetJobTaskGroupArgs struct { - Count pulumi.IntInput `pulumi:"count"` - Meta pulumi.MapInput `pulumi:"meta"` - // `(string)` Name of the job. - Name pulumi.StringInput `pulumi:"name"` - Tasks GetJobTaskGroupTaskArrayInput `pulumi:"tasks"` - Volumes GetJobTaskGroupVolumeArrayInput `pulumi:"volumes"` +type GetNamespaceCapabilityArgs struct { + // `([]string)` - Task drivers disabled for the namespace. + DisabledTaskDrivers pulumi.StringArrayInput `pulumi:"disabledTaskDrivers"` + // `([]string)` - Task drivers enabled for the namespace. + EnabledTaskDrivers pulumi.StringArrayInput `pulumi:"enabledTaskDrivers"` } -func (GetJobTaskGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroup)(nil)).Elem() +func (GetNamespaceCapabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNamespaceCapability)(nil)).Elem() } -func (i GetJobTaskGroupArgs) ToGetJobTaskGroupOutput() GetJobTaskGroupOutput { - return i.ToGetJobTaskGroupOutputWithContext(context.Background()) +func (i GetNamespaceCapabilityArgs) ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput { + return i.ToGetNamespaceCapabilityOutputWithContext(context.Background()) } -func (i GetJobTaskGroupArgs) ToGetJobTaskGroupOutputWithContext(ctx context.Context) GetJobTaskGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupOutput) +func (i GetNamespaceCapabilityArgs) ToGetNamespaceCapabilityOutputWithContext(ctx context.Context) GetNamespaceCapabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceCapabilityOutput) } -// GetJobTaskGroupArrayInput is an input type that accepts GetJobTaskGroupArray and GetJobTaskGroupArrayOutput values. -// You can construct a concrete instance of `GetJobTaskGroupArrayInput` via: +func (i GetNamespaceCapabilityArgs) ToOutput(ctx context.Context) pulumix.Output[GetNamespaceCapability] { + return pulumix.Output[GetNamespaceCapability]{ + OutputState: i.ToGetNamespaceCapabilityOutputWithContext(ctx).OutputState, + } +} + +// GetNamespaceCapabilityArrayInput is an input type that accepts GetNamespaceCapabilityArray and GetNamespaceCapabilityArrayOutput values. +// You can construct a concrete instance of `GetNamespaceCapabilityArrayInput` via: // -// GetJobTaskGroupArray{ GetJobTaskGroupArgs{...} } -type GetJobTaskGroupArrayInput interface { +// GetNamespaceCapabilityArray{ GetNamespaceCapabilityArgs{...} } +type GetNamespaceCapabilityArrayInput interface { pulumi.Input - ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput - ToGetJobTaskGroupArrayOutputWithContext(context.Context) GetJobTaskGroupArrayOutput + ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput + ToGetNamespaceCapabilityArrayOutputWithContext(context.Context) GetNamespaceCapabilityArrayOutput } -type GetJobTaskGroupArray []GetJobTaskGroupInput +type GetNamespaceCapabilityArray []GetNamespaceCapabilityInput -func (GetJobTaskGroupArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroup)(nil)).Elem() +func (GetNamespaceCapabilityArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNamespaceCapability)(nil)).Elem() } -func (i GetJobTaskGroupArray) ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput { - return i.ToGetJobTaskGroupArrayOutputWithContext(context.Background()) +func (i GetNamespaceCapabilityArray) ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput { + return i.ToGetNamespaceCapabilityArrayOutputWithContext(context.Background()) } -func (i GetJobTaskGroupArray) ToGetJobTaskGroupArrayOutputWithContext(ctx context.Context) GetJobTaskGroupArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupArrayOutput) +func (i GetNamespaceCapabilityArray) ToGetNamespaceCapabilityArrayOutputWithContext(ctx context.Context) GetNamespaceCapabilityArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceCapabilityArrayOutput) } -type GetJobTaskGroupOutput struct{ *pulumi.OutputState } +func (i GetNamespaceCapabilityArray) ToOutput(ctx context.Context) pulumix.Output[[]GetNamespaceCapability] { + return pulumix.Output[[]GetNamespaceCapability]{ + OutputState: i.ToGetNamespaceCapabilityArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobTaskGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroup)(nil)).Elem() +type GetNamespaceCapabilityOutput struct{ *pulumi.OutputState } + +func (GetNamespaceCapabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNamespaceCapability)(nil)).Elem() } -func (o GetJobTaskGroupOutput) ToGetJobTaskGroupOutput() GetJobTaskGroupOutput { +func (o GetNamespaceCapabilityOutput) ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput { return o } -func (o GetJobTaskGroupOutput) ToGetJobTaskGroupOutputWithContext(ctx context.Context) GetJobTaskGroupOutput { +func (o GetNamespaceCapabilityOutput) ToGetNamespaceCapabilityOutputWithContext(ctx context.Context) GetNamespaceCapabilityOutput { return o } -func (o GetJobTaskGroupOutput) Count() pulumi.IntOutput { - return o.ApplyT(func(v GetJobTaskGroup) int { return v.Count }).(pulumi.IntOutput) +func (o GetNamespaceCapabilityOutput) ToOutput(ctx context.Context) pulumix.Output[GetNamespaceCapability] { + return pulumix.Output[GetNamespaceCapability]{ + OutputState: o.OutputState, + } } -func (o GetJobTaskGroupOutput) Meta() pulumi.MapOutput { - return o.ApplyT(func(v GetJobTaskGroup) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +// `([]string)` - Task drivers disabled for the namespace. +func (o GetNamespaceCapabilityOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNamespaceCapability) []string { return v.DisabledTaskDrivers }).(pulumi.StringArrayOutput) } -// `(string)` Name of the job. -func (o GetJobTaskGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroup) string { return v.Name }).(pulumi.StringOutput) +// `([]string)` - Task drivers enabled for the namespace. +func (o GetNamespaceCapabilityOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNamespaceCapability) []string { return v.EnabledTaskDrivers }).(pulumi.StringArrayOutput) } -func (o GetJobTaskGroupOutput) Tasks() GetJobTaskGroupTaskArrayOutput { - return o.ApplyT(func(v GetJobTaskGroup) []GetJobTaskGroupTask { return v.Tasks }).(GetJobTaskGroupTaskArrayOutput) -} +type GetNamespaceCapabilityArrayOutput struct{ *pulumi.OutputState } -func (o GetJobTaskGroupOutput) Volumes() GetJobTaskGroupVolumeArrayOutput { - return o.ApplyT(func(v GetJobTaskGroup) []GetJobTaskGroupVolume { return v.Volumes }).(GetJobTaskGroupVolumeArrayOutput) +func (GetNamespaceCapabilityArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNamespaceCapability)(nil)).Elem() } -type GetJobTaskGroupArrayOutput struct{ *pulumi.OutputState } - -func (GetJobTaskGroupArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroup)(nil)).Elem() +func (o GetNamespaceCapabilityArrayOutput) ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput { + return o } -func (o GetJobTaskGroupArrayOutput) ToGetJobTaskGroupArrayOutput() GetJobTaskGroupArrayOutput { +func (o GetNamespaceCapabilityArrayOutput) ToGetNamespaceCapabilityArrayOutputWithContext(ctx context.Context) GetNamespaceCapabilityArrayOutput { return o } -func (o GetJobTaskGroupArrayOutput) ToGetJobTaskGroupArrayOutputWithContext(ctx context.Context) GetJobTaskGroupArrayOutput { - return o +func (o GetNamespaceCapabilityArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetNamespaceCapability] { + return pulumix.Output[[]GetNamespaceCapability]{ + OutputState: o.OutputState, + } } -func (o GetJobTaskGroupArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroup { - return vs[0].([]GetJobTaskGroup)[vs[1].(int)] - }).(GetJobTaskGroupOutput) +func (o GetNamespaceCapabilityArrayOutput) Index(i pulumi.IntInput) GetNamespaceCapabilityOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNamespaceCapability { + return vs[0].([]GetNamespaceCapability)[vs[1].(int)] + }).(GetNamespaceCapabilityOutput) } -type GetJobTaskGroupTask struct { - Driver string `pulumi:"driver"` - Meta map[string]interface{} `pulumi:"meta"` - // `(string)` Name of the job. - Name string `pulumi:"name"` - VolumeMounts []GetJobTaskGroupTaskVolumeMount `pulumi:"volumeMounts"` +type GetNamespaceNodePoolConfig struct { + Alloweds []string `pulumi:"alloweds"` + Default string `pulumi:"default"` + Denieds []string `pulumi:"denieds"` } -// GetJobTaskGroupTaskInput is an input type that accepts GetJobTaskGroupTaskArgs and GetJobTaskGroupTaskOutput values. -// You can construct a concrete instance of `GetJobTaskGroupTaskInput` via: +// GetNamespaceNodePoolConfigInput is an input type that accepts GetNamespaceNodePoolConfigArgs and GetNamespaceNodePoolConfigOutput values. +// You can construct a concrete instance of `GetNamespaceNodePoolConfigInput` via: // -// GetJobTaskGroupTaskArgs{...} -type GetJobTaskGroupTaskInput interface { +// GetNamespaceNodePoolConfigArgs{...} +type GetNamespaceNodePoolConfigInput interface { pulumi.Input - ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput - ToGetJobTaskGroupTaskOutputWithContext(context.Context) GetJobTaskGroupTaskOutput + ToGetNamespaceNodePoolConfigOutput() GetNamespaceNodePoolConfigOutput + ToGetNamespaceNodePoolConfigOutputWithContext(context.Context) GetNamespaceNodePoolConfigOutput } -type GetJobTaskGroupTaskArgs struct { - Driver pulumi.StringInput `pulumi:"driver"` - Meta pulumi.MapInput `pulumi:"meta"` - // `(string)` Name of the job. - Name pulumi.StringInput `pulumi:"name"` - VolumeMounts GetJobTaskGroupTaskVolumeMountArrayInput `pulumi:"volumeMounts"` +type GetNamespaceNodePoolConfigArgs struct { + Alloweds pulumi.StringArrayInput `pulumi:"alloweds"` + Default pulumi.StringInput `pulumi:"default"` + Denieds pulumi.StringArrayInput `pulumi:"denieds"` } -func (GetJobTaskGroupTaskArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupTask)(nil)).Elem() +func (GetNamespaceNodePoolConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNamespaceNodePoolConfig)(nil)).Elem() } -func (i GetJobTaskGroupTaskArgs) ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput { - return i.ToGetJobTaskGroupTaskOutputWithContext(context.Background()) +func (i GetNamespaceNodePoolConfigArgs) ToGetNamespaceNodePoolConfigOutput() GetNamespaceNodePoolConfigOutput { + return i.ToGetNamespaceNodePoolConfigOutputWithContext(context.Background()) +} + +func (i GetNamespaceNodePoolConfigArgs) ToGetNamespaceNodePoolConfigOutputWithContext(ctx context.Context) GetNamespaceNodePoolConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceNodePoolConfigOutput) } -func (i GetJobTaskGroupTaskArgs) ToGetJobTaskGroupTaskOutputWithContext(ctx context.Context) GetJobTaskGroupTaskOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskOutput) +func (i GetNamespaceNodePoolConfigArgs) ToOutput(ctx context.Context) pulumix.Output[GetNamespaceNodePoolConfig] { + return pulumix.Output[GetNamespaceNodePoolConfig]{ + OutputState: i.ToGetNamespaceNodePoolConfigOutputWithContext(ctx).OutputState, + } } -// GetJobTaskGroupTaskArrayInput is an input type that accepts GetJobTaskGroupTaskArray and GetJobTaskGroupTaskArrayOutput values. -// You can construct a concrete instance of `GetJobTaskGroupTaskArrayInput` via: +// GetNamespaceNodePoolConfigArrayInput is an input type that accepts GetNamespaceNodePoolConfigArray and GetNamespaceNodePoolConfigArrayOutput values. +// You can construct a concrete instance of `GetNamespaceNodePoolConfigArrayInput` via: // -// GetJobTaskGroupTaskArray{ GetJobTaskGroupTaskArgs{...} } -type GetJobTaskGroupTaskArrayInput interface { +// GetNamespaceNodePoolConfigArray{ GetNamespaceNodePoolConfigArgs{...} } +type GetNamespaceNodePoolConfigArrayInput interface { pulumi.Input - ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput - ToGetJobTaskGroupTaskArrayOutputWithContext(context.Context) GetJobTaskGroupTaskArrayOutput + ToGetNamespaceNodePoolConfigArrayOutput() GetNamespaceNodePoolConfigArrayOutput + ToGetNamespaceNodePoolConfigArrayOutputWithContext(context.Context) GetNamespaceNodePoolConfigArrayOutput } -type GetJobTaskGroupTaskArray []GetJobTaskGroupTaskInput +type GetNamespaceNodePoolConfigArray []GetNamespaceNodePoolConfigInput -func (GetJobTaskGroupTaskArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupTask)(nil)).Elem() +func (GetNamespaceNodePoolConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNamespaceNodePoolConfig)(nil)).Elem() } -func (i GetJobTaskGroupTaskArray) ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput { - return i.ToGetJobTaskGroupTaskArrayOutputWithContext(context.Background()) +func (i GetNamespaceNodePoolConfigArray) ToGetNamespaceNodePoolConfigArrayOutput() GetNamespaceNodePoolConfigArrayOutput { + return i.ToGetNamespaceNodePoolConfigArrayOutputWithContext(context.Background()) } -func (i GetJobTaskGroupTaskArray) ToGetJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskArrayOutput) +func (i GetNamespaceNodePoolConfigArray) ToGetNamespaceNodePoolConfigArrayOutputWithContext(ctx context.Context) GetNamespaceNodePoolConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceNodePoolConfigArrayOutput) } -type GetJobTaskGroupTaskOutput struct{ *pulumi.OutputState } +func (i GetNamespaceNodePoolConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]GetNamespaceNodePoolConfig] { + return pulumix.Output[[]GetNamespaceNodePoolConfig]{ + OutputState: i.ToGetNamespaceNodePoolConfigArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobTaskGroupTaskOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupTask)(nil)).Elem() +type GetNamespaceNodePoolConfigOutput struct{ *pulumi.OutputState } + +func (GetNamespaceNodePoolConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNamespaceNodePoolConfig)(nil)).Elem() } -func (o GetJobTaskGroupTaskOutput) ToGetJobTaskGroupTaskOutput() GetJobTaskGroupTaskOutput { +func (o GetNamespaceNodePoolConfigOutput) ToGetNamespaceNodePoolConfigOutput() GetNamespaceNodePoolConfigOutput { return o } -func (o GetJobTaskGroupTaskOutput) ToGetJobTaskGroupTaskOutputWithContext(ctx context.Context) GetJobTaskGroupTaskOutput { +func (o GetNamespaceNodePoolConfigOutput) ToGetNamespaceNodePoolConfigOutputWithContext(ctx context.Context) GetNamespaceNodePoolConfigOutput { return o } -func (o GetJobTaskGroupTaskOutput) Driver() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupTask) string { return v.Driver }).(pulumi.StringOutput) +func (o GetNamespaceNodePoolConfigOutput) ToOutput(ctx context.Context) pulumix.Output[GetNamespaceNodePoolConfig] { + return pulumix.Output[GetNamespaceNodePoolConfig]{ + OutputState: o.OutputState, + } } -func (o GetJobTaskGroupTaskOutput) Meta() pulumi.MapOutput { - return o.ApplyT(func(v GetJobTaskGroupTask) map[string]interface{} { return v.Meta }).(pulumi.MapOutput) +func (o GetNamespaceNodePoolConfigOutput) Alloweds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNamespaceNodePoolConfig) []string { return v.Alloweds }).(pulumi.StringArrayOutput) } -// `(string)` Name of the job. -func (o GetJobTaskGroupTaskOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupTask) string { return v.Name }).(pulumi.StringOutput) +func (o GetNamespaceNodePoolConfigOutput) Default() pulumi.StringOutput { + return o.ApplyT(func(v GetNamespaceNodePoolConfig) string { return v.Default }).(pulumi.StringOutput) } -func (o GetJobTaskGroupTaskOutput) VolumeMounts() GetJobTaskGroupTaskVolumeMountArrayOutput { - return o.ApplyT(func(v GetJobTaskGroupTask) []GetJobTaskGroupTaskVolumeMount { return v.VolumeMounts }).(GetJobTaskGroupTaskVolumeMountArrayOutput) +func (o GetNamespaceNodePoolConfigOutput) Denieds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNamespaceNodePoolConfig) []string { return v.Denieds }).(pulumi.StringArrayOutput) } -type GetJobTaskGroupTaskArrayOutput struct{ *pulumi.OutputState } +type GetNamespaceNodePoolConfigArrayOutput struct{ *pulumi.OutputState } -func (GetJobTaskGroupTaskArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupTask)(nil)).Elem() +func (GetNamespaceNodePoolConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNamespaceNodePoolConfig)(nil)).Elem() } -func (o GetJobTaskGroupTaskArrayOutput) ToGetJobTaskGroupTaskArrayOutput() GetJobTaskGroupTaskArrayOutput { +func (o GetNamespaceNodePoolConfigArrayOutput) ToGetNamespaceNodePoolConfigArrayOutput() GetNamespaceNodePoolConfigArrayOutput { return o } -func (o GetJobTaskGroupTaskArrayOutput) ToGetJobTaskGroupTaskArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskArrayOutput { +func (o GetNamespaceNodePoolConfigArrayOutput) ToGetNamespaceNodePoolConfigArrayOutputWithContext(ctx context.Context) GetNamespaceNodePoolConfigArrayOutput { return o } -func (o GetJobTaskGroupTaskArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupTaskOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupTask { - return vs[0].([]GetJobTaskGroupTask)[vs[1].(int)] - }).(GetJobTaskGroupTaskOutput) +func (o GetNamespaceNodePoolConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetNamespaceNodePoolConfig] { + return pulumix.Output[[]GetNamespaceNodePoolConfig]{ + OutputState: o.OutputState, + } } -type GetJobTaskGroupTaskVolumeMount struct { - Destination string `pulumi:"destination"` - ReadOnly bool `pulumi:"readOnly"` - Volume string `pulumi:"volume"` +func (o GetNamespaceNodePoolConfigArrayOutput) Index(i pulumi.IntInput) GetNamespaceNodePoolConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNamespaceNodePoolConfig { + return vs[0].([]GetNamespaceNodePoolConfig)[vs[1].(int)] + }).(GetNamespaceNodePoolConfigOutput) } -// GetJobTaskGroupTaskVolumeMountInput is an input type that accepts GetJobTaskGroupTaskVolumeMountArgs and GetJobTaskGroupTaskVolumeMountOutput values. -// You can construct a concrete instance of `GetJobTaskGroupTaskVolumeMountInput` via: +type GetNodePoolSchedulerConfig struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. If empty or not defined the + // global cluster configuration is used. + MemoryOversubscription string `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. If empty or not defined the global cluster configuration is used. + SchedulerAlgorithm string `pulumi:"schedulerAlgorithm"` +} + +// GetNodePoolSchedulerConfigInput is an input type that accepts GetNodePoolSchedulerConfigArgs and GetNodePoolSchedulerConfigOutput values. +// You can construct a concrete instance of `GetNodePoolSchedulerConfigInput` via: // -// GetJobTaskGroupTaskVolumeMountArgs{...} -type GetJobTaskGroupTaskVolumeMountInput interface { +// GetNodePoolSchedulerConfigArgs{...} +type GetNodePoolSchedulerConfigInput interface { pulumi.Input - ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput - ToGetJobTaskGroupTaskVolumeMountOutputWithContext(context.Context) GetJobTaskGroupTaskVolumeMountOutput + ToGetNodePoolSchedulerConfigOutput() GetNodePoolSchedulerConfigOutput + ToGetNodePoolSchedulerConfigOutputWithContext(context.Context) GetNodePoolSchedulerConfigOutput } -type GetJobTaskGroupTaskVolumeMountArgs struct { - Destination pulumi.StringInput `pulumi:"destination"` - ReadOnly pulumi.BoolInput `pulumi:"readOnly"` - Volume pulumi.StringInput `pulumi:"volume"` +type GetNodePoolSchedulerConfigArgs struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. If empty or not defined the + // global cluster configuration is used. + MemoryOversubscription pulumi.StringInput `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. If empty or not defined the global cluster configuration is used. + SchedulerAlgorithm pulumi.StringInput `pulumi:"schedulerAlgorithm"` } -func (GetJobTaskGroupTaskVolumeMountArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupTaskVolumeMount)(nil)).Elem() +func (GetNodePoolSchedulerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolSchedulerConfig)(nil)).Elem() } -func (i GetJobTaskGroupTaskVolumeMountArgs) ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput { - return i.ToGetJobTaskGroupTaskVolumeMountOutputWithContext(context.Background()) +func (i GetNodePoolSchedulerConfigArgs) ToGetNodePoolSchedulerConfigOutput() GetNodePoolSchedulerConfigOutput { + return i.ToGetNodePoolSchedulerConfigOutputWithContext(context.Background()) } -func (i GetJobTaskGroupTaskVolumeMountArgs) ToGetJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskVolumeMountOutput) +func (i GetNodePoolSchedulerConfigArgs) ToGetNodePoolSchedulerConfigOutputWithContext(ctx context.Context) GetNodePoolSchedulerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolSchedulerConfigOutput) } -// GetJobTaskGroupTaskVolumeMountArrayInput is an input type that accepts GetJobTaskGroupTaskVolumeMountArray and GetJobTaskGroupTaskVolumeMountArrayOutput values. -// You can construct a concrete instance of `GetJobTaskGroupTaskVolumeMountArrayInput` via: +func (i GetNodePoolSchedulerConfigArgs) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolSchedulerConfig] { + return pulumix.Output[GetNodePoolSchedulerConfig]{ + OutputState: i.ToGetNodePoolSchedulerConfigOutputWithContext(ctx).OutputState, + } +} + +// GetNodePoolSchedulerConfigArrayInput is an input type that accepts GetNodePoolSchedulerConfigArray and GetNodePoolSchedulerConfigArrayOutput values. +// You can construct a concrete instance of `GetNodePoolSchedulerConfigArrayInput` via: // -// GetJobTaskGroupTaskVolumeMountArray{ GetJobTaskGroupTaskVolumeMountArgs{...} } -type GetJobTaskGroupTaskVolumeMountArrayInput interface { +// GetNodePoolSchedulerConfigArray{ GetNodePoolSchedulerConfigArgs{...} } +type GetNodePoolSchedulerConfigArrayInput interface { pulumi.Input - ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput - ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput + ToGetNodePoolSchedulerConfigArrayOutput() GetNodePoolSchedulerConfigArrayOutput + ToGetNodePoolSchedulerConfigArrayOutputWithContext(context.Context) GetNodePoolSchedulerConfigArrayOutput } -type GetJobTaskGroupTaskVolumeMountArray []GetJobTaskGroupTaskVolumeMountInput +type GetNodePoolSchedulerConfigArray []GetNodePoolSchedulerConfigInput -func (GetJobTaskGroupTaskVolumeMountArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupTaskVolumeMount)(nil)).Elem() +func (GetNodePoolSchedulerConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolSchedulerConfig)(nil)).Elem() } -func (i GetJobTaskGroupTaskVolumeMountArray) ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput { - return i.ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(context.Background()) +func (i GetNodePoolSchedulerConfigArray) ToGetNodePoolSchedulerConfigArrayOutput() GetNodePoolSchedulerConfigArrayOutput { + return i.ToGetNodePoolSchedulerConfigArrayOutputWithContext(context.Background()) } -func (i GetJobTaskGroupTaskVolumeMountArray) ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupTaskVolumeMountArrayOutput) +func (i GetNodePoolSchedulerConfigArray) ToGetNodePoolSchedulerConfigArrayOutputWithContext(ctx context.Context) GetNodePoolSchedulerConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolSchedulerConfigArrayOutput) } -type GetJobTaskGroupTaskVolumeMountOutput struct{ *pulumi.OutputState } +func (i GetNodePoolSchedulerConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolSchedulerConfig] { + return pulumix.Output[[]GetNodePoolSchedulerConfig]{ + OutputState: i.ToGetNodePoolSchedulerConfigArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobTaskGroupTaskVolumeMountOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupTaskVolumeMount)(nil)).Elem() +type GetNodePoolSchedulerConfigOutput struct{ *pulumi.OutputState } + +func (GetNodePoolSchedulerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolSchedulerConfig)(nil)).Elem() } -func (o GetJobTaskGroupTaskVolumeMountOutput) ToGetJobTaskGroupTaskVolumeMountOutput() GetJobTaskGroupTaskVolumeMountOutput { +func (o GetNodePoolSchedulerConfigOutput) ToGetNodePoolSchedulerConfigOutput() GetNodePoolSchedulerConfigOutput { return o } -func (o GetJobTaskGroupTaskVolumeMountOutput) ToGetJobTaskGroupTaskVolumeMountOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountOutput { +func (o GetNodePoolSchedulerConfigOutput) ToGetNodePoolSchedulerConfigOutputWithContext(ctx context.Context) GetNodePoolSchedulerConfigOutput { return o } -func (o GetJobTaskGroupTaskVolumeMountOutput) Destination() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) string { return v.Destination }).(pulumi.StringOutput) +func (o GetNodePoolSchedulerConfigOutput) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolSchedulerConfig] { + return pulumix.Output[GetNodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } } -func (o GetJobTaskGroupTaskVolumeMountOutput) ReadOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) bool { return v.ReadOnly }).(pulumi.BoolOutput) +// `(string)` - Whether or not memory +// oversubscription is enabled in the node pool. If empty or not defined the +// global cluster configuration is used. +func (o GetNodePoolSchedulerConfigOutput) MemoryOversubscription() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolSchedulerConfig) string { return v.MemoryOversubscription }).(pulumi.StringOutput) } -func (o GetJobTaskGroupTaskVolumeMountOutput) Volume() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupTaskVolumeMount) string { return v.Volume }).(pulumi.StringOutput) +// `(string)` - The scheduler algorithm used in the node +// pool. If empty or not defined the global cluster configuration is used. +func (o GetNodePoolSchedulerConfigOutput) SchedulerAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolSchedulerConfig) string { return v.SchedulerAlgorithm }).(pulumi.StringOutput) } -type GetJobTaskGroupTaskVolumeMountArrayOutput struct{ *pulumi.OutputState } +type GetNodePoolSchedulerConfigArrayOutput struct{ *pulumi.OutputState } -func (GetJobTaskGroupTaskVolumeMountArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupTaskVolumeMount)(nil)).Elem() +func (GetNodePoolSchedulerConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolSchedulerConfig)(nil)).Elem() } -func (o GetJobTaskGroupTaskVolumeMountArrayOutput) ToGetJobTaskGroupTaskVolumeMountArrayOutput() GetJobTaskGroupTaskVolumeMountArrayOutput { +func (o GetNodePoolSchedulerConfigArrayOutput) ToGetNodePoolSchedulerConfigArrayOutput() GetNodePoolSchedulerConfigArrayOutput { return o } -func (o GetJobTaskGroupTaskVolumeMountArrayOutput) ToGetJobTaskGroupTaskVolumeMountArrayOutputWithContext(ctx context.Context) GetJobTaskGroupTaskVolumeMountArrayOutput { +func (o GetNodePoolSchedulerConfigArrayOutput) ToGetNodePoolSchedulerConfigArrayOutputWithContext(ctx context.Context) GetNodePoolSchedulerConfigArrayOutput { return o } -func (o GetJobTaskGroupTaskVolumeMountArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupTaskVolumeMountOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupTaskVolumeMount { - return vs[0].([]GetJobTaskGroupTaskVolumeMount)[vs[1].(int)] - }).(GetJobTaskGroupTaskVolumeMountOutput) +func (o GetNodePoolSchedulerConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolSchedulerConfig] { + return pulumix.Output[[]GetNodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } } -type GetJobTaskGroupVolume struct { - // `(string)` Name of the job. - Name string `pulumi:"name"` - ReadOnly bool `pulumi:"readOnly"` - Source string `pulumi:"source"` - // `(string)` Scheduler type used during job creation. - Type string `pulumi:"type"` +func (o GetNodePoolSchedulerConfigArrayOutput) Index(i pulumi.IntInput) GetNodePoolSchedulerConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodePoolSchedulerConfig { + return vs[0].([]GetNodePoolSchedulerConfig)[vs[1].(int)] + }).(GetNodePoolSchedulerConfigOutput) } -// GetJobTaskGroupVolumeInput is an input type that accepts GetJobTaskGroupVolumeArgs and GetJobTaskGroupVolumeOutput values. -// You can construct a concrete instance of `GetJobTaskGroupVolumeInput` via: +type GetNodePoolsNodePool struct { + // `(string)` - The description of the node pool. + Description string `pulumi:"description"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta map[string]string `pulumi:"meta"` + // `(string)` - The name of the node pool. + Name string `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfigs []GetNodePoolsNodePoolSchedulerConfig `pulumi:"schedulerConfigs"` +} + +// GetNodePoolsNodePoolInput is an input type that accepts GetNodePoolsNodePoolArgs and GetNodePoolsNodePoolOutput values. +// You can construct a concrete instance of `GetNodePoolsNodePoolInput` via: // -// GetJobTaskGroupVolumeArgs{...} -type GetJobTaskGroupVolumeInput interface { +// GetNodePoolsNodePoolArgs{...} +type GetNodePoolsNodePoolInput interface { pulumi.Input - ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput - ToGetJobTaskGroupVolumeOutputWithContext(context.Context) GetJobTaskGroupVolumeOutput + ToGetNodePoolsNodePoolOutput() GetNodePoolsNodePoolOutput + ToGetNodePoolsNodePoolOutputWithContext(context.Context) GetNodePoolsNodePoolOutput } -type GetJobTaskGroupVolumeArgs struct { - // `(string)` Name of the job. - Name pulumi.StringInput `pulumi:"name"` - ReadOnly pulumi.BoolInput `pulumi:"readOnly"` - Source pulumi.StringInput `pulumi:"source"` - // `(string)` Scheduler type used during job creation. - Type pulumi.StringInput `pulumi:"type"` +type GetNodePoolsNodePoolArgs struct { + // `(string)` - The description of the node pool. + Description pulumi.StringInput `pulumi:"description"` + // `(map[string]string)` - Arbitrary KV metadata associated with the + // node pool. + Meta pulumi.StringMapInput `pulumi:"meta"` + // `(string)` - The name of the node pool. + Name pulumi.StringInput `pulumi:"name"` + // `(block)` - Scheduler configuration for the node pool. + SchedulerConfigs GetNodePoolsNodePoolSchedulerConfigArrayInput `pulumi:"schedulerConfigs"` } -func (GetJobTaskGroupVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupVolume)(nil)).Elem() +func (GetNodePoolsNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsNodePool)(nil)).Elem() } -func (i GetJobTaskGroupVolumeArgs) ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput { - return i.ToGetJobTaskGroupVolumeOutputWithContext(context.Background()) +func (i GetNodePoolsNodePoolArgs) ToGetNodePoolsNodePoolOutput() GetNodePoolsNodePoolOutput { + return i.ToGetNodePoolsNodePoolOutputWithContext(context.Background()) } -func (i GetJobTaskGroupVolumeArgs) ToGetJobTaskGroupVolumeOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupVolumeOutput) +func (i GetNodePoolsNodePoolArgs) ToGetNodePoolsNodePoolOutputWithContext(ctx context.Context) GetNodePoolsNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolsNodePoolOutput) } -// GetJobTaskGroupVolumeArrayInput is an input type that accepts GetJobTaskGroupVolumeArray and GetJobTaskGroupVolumeArrayOutput values. -// You can construct a concrete instance of `GetJobTaskGroupVolumeArrayInput` via: +func (i GetNodePoolsNodePoolArgs) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolsNodePool] { + return pulumix.Output[GetNodePoolsNodePool]{ + OutputState: i.ToGetNodePoolsNodePoolOutputWithContext(ctx).OutputState, + } +} + +// GetNodePoolsNodePoolArrayInput is an input type that accepts GetNodePoolsNodePoolArray and GetNodePoolsNodePoolArrayOutput values. +// You can construct a concrete instance of `GetNodePoolsNodePoolArrayInput` via: // -// GetJobTaskGroupVolumeArray{ GetJobTaskGroupVolumeArgs{...} } -type GetJobTaskGroupVolumeArrayInput interface { +// GetNodePoolsNodePoolArray{ GetNodePoolsNodePoolArgs{...} } +type GetNodePoolsNodePoolArrayInput interface { pulumi.Input - ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput - ToGetJobTaskGroupVolumeArrayOutputWithContext(context.Context) GetJobTaskGroupVolumeArrayOutput + ToGetNodePoolsNodePoolArrayOutput() GetNodePoolsNodePoolArrayOutput + ToGetNodePoolsNodePoolArrayOutputWithContext(context.Context) GetNodePoolsNodePoolArrayOutput } -type GetJobTaskGroupVolumeArray []GetJobTaskGroupVolumeInput +type GetNodePoolsNodePoolArray []GetNodePoolsNodePoolInput -func (GetJobTaskGroupVolumeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupVolume)(nil)).Elem() +func (GetNodePoolsNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolsNodePool)(nil)).Elem() } -func (i GetJobTaskGroupVolumeArray) ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput { - return i.ToGetJobTaskGroupVolumeArrayOutputWithContext(context.Background()) +func (i GetNodePoolsNodePoolArray) ToGetNodePoolsNodePoolArrayOutput() GetNodePoolsNodePoolArrayOutput { + return i.ToGetNodePoolsNodePoolArrayOutputWithContext(context.Background()) } -func (i GetJobTaskGroupVolumeArray) ToGetJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetJobTaskGroupVolumeArrayOutput) +func (i GetNodePoolsNodePoolArray) ToGetNodePoolsNodePoolArrayOutputWithContext(ctx context.Context) GetNodePoolsNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolsNodePoolArrayOutput) } -type GetJobTaskGroupVolumeOutput struct{ *pulumi.OutputState } +func (i GetNodePoolsNodePoolArray) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolsNodePool] { + return pulumix.Output[[]GetNodePoolsNodePool]{ + OutputState: i.ToGetNodePoolsNodePoolArrayOutputWithContext(ctx).OutputState, + } +} -func (GetJobTaskGroupVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetJobTaskGroupVolume)(nil)).Elem() +type GetNodePoolsNodePoolOutput struct{ *pulumi.OutputState } + +func (GetNodePoolsNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsNodePool)(nil)).Elem() } -func (o GetJobTaskGroupVolumeOutput) ToGetJobTaskGroupVolumeOutput() GetJobTaskGroupVolumeOutput { +func (o GetNodePoolsNodePoolOutput) ToGetNodePoolsNodePoolOutput() GetNodePoolsNodePoolOutput { return o } -func (o GetJobTaskGroupVolumeOutput) ToGetJobTaskGroupVolumeOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeOutput { +func (o GetNodePoolsNodePoolOutput) ToGetNodePoolsNodePoolOutputWithContext(ctx context.Context) GetNodePoolsNodePoolOutput { return o } -// `(string)` Name of the job. -func (o GetJobTaskGroupVolumeOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Name }).(pulumi.StringOutput) +func (o GetNodePoolsNodePoolOutput) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolsNodePool] { + return pulumix.Output[GetNodePoolsNodePool]{ + OutputState: o.OutputState, + } } -func (o GetJobTaskGroupVolumeOutput) ReadOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetJobTaskGroupVolume) bool { return v.ReadOnly }).(pulumi.BoolOutput) +// `(string)` - The description of the node pool. +func (o GetNodePoolsNodePoolOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolsNodePool) string { return v.Description }).(pulumi.StringOutput) } -func (o GetJobTaskGroupVolumeOutput) Source() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Source }).(pulumi.StringOutput) +// `(map[string]string)` - Arbitrary KV metadata associated with the +// node pool. +func (o GetNodePoolsNodePoolOutput) Meta() pulumi.StringMapOutput { + return o.ApplyT(func(v GetNodePoolsNodePool) map[string]string { return v.Meta }).(pulumi.StringMapOutput) } -// `(string)` Scheduler type used during job creation. -func (o GetJobTaskGroupVolumeOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetJobTaskGroupVolume) string { return v.Type }).(pulumi.StringOutput) +// `(string)` - The name of the node pool. +func (o GetNodePoolsNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolsNodePool) string { return v.Name }).(pulumi.StringOutput) } -type GetJobTaskGroupVolumeArrayOutput struct{ *pulumi.OutputState } +// `(block)` - Scheduler configuration for the node pool. +func (o GetNodePoolsNodePoolOutput) SchedulerConfigs() GetNodePoolsNodePoolSchedulerConfigArrayOutput { + return o.ApplyT(func(v GetNodePoolsNodePool) []GetNodePoolsNodePoolSchedulerConfig { return v.SchedulerConfigs }).(GetNodePoolsNodePoolSchedulerConfigArrayOutput) +} -func (GetJobTaskGroupVolumeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetJobTaskGroupVolume)(nil)).Elem() +type GetNodePoolsNodePoolArrayOutput struct{ *pulumi.OutputState } + +func (GetNodePoolsNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolsNodePool)(nil)).Elem() } -func (o GetJobTaskGroupVolumeArrayOutput) ToGetJobTaskGroupVolumeArrayOutput() GetJobTaskGroupVolumeArrayOutput { +func (o GetNodePoolsNodePoolArrayOutput) ToGetNodePoolsNodePoolArrayOutput() GetNodePoolsNodePoolArrayOutput { return o } -func (o GetJobTaskGroupVolumeArrayOutput) ToGetJobTaskGroupVolumeArrayOutputWithContext(ctx context.Context) GetJobTaskGroupVolumeArrayOutput { +func (o GetNodePoolsNodePoolArrayOutput) ToGetNodePoolsNodePoolArrayOutputWithContext(ctx context.Context) GetNodePoolsNodePoolArrayOutput { return o } -func (o GetJobTaskGroupVolumeArrayOutput) Index(i pulumi.IntInput) GetJobTaskGroupVolumeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetJobTaskGroupVolume { - return vs[0].([]GetJobTaskGroupVolume)[vs[1].(int)] - }).(GetJobTaskGroupVolumeOutput) +func (o GetNodePoolsNodePoolArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolsNodePool] { + return pulumix.Output[[]GetNodePoolsNodePool]{ + OutputState: o.OutputState, + } } -type GetNamespaceCapability struct { - // `([]string)` - Task drivers disabled for the namespace. - DisabledTaskDrivers []string `pulumi:"disabledTaskDrivers"` - // `([]string)` - Task drivers enabled for the namespace. - EnabledTaskDrivers []string `pulumi:"enabledTaskDrivers"` +func (o GetNodePoolsNodePoolArrayOutput) Index(i pulumi.IntInput) GetNodePoolsNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodePoolsNodePool { + return vs[0].([]GetNodePoolsNodePool)[vs[1].(int)] + }).(GetNodePoolsNodePoolOutput) } -// GetNamespaceCapabilityInput is an input type that accepts GetNamespaceCapabilityArgs and GetNamespaceCapabilityOutput values. -// You can construct a concrete instance of `GetNamespaceCapabilityInput` via: +type GetNodePoolsNodePoolSchedulerConfig struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. If empty or not defined the + // global cluster configuration is used. + MemoryOversubscription string `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. If empty or not defined the global cluster configuration is used. + SchedulerAlgorithm string `pulumi:"schedulerAlgorithm"` +} + +// GetNodePoolsNodePoolSchedulerConfigInput is an input type that accepts GetNodePoolsNodePoolSchedulerConfigArgs and GetNodePoolsNodePoolSchedulerConfigOutput values. +// You can construct a concrete instance of `GetNodePoolsNodePoolSchedulerConfigInput` via: // -// GetNamespaceCapabilityArgs{...} -type GetNamespaceCapabilityInput interface { +// GetNodePoolsNodePoolSchedulerConfigArgs{...} +type GetNodePoolsNodePoolSchedulerConfigInput interface { pulumi.Input - ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput - ToGetNamespaceCapabilityOutputWithContext(context.Context) GetNamespaceCapabilityOutput + ToGetNodePoolsNodePoolSchedulerConfigOutput() GetNodePoolsNodePoolSchedulerConfigOutput + ToGetNodePoolsNodePoolSchedulerConfigOutputWithContext(context.Context) GetNodePoolsNodePoolSchedulerConfigOutput } -type GetNamespaceCapabilityArgs struct { - // `([]string)` - Task drivers disabled for the namespace. - DisabledTaskDrivers pulumi.StringArrayInput `pulumi:"disabledTaskDrivers"` - // `([]string)` - Task drivers enabled for the namespace. - EnabledTaskDrivers pulumi.StringArrayInput `pulumi:"enabledTaskDrivers"` +type GetNodePoolsNodePoolSchedulerConfigArgs struct { + // `(string)` - Whether or not memory + // oversubscription is enabled in the node pool. If empty or not defined the + // global cluster configuration is used. + MemoryOversubscription pulumi.StringInput `pulumi:"memoryOversubscription"` + // `(string)` - The scheduler algorithm used in the node + // pool. If empty or not defined the global cluster configuration is used. + SchedulerAlgorithm pulumi.StringInput `pulumi:"schedulerAlgorithm"` } -func (GetNamespaceCapabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNamespaceCapability)(nil)).Elem() +func (GetNodePoolsNodePoolSchedulerConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsNodePoolSchedulerConfig)(nil)).Elem() } -func (i GetNamespaceCapabilityArgs) ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput { - return i.ToGetNamespaceCapabilityOutputWithContext(context.Background()) +func (i GetNodePoolsNodePoolSchedulerConfigArgs) ToGetNodePoolsNodePoolSchedulerConfigOutput() GetNodePoolsNodePoolSchedulerConfigOutput { + return i.ToGetNodePoolsNodePoolSchedulerConfigOutputWithContext(context.Background()) } -func (i GetNamespaceCapabilityArgs) ToGetNamespaceCapabilityOutputWithContext(ctx context.Context) GetNamespaceCapabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceCapabilityOutput) +func (i GetNodePoolsNodePoolSchedulerConfigArgs) ToGetNodePoolsNodePoolSchedulerConfigOutputWithContext(ctx context.Context) GetNodePoolsNodePoolSchedulerConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolsNodePoolSchedulerConfigOutput) } -// GetNamespaceCapabilityArrayInput is an input type that accepts GetNamespaceCapabilityArray and GetNamespaceCapabilityArrayOutput values. -// You can construct a concrete instance of `GetNamespaceCapabilityArrayInput` via: +func (i GetNodePoolsNodePoolSchedulerConfigArgs) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolsNodePoolSchedulerConfig] { + return pulumix.Output[GetNodePoolsNodePoolSchedulerConfig]{ + OutputState: i.ToGetNodePoolsNodePoolSchedulerConfigOutputWithContext(ctx).OutputState, + } +} + +// GetNodePoolsNodePoolSchedulerConfigArrayInput is an input type that accepts GetNodePoolsNodePoolSchedulerConfigArray and GetNodePoolsNodePoolSchedulerConfigArrayOutput values. +// You can construct a concrete instance of `GetNodePoolsNodePoolSchedulerConfigArrayInput` via: // -// GetNamespaceCapabilityArray{ GetNamespaceCapabilityArgs{...} } -type GetNamespaceCapabilityArrayInput interface { +// GetNodePoolsNodePoolSchedulerConfigArray{ GetNodePoolsNodePoolSchedulerConfigArgs{...} } +type GetNodePoolsNodePoolSchedulerConfigArrayInput interface { pulumi.Input - ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput - ToGetNamespaceCapabilityArrayOutputWithContext(context.Context) GetNamespaceCapabilityArrayOutput + ToGetNodePoolsNodePoolSchedulerConfigArrayOutput() GetNodePoolsNodePoolSchedulerConfigArrayOutput + ToGetNodePoolsNodePoolSchedulerConfigArrayOutputWithContext(context.Context) GetNodePoolsNodePoolSchedulerConfigArrayOutput } -type GetNamespaceCapabilityArray []GetNamespaceCapabilityInput +type GetNodePoolsNodePoolSchedulerConfigArray []GetNodePoolsNodePoolSchedulerConfigInput -func (GetNamespaceCapabilityArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNamespaceCapability)(nil)).Elem() +func (GetNodePoolsNodePoolSchedulerConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolsNodePoolSchedulerConfig)(nil)).Elem() } -func (i GetNamespaceCapabilityArray) ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput { - return i.ToGetNamespaceCapabilityArrayOutputWithContext(context.Background()) +func (i GetNodePoolsNodePoolSchedulerConfigArray) ToGetNodePoolsNodePoolSchedulerConfigArrayOutput() GetNodePoolsNodePoolSchedulerConfigArrayOutput { + return i.ToGetNodePoolsNodePoolSchedulerConfigArrayOutputWithContext(context.Background()) } -func (i GetNamespaceCapabilityArray) ToGetNamespaceCapabilityArrayOutputWithContext(ctx context.Context) GetNamespaceCapabilityArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNamespaceCapabilityArrayOutput) +func (i GetNodePoolsNodePoolSchedulerConfigArray) ToGetNodePoolsNodePoolSchedulerConfigArrayOutputWithContext(ctx context.Context) GetNodePoolsNodePoolSchedulerConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNodePoolsNodePoolSchedulerConfigArrayOutput) } -type GetNamespaceCapabilityOutput struct{ *pulumi.OutputState } +func (i GetNodePoolsNodePoolSchedulerConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolsNodePoolSchedulerConfig] { + return pulumix.Output[[]GetNodePoolsNodePoolSchedulerConfig]{ + OutputState: i.ToGetNodePoolsNodePoolSchedulerConfigArrayOutputWithContext(ctx).OutputState, + } +} -func (GetNamespaceCapabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNamespaceCapability)(nil)).Elem() +type GetNodePoolsNodePoolSchedulerConfigOutput struct{ *pulumi.OutputState } + +func (GetNodePoolsNodePoolSchedulerConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNodePoolsNodePoolSchedulerConfig)(nil)).Elem() } -func (o GetNamespaceCapabilityOutput) ToGetNamespaceCapabilityOutput() GetNamespaceCapabilityOutput { +func (o GetNodePoolsNodePoolSchedulerConfigOutput) ToGetNodePoolsNodePoolSchedulerConfigOutput() GetNodePoolsNodePoolSchedulerConfigOutput { return o } -func (o GetNamespaceCapabilityOutput) ToGetNamespaceCapabilityOutputWithContext(ctx context.Context) GetNamespaceCapabilityOutput { +func (o GetNodePoolsNodePoolSchedulerConfigOutput) ToGetNodePoolsNodePoolSchedulerConfigOutputWithContext(ctx context.Context) GetNodePoolsNodePoolSchedulerConfigOutput { return o } -// `([]string)` - Task drivers disabled for the namespace. -func (o GetNamespaceCapabilityOutput) DisabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetNamespaceCapability) []string { return v.DisabledTaskDrivers }).(pulumi.StringArrayOutput) +func (o GetNodePoolsNodePoolSchedulerConfigOutput) ToOutput(ctx context.Context) pulumix.Output[GetNodePoolsNodePoolSchedulerConfig] { + return pulumix.Output[GetNodePoolsNodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } } -// `([]string)` - Task drivers enabled for the namespace. -func (o GetNamespaceCapabilityOutput) EnabledTaskDrivers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetNamespaceCapability) []string { return v.EnabledTaskDrivers }).(pulumi.StringArrayOutput) +// `(string)` - Whether or not memory +// oversubscription is enabled in the node pool. If empty or not defined the +// global cluster configuration is used. +func (o GetNodePoolsNodePoolSchedulerConfigOutput) MemoryOversubscription() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolsNodePoolSchedulerConfig) string { return v.MemoryOversubscription }).(pulumi.StringOutput) } -type GetNamespaceCapabilityArrayOutput struct{ *pulumi.OutputState } +// `(string)` - The scheduler algorithm used in the node +// pool. If empty or not defined the global cluster configuration is used. +func (o GetNodePoolsNodePoolSchedulerConfigOutput) SchedulerAlgorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetNodePoolsNodePoolSchedulerConfig) string { return v.SchedulerAlgorithm }).(pulumi.StringOutput) +} -func (GetNamespaceCapabilityArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNamespaceCapability)(nil)).Elem() +type GetNodePoolsNodePoolSchedulerConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetNodePoolsNodePoolSchedulerConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNodePoolsNodePoolSchedulerConfig)(nil)).Elem() } -func (o GetNamespaceCapabilityArrayOutput) ToGetNamespaceCapabilityArrayOutput() GetNamespaceCapabilityArrayOutput { +func (o GetNodePoolsNodePoolSchedulerConfigArrayOutput) ToGetNodePoolsNodePoolSchedulerConfigArrayOutput() GetNodePoolsNodePoolSchedulerConfigArrayOutput { return o } -func (o GetNamespaceCapabilityArrayOutput) ToGetNamespaceCapabilityArrayOutputWithContext(ctx context.Context) GetNamespaceCapabilityArrayOutput { +func (o GetNodePoolsNodePoolSchedulerConfigArrayOutput) ToGetNodePoolsNodePoolSchedulerConfigArrayOutputWithContext(ctx context.Context) GetNodePoolsNodePoolSchedulerConfigArrayOutput { return o } -func (o GetNamespaceCapabilityArrayOutput) Index(i pulumi.IntInput) GetNamespaceCapabilityOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNamespaceCapability { - return vs[0].([]GetNamespaceCapability)[vs[1].(int)] - }).(GetNamespaceCapabilityOutput) +func (o GetNodePoolsNodePoolSchedulerConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetNodePoolsNodePoolSchedulerConfig] { + return pulumix.Output[[]GetNodePoolsNodePoolSchedulerConfig]{ + OutputState: o.OutputState, + } +} + +func (o GetNodePoolsNodePoolSchedulerConfigArrayOutput) Index(i pulumi.IntInput) GetNodePoolsNodePoolSchedulerConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNodePoolsNodePoolSchedulerConfig { + return vs[0].([]GetNodePoolsNodePoolSchedulerConfig)[vs[1].(int)] + }).(GetNodePoolsNodePoolSchedulerConfigOutput) } type GetPluginNode struct { @@ -4980,6 +9567,12 @@ func (i GetPluginNodeArgs) ToGetPluginNodeOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(GetPluginNodeOutput) } +func (i GetPluginNodeArgs) ToOutput(ctx context.Context) pulumix.Output[GetPluginNode] { + return pulumix.Output[GetPluginNode]{ + OutputState: i.ToGetPluginNodeOutputWithContext(ctx).OutputState, + } +} + // GetPluginNodeArrayInput is an input type that accepts GetPluginNodeArray and GetPluginNodeArrayOutput values. // You can construct a concrete instance of `GetPluginNodeArrayInput` via: // @@ -5005,6 +9598,12 @@ func (i GetPluginNodeArray) ToGetPluginNodeArrayOutputWithContext(ctx context.Co return pulumi.ToOutputWithContext(ctx, i).(GetPluginNodeArrayOutput) } +func (i GetPluginNodeArray) ToOutput(ctx context.Context) pulumix.Output[[]GetPluginNode] { + return pulumix.Output[[]GetPluginNode]{ + OutputState: i.ToGetPluginNodeArrayOutputWithContext(ctx).OutputState, + } +} + type GetPluginNodeOutput struct{ *pulumi.OutputState } func (GetPluginNodeOutput) ElementType() reflect.Type { @@ -5019,6 +9618,12 @@ func (o GetPluginNodeOutput) ToGetPluginNodeOutputWithContext(ctx context.Contex return o } +func (o GetPluginNodeOutput) ToOutput(ctx context.Context) pulumix.Output[GetPluginNode] { + return pulumix.Output[GetPluginNode]{ + OutputState: o.OutputState, + } +} + func (o GetPluginNodeOutput) Healthy() pulumi.BoolOutput { return o.ApplyT(func(v GetPluginNode) bool { return v.Healthy }).(pulumi.BoolOutput) } @@ -5045,6 +9650,12 @@ func (o GetPluginNodeArrayOutput) ToGetPluginNodeArrayOutputWithContext(ctx cont return o } +func (o GetPluginNodeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetPluginNode] { + return pulumix.Output[[]GetPluginNode]{ + OutputState: o.OutputState, + } +} + func (o GetPluginNodeArrayOutput) Index(i pulumi.IntInput) GetPluginNodeOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPluginNode { return vs[0].([]GetPluginNode)[vs[1].(int)] @@ -5096,6 +9707,12 @@ func (i GetScalingPoliciesPolicyArgs) ToGetScalingPoliciesPolicyOutputWithContex return pulumi.ToOutputWithContext(ctx, i).(GetScalingPoliciesPolicyOutput) } +func (i GetScalingPoliciesPolicyArgs) ToOutput(ctx context.Context) pulumix.Output[GetScalingPoliciesPolicy] { + return pulumix.Output[GetScalingPoliciesPolicy]{ + OutputState: i.ToGetScalingPoliciesPolicyOutputWithContext(ctx).OutputState, + } +} + // GetScalingPoliciesPolicyArrayInput is an input type that accepts GetScalingPoliciesPolicyArray and GetScalingPoliciesPolicyArrayOutput values. // You can construct a concrete instance of `GetScalingPoliciesPolicyArrayInput` via: // @@ -5121,6 +9738,12 @@ func (i GetScalingPoliciesPolicyArray) ToGetScalingPoliciesPolicyArrayOutputWith return pulumi.ToOutputWithContext(ctx, i).(GetScalingPoliciesPolicyArrayOutput) } +func (i GetScalingPoliciesPolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]GetScalingPoliciesPolicy] { + return pulumix.Output[[]GetScalingPoliciesPolicy]{ + OutputState: i.ToGetScalingPoliciesPolicyArrayOutputWithContext(ctx).OutputState, + } +} + type GetScalingPoliciesPolicyOutput struct{ *pulumi.OutputState } func (GetScalingPoliciesPolicyOutput) ElementType() reflect.Type { @@ -5135,6 +9758,12 @@ func (o GetScalingPoliciesPolicyOutput) ToGetScalingPoliciesPolicyOutputWithCont return o } +func (o GetScalingPoliciesPolicyOutput) ToOutput(ctx context.Context) pulumix.Output[GetScalingPoliciesPolicy] { + return pulumix.Output[GetScalingPoliciesPolicy]{ + OutputState: o.OutputState, + } +} + // `(boolean)` - Whether or not the scaling policy is enabled. func (o GetScalingPoliciesPolicyOutput) Enabled() pulumi.BoolOutput { return o.ApplyT(func(v GetScalingPoliciesPolicy) bool { return v.Enabled }).(pulumi.BoolOutput) @@ -5169,6 +9798,12 @@ func (o GetScalingPoliciesPolicyArrayOutput) ToGetScalingPoliciesPolicyArrayOutp return o } +func (o GetScalingPoliciesPolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]GetScalingPoliciesPolicy] { + return pulumix.Output[[]GetScalingPoliciesPolicy]{ + OutputState: o.OutputState, + } +} + func (o GetScalingPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetScalingPoliciesPolicyOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetScalingPoliciesPolicy { return vs[0].([]GetScalingPoliciesPolicy)[vs[1].(int)] @@ -5178,10 +9813,40 @@ func (o GetScalingPoliciesPolicyArrayOutput) Index(i pulumi.IntInput) GetScaling func init() { pulumi.RegisterInputType(reflect.TypeOf((*AclAuthMethodConfigInput)(nil)).Elem(), AclAuthMethodConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AclAuthMethodConfigPtrInput)(nil)).Elem(), AclAuthMethodConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AclPolicyJobAclInput)(nil)).Elem(), AclPolicyJobAclArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*AclPolicyJobAclPtrInput)(nil)).Elem(), AclPolicyJobAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AclRolePolicyInput)(nil)).Elem(), AclRolePolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AclRolePolicyArrayInput)(nil)).Elem(), AclRolePolicyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*AclTokenRoleInput)(nil)).Elem(), AclTokenRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*AclTokenRoleArrayInput)(nil)).Elem(), AclTokenRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeCapabilityInput)(nil)).Elem(), CsiVolumeCapabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeCapabilityArrayInput)(nil)).Elem(), CsiVolumeCapabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeMountOptionsInput)(nil)).Elem(), CsiVolumeMountOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeMountOptionsPtrInput)(nil)).Elem(), CsiVolumeMountOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationCapabilityInput)(nil)).Elem(), CsiVolumeRegistrationCapabilityArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationCapabilityArrayInput)(nil)).Elem(), CsiVolumeRegistrationCapabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationMountOptionsInput)(nil)).Elem(), CsiVolumeRegistrationMountOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationMountOptionsPtrInput)(nil)).Elem(), CsiVolumeRegistrationMountOptionsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyInput)(nil)).Elem(), CsiVolumeRegistrationTopologyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyArrayInput)(nil)).Elem(), CsiVolumeRegistrationTopologyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestPtrInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestRequiredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredPtrInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestRequiredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredTopologyInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayInput)(nil)).Elem(), CsiVolumeRegistrationTopologyRequestRequiredTopologyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyInput)(nil)).Elem(), CsiVolumeTopologyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyArrayInput)(nil)).Elem(), CsiVolumeTopologyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestInput)(nil)).Elem(), CsiVolumeTopologyRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestPtrInput)(nil)).Elem(), CsiVolumeTopologyRequestArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestPreferredInput)(nil)).Elem(), CsiVolumeTopologyRequestPreferredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestPreferredPtrInput)(nil)).Elem(), CsiVolumeTopologyRequestPreferredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestPreferredTopologyInput)(nil)).Elem(), CsiVolumeTopologyRequestPreferredTopologyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestPreferredTopologyArrayInput)(nil)).Elem(), CsiVolumeTopologyRequestPreferredTopologyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestRequiredInput)(nil)).Elem(), CsiVolumeTopologyRequestRequiredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestRequiredPtrInput)(nil)).Elem(), CsiVolumeTopologyRequestRequiredArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestRequiredTopologyInput)(nil)).Elem(), CsiVolumeTopologyRequestRequiredTopologyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*CsiVolumeTopologyRequestRequiredTopologyArrayInput)(nil)).Elem(), CsiVolumeTopologyRequestRequiredTopologyArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalVolumeCapabilityInput)(nil)).Elem(), ExternalVolumeCapabilityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalVolumeCapabilityArrayInput)(nil)).Elem(), ExternalVolumeCapabilityArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ExternalVolumeMountOptionsInput)(nil)).Elem(), ExternalVolumeMountOptionsArgs{}) @@ -5210,6 +9875,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*JobTaskGroupVolumeArrayInput)(nil)).Elem(), JobTaskGroupVolumeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*NamespaceCapabilitiesInput)(nil)).Elem(), NamespaceCapabilitiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NamespaceCapabilitiesPtrInput)(nil)).Elem(), NamespaceCapabilitiesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceNodePoolConfigInput)(nil)).Elem(), NamespaceNodePoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NamespaceNodePoolConfigPtrInput)(nil)).Elem(), NamespaceNodePoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolSchedulerConfigInput)(nil)).Elem(), NodePoolSchedulerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NodePoolSchedulerConfigPtrInput)(nil)).Elem(), NodePoolSchedulerConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderHeaderInput)(nil)).Elem(), ProviderHeaderArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ProviderHeaderArrayInput)(nil)).Elem(), ProviderHeaderArray{}) pulumi.RegisterInputType(reflect.TypeOf((*QuoteSpecificationLimitInput)(nil)).Elem(), QuoteSpecificationLimitArgs{}) @@ -5241,6 +9910,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetAclTokensAclTokenArrayInput)(nil)).Elem(), GetAclTokensAclTokenArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAclTokensAclTokenRoleInput)(nil)).Elem(), GetAclTokensAclTokenRoleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetAclTokensAclTokenRoleArrayInput)(nil)).Elem(), GetAclTokensAclTokenRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAllocationsAllocationInput)(nil)).Elem(), GetAllocationsAllocationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetAllocationsAllocationArrayInput)(nil)).Elem(), GetAllocationsAllocationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobConstraintInput)(nil)).Elem(), GetJobConstraintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobConstraintArrayInput)(nil)).Elem(), GetJobConstraintArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetJobPeriodicConfigInput)(nil)).Elem(), GetJobPeriodicConfigArgs{}) @@ -5255,16 +9926,54 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetJobTaskGroupVolumeArrayInput)(nil)).Elem(), GetJobTaskGroupVolumeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNamespaceCapabilityInput)(nil)).Elem(), GetNamespaceCapabilityArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNamespaceCapabilityArrayInput)(nil)).Elem(), GetNamespaceCapabilityArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNamespaceNodePoolConfigInput)(nil)).Elem(), GetNamespaceNodePoolConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNamespaceNodePoolConfigArrayInput)(nil)).Elem(), GetNamespaceNodePoolConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolSchedulerConfigInput)(nil)).Elem(), GetNodePoolSchedulerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolSchedulerConfigArrayInput)(nil)).Elem(), GetNodePoolSchedulerConfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolsNodePoolInput)(nil)).Elem(), GetNodePoolsNodePoolArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolsNodePoolArrayInput)(nil)).Elem(), GetNodePoolsNodePoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolsNodePoolSchedulerConfigInput)(nil)).Elem(), GetNodePoolsNodePoolSchedulerConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNodePoolsNodePoolSchedulerConfigArrayInput)(nil)).Elem(), GetNodePoolsNodePoolSchedulerConfigArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPluginNodeInput)(nil)).Elem(), GetPluginNodeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetPluginNodeArrayInput)(nil)).Elem(), GetPluginNodeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetScalingPoliciesPolicyInput)(nil)).Elem(), GetScalingPoliciesPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetScalingPoliciesPolicyArrayInput)(nil)).Elem(), GetScalingPoliciesPolicyArray{}) pulumi.RegisterOutputType(AclAuthMethodConfigOutput{}) pulumi.RegisterOutputType(AclAuthMethodConfigPtrOutput{}) + pulumi.RegisterOutputType(AclPolicyJobAclOutput{}) + pulumi.RegisterOutputType(AclPolicyJobAclPtrOutput{}) pulumi.RegisterOutputType(AclRolePolicyOutput{}) pulumi.RegisterOutputType(AclRolePolicyArrayOutput{}) pulumi.RegisterOutputType(AclTokenRoleOutput{}) pulumi.RegisterOutputType(AclTokenRoleArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeCapabilityOutput{}) + pulumi.RegisterOutputType(CsiVolumeCapabilityArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeMountOptionsOutput{}) + pulumi.RegisterOutputType(CsiVolumeMountOptionsPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationCapabilityOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationCapabilityArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationMountOptionsOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationMountOptionsPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestRequiredOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestRequiredPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestRequiredTopologyOutput{}) + pulumi.RegisterOutputType(CsiVolumeRegistrationTopologyRequestRequiredTopologyArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestPreferredOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestPreferredPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestPreferredTopologyOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestPreferredTopologyArrayOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestRequiredOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestRequiredPtrOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestRequiredTopologyOutput{}) + pulumi.RegisterOutputType(CsiVolumeTopologyRequestRequiredTopologyArrayOutput{}) pulumi.RegisterOutputType(ExternalVolumeCapabilityOutput{}) pulumi.RegisterOutputType(ExternalVolumeCapabilityArrayOutput{}) pulumi.RegisterOutputType(ExternalVolumeMountOptionsOutput{}) @@ -5293,6 +10002,10 @@ func init() { pulumi.RegisterOutputType(JobTaskGroupVolumeArrayOutput{}) pulumi.RegisterOutputType(NamespaceCapabilitiesOutput{}) pulumi.RegisterOutputType(NamespaceCapabilitiesPtrOutput{}) + pulumi.RegisterOutputType(NamespaceNodePoolConfigOutput{}) + pulumi.RegisterOutputType(NamespaceNodePoolConfigPtrOutput{}) + pulumi.RegisterOutputType(NodePoolSchedulerConfigOutput{}) + pulumi.RegisterOutputType(NodePoolSchedulerConfigPtrOutput{}) pulumi.RegisterOutputType(ProviderHeaderOutput{}) pulumi.RegisterOutputType(ProviderHeaderArrayOutput{}) pulumi.RegisterOutputType(QuoteSpecificationLimitOutput{}) @@ -5324,6 +10037,8 @@ func init() { pulumi.RegisterOutputType(GetAclTokensAclTokenArrayOutput{}) pulumi.RegisterOutputType(GetAclTokensAclTokenRoleOutput{}) pulumi.RegisterOutputType(GetAclTokensAclTokenRoleArrayOutput{}) + pulumi.RegisterOutputType(GetAllocationsAllocationOutput{}) + pulumi.RegisterOutputType(GetAllocationsAllocationArrayOutput{}) pulumi.RegisterOutputType(GetJobConstraintOutput{}) pulumi.RegisterOutputType(GetJobConstraintArrayOutput{}) pulumi.RegisterOutputType(GetJobPeriodicConfigOutput{}) @@ -5338,6 +10053,14 @@ func init() { pulumi.RegisterOutputType(GetJobTaskGroupVolumeArrayOutput{}) pulumi.RegisterOutputType(GetNamespaceCapabilityOutput{}) pulumi.RegisterOutputType(GetNamespaceCapabilityArrayOutput{}) + pulumi.RegisterOutputType(GetNamespaceNodePoolConfigOutput{}) + pulumi.RegisterOutputType(GetNamespaceNodePoolConfigArrayOutput{}) + pulumi.RegisterOutputType(GetNodePoolSchedulerConfigOutput{}) + pulumi.RegisterOutputType(GetNodePoolSchedulerConfigArrayOutput{}) + pulumi.RegisterOutputType(GetNodePoolsNodePoolOutput{}) + pulumi.RegisterOutputType(GetNodePoolsNodePoolArrayOutput{}) + pulumi.RegisterOutputType(GetNodePoolsNodePoolSchedulerConfigOutput{}) + pulumi.RegisterOutputType(GetNodePoolsNodePoolSchedulerConfigArrayOutput{}) pulumi.RegisterOutputType(GetPluginNodeOutput{}) pulumi.RegisterOutputType(GetPluginNodeArrayOutput{}) pulumi.RegisterOutputType(GetScalingPoliciesPolicyOutput{}) diff --git a/sdk/go/nomad/quoteSpecification.go b/sdk/go/nomad/quoteSpecification.go index 1976f67c..e470ec12 100644 --- a/sdk/go/nomad/quoteSpecification.go +++ b/sdk/go/nomad/quoteSpecification.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Manages a quota specification in a Nomad cluster. @@ -22,7 +24,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -71,6 +73,7 @@ func NewQuoteSpecification(ctx *pulumi.Context, if args.Limits == nil { return nil, errors.New("invalid value for required argument 'Limits'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource QuoteSpecification err := ctx.RegisterResource("nomad:index/quoteSpecification:QuoteSpecification", name, args, &resource, opts...) if err != nil { @@ -160,6 +163,12 @@ func (i *QuoteSpecification) ToQuoteSpecificationOutputWithContext(ctx context.C return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationOutput) } +func (i *QuoteSpecification) ToOutput(ctx context.Context) pulumix.Output[*QuoteSpecification] { + return pulumix.Output[*QuoteSpecification]{ + OutputState: i.ToQuoteSpecificationOutputWithContext(ctx).OutputState, + } +} + // QuoteSpecificationArrayInput is an input type that accepts QuoteSpecificationArray and QuoteSpecificationArrayOutput values. // You can construct a concrete instance of `QuoteSpecificationArrayInput` via: // @@ -185,6 +194,12 @@ func (i QuoteSpecificationArray) ToQuoteSpecificationArrayOutputWithContext(ctx return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationArrayOutput) } +func (i QuoteSpecificationArray) ToOutput(ctx context.Context) pulumix.Output[[]*QuoteSpecification] { + return pulumix.Output[[]*QuoteSpecification]{ + OutputState: i.ToQuoteSpecificationArrayOutputWithContext(ctx).OutputState, + } +} + // QuoteSpecificationMapInput is an input type that accepts QuoteSpecificationMap and QuoteSpecificationMapOutput values. // You can construct a concrete instance of `QuoteSpecificationMapInput` via: // @@ -210,6 +225,12 @@ func (i QuoteSpecificationMap) ToQuoteSpecificationMapOutputWithContext(ctx cont return pulumi.ToOutputWithContext(ctx, i).(QuoteSpecificationMapOutput) } +func (i QuoteSpecificationMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*QuoteSpecification] { + return pulumix.Output[map[string]*QuoteSpecification]{ + OutputState: i.ToQuoteSpecificationMapOutputWithContext(ctx).OutputState, + } +} + type QuoteSpecificationOutput struct{ *pulumi.OutputState } func (QuoteSpecificationOutput) ElementType() reflect.Type { @@ -224,6 +245,12 @@ func (o QuoteSpecificationOutput) ToQuoteSpecificationOutputWithContext(ctx cont return o } +func (o QuoteSpecificationOutput) ToOutput(ctx context.Context) pulumix.Output[*QuoteSpecification] { + return pulumix.Output[*QuoteSpecification]{ + OutputState: o.OutputState, + } +} + // `(string: "")` - A description of the quota specification. func (o QuoteSpecificationOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *QuoteSpecification) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) @@ -254,6 +281,12 @@ func (o QuoteSpecificationArrayOutput) ToQuoteSpecificationArrayOutputWithContex return o } +func (o QuoteSpecificationArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*QuoteSpecification] { + return pulumix.Output[[]*QuoteSpecification]{ + OutputState: o.OutputState, + } +} + func (o QuoteSpecificationArrayOutput) Index(i pulumi.IntInput) QuoteSpecificationOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *QuoteSpecification { return vs[0].([]*QuoteSpecification)[vs[1].(int)] @@ -274,6 +307,12 @@ func (o QuoteSpecificationMapOutput) ToQuoteSpecificationMapOutputWithContext(ct return o } +func (o QuoteSpecificationMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*QuoteSpecification] { + return pulumix.Output[map[string]*QuoteSpecification]{ + OutputState: o.OutputState, + } +} + func (o QuoteSpecificationMapOutput) MapIndex(k pulumi.StringInput) QuoteSpecificationOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *QuoteSpecification { return vs[0].(map[string]*QuoteSpecification)[vs[1].(string)] diff --git a/sdk/go/nomad/schedulerConfig.go b/sdk/go/nomad/schedulerConfig.go index a86368aa..81b56880 100644 --- a/sdk/go/nomad/schedulerConfig.go +++ b/sdk/go/nomad/schedulerConfig.go @@ -7,7 +7,9 @@ import ( "context" "reflect" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Manages scheduler configuration of the Nomad cluster. @@ -26,7 +28,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -69,6 +71,7 @@ func NewSchedulerConfig(ctx *pulumi.Context, args = &SchedulerConfigArgs{} } + opts = internal.PkgResourceDefaultOpts(opts) var resource SchedulerConfig err := ctx.RegisterResource("nomad:index/schedulerConfig:SchedulerConfig", name, args, &resource, opts...) if err != nil { @@ -154,6 +157,12 @@ func (i *SchedulerConfig) ToSchedulerConfigOutputWithContext(ctx context.Context return pulumi.ToOutputWithContext(ctx, i).(SchedulerConfigOutput) } +func (i *SchedulerConfig) ToOutput(ctx context.Context) pulumix.Output[*SchedulerConfig] { + return pulumix.Output[*SchedulerConfig]{ + OutputState: i.ToSchedulerConfigOutputWithContext(ctx).OutputState, + } +} + // SchedulerConfigArrayInput is an input type that accepts SchedulerConfigArray and SchedulerConfigArrayOutput values. // You can construct a concrete instance of `SchedulerConfigArrayInput` via: // @@ -179,6 +188,12 @@ func (i SchedulerConfigArray) ToSchedulerConfigArrayOutputWithContext(ctx contex return pulumi.ToOutputWithContext(ctx, i).(SchedulerConfigArrayOutput) } +func (i SchedulerConfigArray) ToOutput(ctx context.Context) pulumix.Output[[]*SchedulerConfig] { + return pulumix.Output[[]*SchedulerConfig]{ + OutputState: i.ToSchedulerConfigArrayOutputWithContext(ctx).OutputState, + } +} + // SchedulerConfigMapInput is an input type that accepts SchedulerConfigMap and SchedulerConfigMapOutput values. // You can construct a concrete instance of `SchedulerConfigMapInput` via: // @@ -204,6 +219,12 @@ func (i SchedulerConfigMap) ToSchedulerConfigMapOutputWithContext(ctx context.Co return pulumi.ToOutputWithContext(ctx, i).(SchedulerConfigMapOutput) } +func (i SchedulerConfigMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*SchedulerConfig] { + return pulumix.Output[map[string]*SchedulerConfig]{ + OutputState: i.ToSchedulerConfigMapOutputWithContext(ctx).OutputState, + } +} + type SchedulerConfigOutput struct{ *pulumi.OutputState } func (SchedulerConfigOutput) ElementType() reflect.Type { @@ -218,6 +239,12 @@ func (o SchedulerConfigOutput) ToSchedulerConfigOutputWithContext(ctx context.Co return o } +func (o SchedulerConfigOutput) ToOutput(ctx context.Context) pulumix.Output[*SchedulerConfig] { + return pulumix.Output[*SchedulerConfig]{ + OutputState: o.OutputState, + } +} + // `(bool: false)` - When `true`, tasks may exceed their reserved memory limit. func (o SchedulerConfigOutput) MemoryOversubscriptionEnabled() pulumi.BoolPtrOutput { return o.ApplyT(func(v *SchedulerConfig) pulumi.BoolPtrOutput { return v.MemoryOversubscriptionEnabled }).(pulumi.BoolPtrOutput) @@ -247,6 +274,12 @@ func (o SchedulerConfigArrayOutput) ToSchedulerConfigArrayOutputWithContext(ctx return o } +func (o SchedulerConfigArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*SchedulerConfig] { + return pulumix.Output[[]*SchedulerConfig]{ + OutputState: o.OutputState, + } +} + func (o SchedulerConfigArrayOutput) Index(i pulumi.IntInput) SchedulerConfigOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SchedulerConfig { return vs[0].([]*SchedulerConfig)[vs[1].(int)] @@ -267,6 +300,12 @@ func (o SchedulerConfigMapOutput) ToSchedulerConfigMapOutputWithContext(ctx cont return o } +func (o SchedulerConfigMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*SchedulerConfig] { + return pulumix.Output[map[string]*SchedulerConfig]{ + OutputState: o.OutputState, + } +} + func (o SchedulerConfigMapOutput) MapIndex(k pulumi.StringInput) SchedulerConfigOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SchedulerConfig { return vs[0].(map[string]*SchedulerConfig)[vs[1].(string)] diff --git a/sdk/go/nomad/sentinelPolicy.go b/sdk/go/nomad/sentinelPolicy.go index 46d30e63..4e47d209 100644 --- a/sdk/go/nomad/sentinelPolicy.go +++ b/sdk/go/nomad/sentinelPolicy.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // Manages a Sentinel policy registered in Nomad. @@ -26,7 +28,7 @@ import ( // // "fmt" // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -95,6 +97,7 @@ func NewSentinelPolicy(ctx *pulumi.Context, if args.Scope == nil { return nil, errors.New("invalid value for required argument 'Scope'") } + opts = internal.PkgResourceDefaultOpts(opts) var resource SentinelPolicy err := ctx.RegisterResource("nomad:index/sentinelPolicy:SentinelPolicy", name, args, &resource, opts...) if err != nil { @@ -212,6 +215,12 @@ func (i *SentinelPolicy) ToSentinelPolicyOutputWithContext(ctx context.Context) return pulumi.ToOutputWithContext(ctx, i).(SentinelPolicyOutput) } +func (i *SentinelPolicy) ToOutput(ctx context.Context) pulumix.Output[*SentinelPolicy] { + return pulumix.Output[*SentinelPolicy]{ + OutputState: i.ToSentinelPolicyOutputWithContext(ctx).OutputState, + } +} + // SentinelPolicyArrayInput is an input type that accepts SentinelPolicyArray and SentinelPolicyArrayOutput values. // You can construct a concrete instance of `SentinelPolicyArrayInput` via: // @@ -237,6 +246,12 @@ func (i SentinelPolicyArray) ToSentinelPolicyArrayOutputWithContext(ctx context. return pulumi.ToOutputWithContext(ctx, i).(SentinelPolicyArrayOutput) } +func (i SentinelPolicyArray) ToOutput(ctx context.Context) pulumix.Output[[]*SentinelPolicy] { + return pulumix.Output[[]*SentinelPolicy]{ + OutputState: i.ToSentinelPolicyArrayOutputWithContext(ctx).OutputState, + } +} + // SentinelPolicyMapInput is an input type that accepts SentinelPolicyMap and SentinelPolicyMapOutput values. // You can construct a concrete instance of `SentinelPolicyMapInput` via: // @@ -262,6 +277,12 @@ func (i SentinelPolicyMap) ToSentinelPolicyMapOutputWithContext(ctx context.Cont return pulumi.ToOutputWithContext(ctx, i).(SentinelPolicyMapOutput) } +func (i SentinelPolicyMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*SentinelPolicy] { + return pulumix.Output[map[string]*SentinelPolicy]{ + OutputState: i.ToSentinelPolicyMapOutputWithContext(ctx).OutputState, + } +} + type SentinelPolicyOutput struct{ *pulumi.OutputState } func (SentinelPolicyOutput) ElementType() reflect.Type { @@ -276,6 +297,12 @@ func (o SentinelPolicyOutput) ToSentinelPolicyOutputWithContext(ctx context.Cont return o } +func (o SentinelPolicyOutput) ToOutput(ctx context.Context) pulumix.Output[*SentinelPolicy] { + return pulumix.Output[*SentinelPolicy]{ + OutputState: o.OutputState, + } +} + // `(string: "")` - A description of the policy. // // [scope]: https://www.nomadproject.io/guides/sentinel-policy.html#policy-scope @@ -319,6 +346,12 @@ func (o SentinelPolicyArrayOutput) ToSentinelPolicyArrayOutputWithContext(ctx co return o } +func (o SentinelPolicyArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*SentinelPolicy] { + return pulumix.Output[[]*SentinelPolicy]{ + OutputState: o.OutputState, + } +} + func (o SentinelPolicyArrayOutput) Index(i pulumi.IntInput) SentinelPolicyOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SentinelPolicy { return vs[0].([]*SentinelPolicy)[vs[1].(int)] @@ -339,6 +372,12 @@ func (o SentinelPolicyMapOutput) ToSentinelPolicyMapOutputWithContext(ctx contex return o } +func (o SentinelPolicyMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*SentinelPolicy] { + return pulumix.Output[map[string]*SentinelPolicy]{ + OutputState: o.OutputState, + } +} + func (o SentinelPolicyMapOutput) MapIndex(k pulumi.StringInput) SentinelPolicyOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SentinelPolicy { return vs[0].(map[string]*SentinelPolicy)[vs[1].(string)] diff --git a/sdk/go/nomad/variable.go b/sdk/go/nomad/variable.go new file mode 100644 index 00000000..11afbeaa --- /dev/null +++ b/sdk/go/nomad/variable.go @@ -0,0 +1,361 @@ +// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package nomad + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" +) + +// ## Example Usage +// +// Creating a variable in the default namespace: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// _, err := nomad.NewVariable(ctx, "example", &nomad.VariableArgs{ +// Items: pulumi.AnyMap{ +// "example_key": pulumi.Any("example_value"), +// }, +// Path: pulumi.String("some/path/of/your/choosing"), +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +// +// Creating a variable in a custom namespace: +// +// ```go +// package main +// +// import ( +// +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" +// "github.com/pulumi/pulumi/sdk/v3/go/pulumi" +// +// ) +// +// func main() { +// pulumi.Run(func(ctx *pulumi.Context) error { +// exampleNamespace, err := nomad.NewNamespace(ctx, "exampleNamespace", &nomad.NamespaceArgs{ +// Description: pulumi.String("Example namespace."), +// }) +// if err != nil { +// return err +// } +// _, err = nomad.NewVariable(ctx, "exampleVariable", &nomad.VariableArgs{ +// Path: pulumi.String("some/path/of/your/choosing"), +// Namespace: exampleNamespace.Name, +// Items: pulumi.AnyMap{ +// "example_key": pulumi.Any("example_value"), +// }, +// }) +// if err != nil { +// return err +// } +// return nil +// }) +// } +// +// ``` +type Variable struct { + pulumi.CustomResourceState + + // `(map[string]string: )` - An arbitrary map of items to create in the variable. + Items pulumi.MapOutput `pulumi:"items"` + // `(string: "default")` - The namepsace to create the variable in. + Namespace pulumi.StringPtrOutput `pulumi:"namespace"` + // `(string: )` - A unique path to create the variable at. + Path pulumi.StringOutput `pulumi:"path"` +} + +// NewVariable registers a new resource with the given unique name, arguments, and options. +func NewVariable(ctx *pulumi.Context, + name string, args *VariableArgs, opts ...pulumi.ResourceOption) (*Variable, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Items == nil { + return nil, errors.New("invalid value for required argument 'Items'") + } + if args.Path == nil { + return nil, errors.New("invalid value for required argument 'Path'") + } + if args.Items != nil { + args.Items = pulumi.ToSecret(args.Items).(pulumi.MapInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "items", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Variable + err := ctx.RegisterResource("nomad:index/variable:Variable", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVariable gets an existing Variable resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetVariable(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VariableState, opts ...pulumi.ResourceOption) (*Variable, error) { + var resource Variable + err := ctx.ReadResource("nomad:index/variable:Variable", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Variable resources. +type variableState struct { + // `(map[string]string: )` - An arbitrary map of items to create in the variable. + Items map[string]interface{} `pulumi:"items"` + // `(string: "default")` - The namepsace to create the variable in. + Namespace *string `pulumi:"namespace"` + // `(string: )` - A unique path to create the variable at. + Path *string `pulumi:"path"` +} + +type VariableState struct { + // `(map[string]string: )` - An arbitrary map of items to create in the variable. + Items pulumi.MapInput + // `(string: "default")` - The namepsace to create the variable in. + Namespace pulumi.StringPtrInput + // `(string: )` - A unique path to create the variable at. + Path pulumi.StringPtrInput +} + +func (VariableState) ElementType() reflect.Type { + return reflect.TypeOf((*variableState)(nil)).Elem() +} + +type variableArgs struct { + // `(map[string]string: )` - An arbitrary map of items to create in the variable. + Items map[string]interface{} `pulumi:"items"` + // `(string: "default")` - The namepsace to create the variable in. + Namespace *string `pulumi:"namespace"` + // `(string: )` - A unique path to create the variable at. + Path string `pulumi:"path"` +} + +// The set of arguments for constructing a Variable resource. +type VariableArgs struct { + // `(map[string]string: )` - An arbitrary map of items to create in the variable. + Items pulumi.MapInput + // `(string: "default")` - The namepsace to create the variable in. + Namespace pulumi.StringPtrInput + // `(string: )` - A unique path to create the variable at. + Path pulumi.StringInput +} + +func (VariableArgs) ElementType() reflect.Type { + return reflect.TypeOf((*variableArgs)(nil)).Elem() +} + +type VariableInput interface { + pulumi.Input + + ToVariableOutput() VariableOutput + ToVariableOutputWithContext(ctx context.Context) VariableOutput +} + +func (*Variable) ElementType() reflect.Type { + return reflect.TypeOf((**Variable)(nil)).Elem() +} + +func (i *Variable) ToVariableOutput() VariableOutput { + return i.ToVariableOutputWithContext(context.Background()) +} + +func (i *Variable) ToVariableOutputWithContext(ctx context.Context) VariableOutput { + return pulumi.ToOutputWithContext(ctx, i).(VariableOutput) +} + +func (i *Variable) ToOutput(ctx context.Context) pulumix.Output[*Variable] { + return pulumix.Output[*Variable]{ + OutputState: i.ToVariableOutputWithContext(ctx).OutputState, + } +} + +// VariableArrayInput is an input type that accepts VariableArray and VariableArrayOutput values. +// You can construct a concrete instance of `VariableArrayInput` via: +// +// VariableArray{ VariableArgs{...} } +type VariableArrayInput interface { + pulumi.Input + + ToVariableArrayOutput() VariableArrayOutput + ToVariableArrayOutputWithContext(context.Context) VariableArrayOutput +} + +type VariableArray []VariableInput + +func (VariableArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Variable)(nil)).Elem() +} + +func (i VariableArray) ToVariableArrayOutput() VariableArrayOutput { + return i.ToVariableArrayOutputWithContext(context.Background()) +} + +func (i VariableArray) ToVariableArrayOutputWithContext(ctx context.Context) VariableArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VariableArrayOutput) +} + +func (i VariableArray) ToOutput(ctx context.Context) pulumix.Output[[]*Variable] { + return pulumix.Output[[]*Variable]{ + OutputState: i.ToVariableArrayOutputWithContext(ctx).OutputState, + } +} + +// VariableMapInput is an input type that accepts VariableMap and VariableMapOutput values. +// You can construct a concrete instance of `VariableMapInput` via: +// +// VariableMap{ "key": VariableArgs{...} } +type VariableMapInput interface { + pulumi.Input + + ToVariableMapOutput() VariableMapOutput + ToVariableMapOutputWithContext(context.Context) VariableMapOutput +} + +type VariableMap map[string]VariableInput + +func (VariableMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Variable)(nil)).Elem() +} + +func (i VariableMap) ToVariableMapOutput() VariableMapOutput { + return i.ToVariableMapOutputWithContext(context.Background()) +} + +func (i VariableMap) ToVariableMapOutputWithContext(ctx context.Context) VariableMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VariableMapOutput) +} + +func (i VariableMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Variable] { + return pulumix.Output[map[string]*Variable]{ + OutputState: i.ToVariableMapOutputWithContext(ctx).OutputState, + } +} + +type VariableOutput struct{ *pulumi.OutputState } + +func (VariableOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Variable)(nil)).Elem() +} + +func (o VariableOutput) ToVariableOutput() VariableOutput { + return o +} + +func (o VariableOutput) ToVariableOutputWithContext(ctx context.Context) VariableOutput { + return o +} + +func (o VariableOutput) ToOutput(ctx context.Context) pulumix.Output[*Variable] { + return pulumix.Output[*Variable]{ + OutputState: o.OutputState, + } +} + +// `(map[string]string: )` - An arbitrary map of items to create in the variable. +func (o VariableOutput) Items() pulumi.MapOutput { + return o.ApplyT(func(v *Variable) pulumi.MapOutput { return v.Items }).(pulumi.MapOutput) +} + +// `(string: "default")` - The namepsace to create the variable in. +func (o VariableOutput) Namespace() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Variable) pulumi.StringPtrOutput { return v.Namespace }).(pulumi.StringPtrOutput) +} + +// `(string: )` - A unique path to create the variable at. +func (o VariableOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v *Variable) pulumi.StringOutput { return v.Path }).(pulumi.StringOutput) +} + +type VariableArrayOutput struct{ *pulumi.OutputState } + +func (VariableArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Variable)(nil)).Elem() +} + +func (o VariableArrayOutput) ToVariableArrayOutput() VariableArrayOutput { + return o +} + +func (o VariableArrayOutput) ToVariableArrayOutputWithContext(ctx context.Context) VariableArrayOutput { + return o +} + +func (o VariableArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Variable] { + return pulumix.Output[[]*Variable]{ + OutputState: o.OutputState, + } +} + +func (o VariableArrayOutput) Index(i pulumi.IntInput) VariableOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Variable { + return vs[0].([]*Variable)[vs[1].(int)] + }).(VariableOutput) +} + +type VariableMapOutput struct{ *pulumi.OutputState } + +func (VariableMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Variable)(nil)).Elem() +} + +func (o VariableMapOutput) ToVariableMapOutput() VariableMapOutput { + return o +} + +func (o VariableMapOutput) ToVariableMapOutputWithContext(ctx context.Context) VariableMapOutput { + return o +} + +func (o VariableMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Variable] { + return pulumix.Output[map[string]*Variable]{ + OutputState: o.OutputState, + } +} + +func (o VariableMapOutput) MapIndex(k pulumi.StringInput) VariableOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Variable { + return vs[0].(map[string]*Variable)[vs[1].(string)] + }).(VariableOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VariableInput)(nil)).Elem(), &Variable{}) + pulumi.RegisterInputType(reflect.TypeOf((*VariableArrayInput)(nil)).Elem(), VariableArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VariableMapInput)(nil)).Elem(), VariableMap{}) + pulumi.RegisterOutputType(VariableOutput{}) + pulumi.RegisterOutputType(VariableArrayOutput{}) + pulumi.RegisterOutputType(VariableMapOutput{}) +} diff --git a/sdk/go/nomad/volume.go b/sdk/go/nomad/volume.go index ab462f71..7e8cc59c 100644 --- a/sdk/go/nomad/volume.go +++ b/sdk/go/nomad/volume.go @@ -8,7 +8,9 @@ import ( "reflect" "errors" + "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad/internal" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/pulumi/pulumi/sdk/v3/go/pulumix" ) // ## Example Usage @@ -20,7 +22,7 @@ import ( // // import ( // -// "github.com/pulumi/pulumi-nomad/sdk/go/nomad" +// "github.com/pulumi/pulumi-nomad/sdk/v2/go/nomad" // "github.com/pulumi/pulumi/sdk/v3/go/pulumi" // // ) @@ -161,6 +163,7 @@ func NewVolume(ctx *pulumi.Context, "secrets", }) opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) var resource Volume err := ctx.RegisterResource("nomad:index/volume:Volume", name, args, &resource, opts...) if err != nil { @@ -414,6 +417,12 @@ func (i *Volume) ToVolumeOutputWithContext(ctx context.Context) VolumeOutput { return pulumi.ToOutputWithContext(ctx, i).(VolumeOutput) } +func (i *Volume) ToOutput(ctx context.Context) pulumix.Output[*Volume] { + return pulumix.Output[*Volume]{ + OutputState: i.ToVolumeOutputWithContext(ctx).OutputState, + } +} + // VolumeArrayInput is an input type that accepts VolumeArray and VolumeArrayOutput values. // You can construct a concrete instance of `VolumeArrayInput` via: // @@ -439,6 +448,12 @@ func (i VolumeArray) ToVolumeArrayOutputWithContext(ctx context.Context) VolumeA return pulumi.ToOutputWithContext(ctx, i).(VolumeArrayOutput) } +func (i VolumeArray) ToOutput(ctx context.Context) pulumix.Output[[]*Volume] { + return pulumix.Output[[]*Volume]{ + OutputState: i.ToVolumeArrayOutputWithContext(ctx).OutputState, + } +} + // VolumeMapInput is an input type that accepts VolumeMap and VolumeMapOutput values. // You can construct a concrete instance of `VolumeMapInput` via: // @@ -464,6 +479,12 @@ func (i VolumeMap) ToVolumeMapOutputWithContext(ctx context.Context) VolumeMapOu return pulumi.ToOutputWithContext(ctx, i).(VolumeMapOutput) } +func (i VolumeMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Volume] { + return pulumix.Output[map[string]*Volume]{ + OutputState: i.ToVolumeMapOutputWithContext(ctx).OutputState, + } +} + type VolumeOutput struct{ *pulumi.OutputState } func (VolumeOutput) ElementType() reflect.Type { @@ -478,6 +499,12 @@ func (o VolumeOutput) ToVolumeOutputWithContext(ctx context.Context) VolumeOutpu return o } +func (o VolumeOutput) ToOutput(ctx context.Context) pulumix.Output[*Volume] { + return pulumix.Output[*Volume]{ + OutputState: o.OutputState, + } +} + // `(string: )` - **Deprecated**. Use `capability` block instead. Defines whether a volume should be available concurrently. Possible values are: // - `single-node-reader-only` // - `single-node-writer` @@ -621,6 +648,12 @@ func (o VolumeArrayOutput) ToVolumeArrayOutputWithContext(ctx context.Context) V return o } +func (o VolumeArrayOutput) ToOutput(ctx context.Context) pulumix.Output[[]*Volume] { + return pulumix.Output[[]*Volume]{ + OutputState: o.OutputState, + } +} + func (o VolumeArrayOutput) Index(i pulumi.IntInput) VolumeOutput { return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Volume { return vs[0].([]*Volume)[vs[1].(int)] @@ -641,6 +674,12 @@ func (o VolumeMapOutput) ToVolumeMapOutputWithContext(ctx context.Context) Volum return o } +func (o VolumeMapOutput) ToOutput(ctx context.Context) pulumix.Output[map[string]*Volume] { + return pulumix.Output[map[string]*Volume]{ + OutputState: o.OutputState, + } +} + func (o VolumeMapOutput) MapIndex(k pulumi.StringInput) VolumeOutput { return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Volume { return vs[0].(map[string]*Volume)[vs[1].(string)] diff --git a/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRule.java b/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRule.java index 6825100a..01b1e53d 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRule.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRule.java @@ -33,18 +33,22 @@ public Output authMethod() { return this.authMethod; } /** - * `(string: "")` - Target of the binding. + * `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ @Export(name="bindName", type=String.class, parameters={}) - private Output bindName; + private Output bindName; /** - * @return `(string: "")` - Target of the binding. + * @return `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ - public Output bindName() { - return this.bindName; + public Output> bindName() { + return Codegen.optional(this.bindName); } /** * `(string: <required>)` - Adjusts how this binding rule is applied diff --git a/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRuleArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRuleArgs.java index aa8f926b..b2e8e623 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRuleArgs.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/AclBindingRuleArgs.java @@ -33,18 +33,22 @@ public Output authMethod() { } /** - * `(string: "")` - Target of the binding. + * `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ - @Import(name="bindName", required=true) - private Output bindName; + @Import(name="bindName") + private @Nullable Output bindName; /** - * @return `(string: "")` - Target of the binding. + * @return `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ - public Output bindName() { - return this.bindName; + public Optional> bindName() { + return Optional.ofNullable(this.bindName); } /** @@ -148,18 +152,22 @@ public Builder authMethod(String authMethod) { } /** - * @param bindName `(string: "")` - Target of the binding. + * @param bindName `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * * @return builder * */ - public Builder bindName(Output bindName) { + public Builder bindName(@Nullable Output bindName) { $.bindName = bindName; return this; } /** - * @param bindName `(string: "")` - Target of the binding. + * @param bindName `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * * @return builder * @@ -237,7 +245,6 @@ public Builder selector(String selector) { public AclBindingRuleArgs build() { $.authMethod = Objects.requireNonNull($.authMethod, "expected parameter 'authMethod' to be non-null"); - $.bindName = Objects.requireNonNull($.bindName, "expected parameter 'bindName' to be non-null"); $.bindType = Objects.requireNonNull($.bindType, "expected parameter 'bindType' to be non-null"); return $; } diff --git a/sdk/java/src/main/java/com/pulumi/nomad/AclPolicy.java b/sdk/java/src/main/java/com/pulumi/nomad/AclPolicy.java index 3cf378ab..90dd35e4 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/AclPolicy.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/AclPolicy.java @@ -10,6 +10,7 @@ import com.pulumi.nomad.AclPolicyArgs; import com.pulumi.nomad.Utilities; import com.pulumi.nomad.inputs.AclPolicyState; +import com.pulumi.nomad.outputs.AclPolicyJobAcl; import java.lang.String; import java.util.Optional; import javax.annotation.Nullable; @@ -103,6 +104,20 @@ public class AclPolicy extends com.pulumi.resources.CustomResource { public Output> description() { return Codegen.optional(this.description); } + /** + * `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + @Export(name="jobAcl", type=AclPolicyJobAcl.class, parameters={}) + private Output jobAcl; + + /** + * @return `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + public Output> jobAcl() { + return Codegen.optional(this.jobAcl); + } /** * `(string: <required>)` - A unique name for the policy. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/AclPolicyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/AclPolicyArgs.java index 61993e13..42245748 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/AclPolicyArgs.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/AclPolicyArgs.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.AclPolicyJobAclArgs; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -30,6 +31,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + @Import(name="jobAcl") + private @Nullable Output jobAcl; + + /** + * @return `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + public Optional> jobAcl() { + return Optional.ofNullable(this.jobAcl); + } + /** * `(string: <required>)` - A unique name for the policy. * @@ -66,6 +82,7 @@ private AclPolicyArgs() {} private AclPolicyArgs(AclPolicyArgs $) { this.description = $.description; + this.jobAcl = $.jobAcl; this.name = $.name; this.rulesHcl = $.rulesHcl; } @@ -109,6 +126,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param jobAcl `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + * @return builder + * + */ + public Builder jobAcl(@Nullable Output jobAcl) { + $.jobAcl = jobAcl; + return this; + } + + /** + * @param jobAcl `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + * @return builder + * + */ + public Builder jobAcl(AclPolicyJobAclArgs jobAcl) { + return jobAcl(Output.of(jobAcl)); + } + /** * @param name `(string: <required>)` - A unique name for the policy. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/Config.java b/sdk/java/src/main/java/com/pulumi/nomad/Config.java index 81857207..9f365d21 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/Config.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/Config.java @@ -106,6 +106,13 @@ public Optional region() { public Optional secretId() { return Codegen.stringProp("secretId").config(config).get(); } +/** + * Skip TLS verification on client side. + * + */ + public Optional skipVerify() { + return Codegen.booleanProp("skipVerify").config(config).get(); + } /** * Vault token if policies are specified in the job file. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/CsiVolume.java b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolume.java new file mode 100644 index 00000000..39856533 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolume.java @@ -0,0 +1,459 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.nomad.CsiVolumeArgs; +import com.pulumi.nomad.Utilities; +import com.pulumi.nomad.inputs.CsiVolumeState; +import com.pulumi.nomad.outputs.CsiVolumeCapability; +import com.pulumi.nomad.outputs.CsiVolumeMountOptions; +import com.pulumi.nomad.outputs.CsiVolumeTopology; +import com.pulumi.nomad.outputs.CsiVolumeTopologyRequest; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * + * Creating a volume: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetPluginArgs; + * import com.pulumi.nomad.CsiVolume; + * import com.pulumi.nomad.CsiVolumeArgs; + * import com.pulumi.nomad.inputs.CsiVolumeCapabilityArgs; + * import com.pulumi.nomad.inputs.CsiVolumeMountOptionsArgs; + * import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestArgs; + * import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestRequiredArgs; + * import com.pulumi.resources.CustomResourceOptions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder() + * .pluginId("aws-ebs0") + * .waitForHealthy(true) + * .build()); + * + * var mysqlVolume = new CsiVolume("mysqlVolume", CsiVolumeArgs.builder() + * .pluginId("aws-ebs0") + * .volumeId("mysql_volume") + * .capacityMin("10GiB") + * .capacityMax("20GiB") + * .capabilities(CsiVolumeCapabilityArgs.builder() + * .accessMode("single-node-writer") + * .attachmentMode("file-system") + * .build()) + * .mountOptions(CsiVolumeMountOptionsArgs.builder() + * .fsType("ext4") + * .build()) + * .topologyRequest(CsiVolumeTopologyRequestArgs.builder() + * .required(CsiVolumeTopologyRequestRequiredArgs.builder() + * .topologies( + * CsiVolumeTopologyRequestRequiredTopologyArgs.builder() + * .segments(Map.ofEntries( + * Map.entry("rack", "R1"), + * Map.entry("zone", "us-east-1a") + * )) + * .build(), + * CsiVolumeTopologyRequestRequiredTopologyArgs.builder() + * .segments(Map.of("rack", "R2")) + * .build()) + * .build()) + * .build()) + * .build(), CustomResourceOptions.builder() + * .dependsOn(ebs.applyValue(getPluginResult -> getPluginResult)) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="nomad:index/csiVolume:CsiVolume") +public class CsiVolume extends com.pulumi.resources.CustomResource { + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Export(name="capabilities", type=List.class, parameters={CsiVolumeCapability.class}) + private Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Output> capabilities() { + return this.capabilities; + } + /** + * `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + @Export(name="capacityMax", type=String.class, parameters={}) + private Output capacityMax; + + /** + * @return `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + public Output> capacityMax() { + return Codegen.optional(this.capacityMax); + } + /** + * `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + @Export(name="capacityMin", type=String.class, parameters={}) + private Output capacityMin; + + /** + * @return `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + public Output> capacityMin() { + return Codegen.optional(this.capacityMin); + } + /** + * `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + @Export(name="cloneId", type=String.class, parameters={}) + private Output cloneId; + + /** + * @return `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + public Output> cloneId() { + return Codegen.optional(this.cloneId); + } + /** + * `(boolean)` + * + */ + @Export(name="controllerRequired", type=Boolean.class, parameters={}) + private Output controllerRequired; + + /** + * @return `(boolean)` + * + */ + public Output controllerRequired() { + return this.controllerRequired; + } + /** + * `(integer)` + * + */ + @Export(name="controllersExpected", type=Integer.class, parameters={}) + private Output controllersExpected; + + /** + * @return `(integer)` + * + */ + public Output controllersExpected() { + return this.controllersExpected; + } + /** + * `(integer)` + * + */ + @Export(name="controllersHealthy", type=Integer.class, parameters={}) + private Output controllersHealthy; + + /** + * @return `(integer)` + * + */ + public Output controllersHealthy() { + return this.controllersHealthy; + } + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Export(name="mountOptions", type=CsiVolumeMountOptions.class, parameters={}) + private Output mountOptions; + + /** + * @return `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Output> mountOptions() { + return Codegen.optional(this.mountOptions); + } + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Export(name="name", type=String.class, parameters={}) + private Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Output name() { + return this.name; + } + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Export(name="namespace", type=String.class, parameters={}) + private Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Output> namespace() { + return Codegen.optional(this.namespace); + } + /** + * `(integer)` + * + */ + @Export(name="nodesExpected", type=Integer.class, parameters={}) + private Output nodesExpected; + + /** + * @return `(integer)` + * + */ + public Output nodesExpected() { + return this.nodesExpected; + } + /** + * `(integer)` + * + */ + @Export(name="nodesHealthy", type=Integer.class, parameters={}) + private Output nodesHealthy; + + /** + * @return `(integer)` + * + */ + public Output nodesHealthy() { + return this.nodesHealthy; + } + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Export(name="parameters", type=Map.class, parameters={String.class, String.class}) + private Output> parameters; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Output>> parameters() { + return Codegen.optional(this.parameters); + } + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Export(name="pluginId", type=String.class, parameters={}) + private Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Output pluginId() { + return this.pluginId; + } + /** + * `(string)` + * + */ + @Export(name="pluginProvider", type=String.class, parameters={}) + private Output pluginProvider; + + /** + * @return `(string)` + * + */ + public Output pluginProvider() { + return this.pluginProvider; + } + /** + * `(string)` + * + */ + @Export(name="pluginProviderVersion", type=String.class, parameters={}) + private Output pluginProviderVersion; + + /** + * @return `(string)` + * + */ + public Output pluginProviderVersion() { + return this.pluginProviderVersion; + } + /** + * `(boolean)` + * + */ + @Export(name="schedulable", type=Boolean.class, parameters={}) + private Output schedulable; + + /** + * @return `(boolean)` + * + */ + public Output schedulable() { + return this.schedulable; + } + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Export(name="secrets", type=Map.class, parameters={String.class, String.class}) + private Output> secrets; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Output>> secrets() { + return Codegen.optional(this.secrets); + } + /** + * `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + @Export(name="snapshotId", type=String.class, parameters={}) + private Output snapshotId; + + /** + * @return `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + public Output> snapshotId() { + return Codegen.optional(this.snapshotId); + } + /** + * `(List of topologies)` + * + */ + @Export(name="topologies", type=List.class, parameters={CsiVolumeTopology.class}) + private Output> topologies; + + /** + * @return `(List of topologies)` + * + */ + public Output> topologies() { + return this.topologies; + } + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Export(name="topologyRequest", type=CsiVolumeTopologyRequest.class, parameters={}) + private Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Output> topologyRequest() { + return Codegen.optional(this.topologyRequest); + } + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Export(name="volumeId", type=String.class, parameters={}) + private Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Output volumeId() { + return this.volumeId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CsiVolume(String name) { + this(name, CsiVolumeArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CsiVolume(String name, CsiVolumeArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public CsiVolume(String name, CsiVolumeArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/csiVolume:CsiVolume", name, args == null ? CsiVolumeArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CsiVolume(String name, Output id, @Nullable CsiVolumeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/csiVolume:CsiVolume", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "secrets" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CsiVolume get(String name, Output id, @Nullable CsiVolumeState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CsiVolume(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeArgs.java new file mode 100644 index 00000000..8993e8ae --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeArgs.java @@ -0,0 +1,545 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeCapabilityArgs; +import com.pulumi.nomad.inputs.CsiVolumeMountOptionsArgs; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestArgs; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeArgs Empty = new CsiVolumeArgs(); + + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Import(name="capabilities", required=true) + private Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Output> capabilities() { + return this.capabilities; + } + + /** + * `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + @Import(name="capacityMax") + private @Nullable Output capacityMax; + + /** + * @return `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + public Optional> capacityMax() { + return Optional.ofNullable(this.capacityMax); + } + + /** + * `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + @Import(name="capacityMin") + private @Nullable Output capacityMin; + + /** + * @return `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + public Optional> capacityMin() { + return Optional.ofNullable(this.capacityMin); + } + + /** + * `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + @Import(name="cloneId") + private @Nullable Output cloneId; + + /** + * @return `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + public Optional> cloneId() { + return Optional.ofNullable(this.cloneId); + } + + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Import(name="mountOptions") + private @Nullable Output mountOptions; + + /** + * @return `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Optional> mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Import(name="pluginId", required=true) + private Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Output pluginId() { + return this.pluginId; + } + + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + @Import(name="snapshotId") + private @Nullable Output snapshotId; + + /** + * @return `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + public Optional> snapshotId() { + return Optional.ofNullable(this.snapshotId); + } + + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Import(name="topologyRequest") + private @Nullable Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Optional> topologyRequest() { + return Optional.ofNullable(this.topologyRequest); + } + + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Import(name="volumeId", required=true) + private Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Output volumeId() { + return this.volumeId; + } + + private CsiVolumeArgs() {} + + private CsiVolumeArgs(CsiVolumeArgs $) { + this.capabilities = $.capabilities; + this.capacityMax = $.capacityMax; + this.capacityMin = $.capacityMin; + this.cloneId = $.cloneId; + this.mountOptions = $.mountOptions; + this.name = $.name; + this.namespace = $.namespace; + this.parameters = $.parameters; + this.pluginId = $.pluginId; + this.secrets = $.secrets; + this.snapshotId = $.snapshotId; + this.topologyRequest = $.topologyRequest; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeArgs $; + + public Builder() { + $ = new CsiVolumeArgs(); + } + + public Builder(CsiVolumeArgs defaults) { + $ = new CsiVolumeArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(Output> capabilities) { + $.capabilities = capabilities; + return this; + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(List capabilities) { + return capabilities(Output.of(capabilities)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(CsiVolumeCapabilityArgs... capabilities) { + return capabilities(List.of(capabilities)); + } + + /** + * @param capacityMax `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMax(@Nullable Output capacityMax) { + $.capacityMax = capacityMax; + return this; + } + + /** + * @param capacityMax `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMax(String capacityMax) { + return capacityMax(Output.of(capacityMax)); + } + + /** + * @param capacityMin `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMin(@Nullable Output capacityMin) { + $.capacityMin = capacityMin; + return this; + } + + /** + * @param capacityMin `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMin(String capacityMin) { + return capacityMin(Output.of(capacityMin)); + } + + /** + * @param cloneId `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + * @return builder + * + */ + public Builder cloneId(@Nullable Output cloneId) { + $.cloneId = cloneId; + return this; + } + + /** + * @param cloneId `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + * @return builder + * + */ + public Builder cloneId(String cloneId) { + return cloneId(Output.of(cloneId)); + } + + /** + * @param mountOptions `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(@Nullable Output mountOptions) { + $.mountOptions = mountOptions; + return this; + } + + /** + * @param mountOptions `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(CsiVolumeMountOptionsArgs mountOptions) { + return mountOptions(Output.of(mountOptions)); + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param parameters `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(Output pluginId) { + $.pluginId = pluginId; + return this; + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(String pluginId) { + return pluginId(Output.of(pluginId)); + } + + /** + * @param secrets `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(Map secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param snapshotId `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + * @return builder + * + */ + public Builder snapshotId(@Nullable Output snapshotId) { + $.snapshotId = snapshotId; + return this; + } + + /** + * @param snapshotId `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + * @return builder + * + */ + public Builder snapshotId(String snapshotId) { + return snapshotId(Output.of(snapshotId)); + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(@Nullable Output topologyRequest) { + $.topologyRequest = topologyRequest; + return this; + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(CsiVolumeTopologyRequestArgs topologyRequest) { + return topologyRequest(Output.of(topologyRequest)); + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(Output volumeId) { + $.volumeId = volumeId; + return this; + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + return volumeId(Output.of(volumeId)); + } + + public CsiVolumeArgs build() { + $.capabilities = Objects.requireNonNull($.capabilities, "expected parameter 'capabilities' to be non-null"); + $.pluginId = Objects.requireNonNull($.pluginId, "expected parameter 'pluginId' to be non-null"); + $.volumeId = Objects.requireNonNull($.volumeId, "expected parameter 'volumeId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistration.java b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistration.java new file mode 100644 index 00000000..64a0ffc9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistration.java @@ -0,0 +1,444 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.nomad.CsiVolumeRegistrationArgs; +import com.pulumi.nomad.Utilities; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationState; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationCapability; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationMountOptions; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationTopology; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationTopologyRequest; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * + * Registering a volume: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetPluginArgs; + * import com.pulumi.nomad.Volume; + * import com.pulumi.nomad.VolumeArgs; + * import com.pulumi.nomad.inputs.VolumeCapabilityArgs; + * import com.pulumi.nomad.inputs.VolumeMountOptionsArgs; + * import com.pulumi.nomad.inputs.VolumeTopologyRequestArgs; + * import com.pulumi.nomad.inputs.VolumeTopologyRequestRequiredArgs; + * import com.pulumi.resources.CustomResourceOptions; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var ebs = NomadFunctions.getPlugin(GetPluginArgs.builder() + * .pluginId("aws-ebs0") + * .waitForHealthy(true) + * .build()); + * + * var mysqlVolume = new Volume("mysqlVolume", VolumeArgs.builder() + * .pluginId("aws-ebs0") + * .volumeId("mysql_volume") + * .externalId(module.hashistack().ebs_test_volume_id()) + * .capabilities(VolumeCapabilityArgs.builder() + * .accessMode("single-node-writer") + * .attachmentMode("file-system") + * .build()) + * .mountOptions(VolumeMountOptionsArgs.builder() + * .fsType("ext4") + * .build()) + * .topologyRequest(VolumeTopologyRequestArgs.builder() + * .required(VolumeTopologyRequestRequiredArgs.builder() + * .topologies( + * VolumeTopologyRequestRequiredTopologyArgs.builder() + * .segments(Map.ofEntries( + * Map.entry("rack", "R1"), + * Map.entry("zone", "us-east-1a") + * )) + * .build(), + * VolumeTopologyRequestRequiredTopologyArgs.builder() + * .segments(Map.of("rack", "R2")) + * .build()) + * .build()) + * .build()) + * .build(), CustomResourceOptions.builder() + * .dependsOn(ebs.applyValue(getPluginResult -> getPluginResult)) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="nomad:index/csiVolumeRegistration:CsiVolumeRegistration") +public class CsiVolumeRegistration extends com.pulumi.resources.CustomResource { + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Export(name="capabilities", type=List.class, parameters={CsiVolumeRegistrationCapability.class}) + private Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Output>> capabilities() { + return Codegen.optional(this.capabilities); + } + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + @Export(name="context", type=Map.class, parameters={String.class, String.class}) + private Output> context; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + public Output>> context() { + return Codegen.optional(this.context); + } + /** + * `(boolean)` + * + */ + @Export(name="controllerRequired", type=Boolean.class, parameters={}) + private Output controllerRequired; + + /** + * @return `(boolean)` + * + */ + public Output controllerRequired() { + return this.controllerRequired; + } + /** + * `(integer)` + * + */ + @Export(name="controllersExpected", type=Integer.class, parameters={}) + private Output controllersExpected; + + /** + * @return `(integer)` + * + */ + public Output controllersExpected() { + return this.controllersExpected; + } + /** + * `(integer)` + * + */ + @Export(name="controllersHealthy", type=Integer.class, parameters={}) + private Output controllersHealthy; + + /** + * @return `(integer)` + * + */ + public Output controllersHealthy() { + return this.controllersHealthy; + } + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + @Export(name="deregisterOnDestroy", type=Boolean.class, parameters={}) + private Output deregisterOnDestroy; + + /** + * @return `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + public Output> deregisterOnDestroy() { + return Codegen.optional(this.deregisterOnDestroy); + } + /** + * `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + @Export(name="externalId", type=String.class, parameters={}) + private Output externalId; + + /** + * @return `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + public Output externalId() { + return this.externalId; + } + /** + * `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Export(name="mountOptions", type=CsiVolumeRegistrationMountOptions.class, parameters={}) + private Output mountOptions; + + /** + * @return `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Output> mountOptions() { + return Codegen.optional(this.mountOptions); + } + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Export(name="name", type=String.class, parameters={}) + private Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Output name() { + return this.name; + } + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Export(name="namespace", type=String.class, parameters={}) + private Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Output> namespace() { + return Codegen.optional(this.namespace); + } + /** + * `(integer)` + * + */ + @Export(name="nodesExpected", type=Integer.class, parameters={}) + private Output nodesExpected; + + /** + * @return `(integer)` + * + */ + public Output nodesExpected() { + return this.nodesExpected; + } + /** + * `(integer)` + * + */ + @Export(name="nodesHealthy", type=Integer.class, parameters={}) + private Output nodesHealthy; + + /** + * @return `(integer)` + * + */ + public Output nodesHealthy() { + return this.nodesHealthy; + } + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Export(name="parameters", type=Map.class, parameters={String.class, String.class}) + private Output> parameters; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Output>> parameters() { + return Codegen.optional(this.parameters); + } + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Export(name="pluginId", type=String.class, parameters={}) + private Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Output pluginId() { + return this.pluginId; + } + /** + * `(string)` + * + */ + @Export(name="pluginProvider", type=String.class, parameters={}) + private Output pluginProvider; + + /** + * @return `(string)` + * + */ + public Output pluginProvider() { + return this.pluginProvider; + } + /** + * `(string)` + * + */ + @Export(name="pluginProviderVersion", type=String.class, parameters={}) + private Output pluginProviderVersion; + + /** + * @return `(string)` + * + */ + public Output pluginProviderVersion() { + return this.pluginProviderVersion; + } + /** + * `(boolean)` + * + */ + @Export(name="schedulable", type=Boolean.class, parameters={}) + private Output schedulable; + + /** + * @return `(boolean)` + * + */ + public Output schedulable() { + return this.schedulable; + } + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Export(name="secrets", type=Map.class, parameters={String.class, String.class}) + private Output> secrets; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Output>> secrets() { + return Codegen.optional(this.secrets); + } + /** + * `(List of topologies)` + * + */ + @Export(name="topologies", type=List.class, parameters={CsiVolumeRegistrationTopology.class}) + private Output> topologies; + + /** + * @return `(List of topologies)` + * + */ + public Output> topologies() { + return this.topologies; + } + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Export(name="topologyRequest", type=CsiVolumeRegistrationTopologyRequest.class, parameters={}) + private Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Output> topologyRequest() { + return Codegen.optional(this.topologyRequest); + } + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Export(name="volumeId", type=String.class, parameters={}) + private Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Output volumeId() { + return this.volumeId; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public CsiVolumeRegistration(String name) { + this(name, CsiVolumeRegistrationArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public CsiVolumeRegistration(String name, CsiVolumeRegistrationArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public CsiVolumeRegistration(String name, CsiVolumeRegistrationArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, args == null ? CsiVolumeRegistrationArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private CsiVolumeRegistration(String name, Output id, @Nullable CsiVolumeRegistrationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/csiVolumeRegistration:CsiVolumeRegistration", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "secrets" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static CsiVolumeRegistration get(String name, Output id, @Nullable CsiVolumeRegistrationState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new CsiVolumeRegistration(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistrationArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistrationArgs.java new file mode 100644 index 00000000..908fcaef --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/CsiVolumeRegistrationArgs.java @@ -0,0 +1,509 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationCapabilityArgs; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationMountOptionsArgs; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationTopologyRequestArgs; +import java.lang.Boolean; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeRegistrationArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationArgs Empty = new CsiVolumeRegistrationArgs(); + + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Import(name="capabilities") + private @Nullable Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Optional>> capabilities() { + return Optional.ofNullable(this.capabilities); + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + @Import(name="context") + private @Nullable Output> context; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + public Optional>> context() { + return Optional.ofNullable(this.context); + } + + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + @Import(name="deregisterOnDestroy") + private @Nullable Output deregisterOnDestroy; + + /** + * @return `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + public Optional> deregisterOnDestroy() { + return Optional.ofNullable(this.deregisterOnDestroy); + } + + /** + * `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + @Import(name="externalId", required=true) + private Output externalId; + + /** + * @return `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + public Output externalId() { + return this.externalId; + } + + /** + * `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Import(name="mountOptions") + private @Nullable Output mountOptions; + + /** + * @return `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Optional> mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Import(name="pluginId", required=true) + private Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Output pluginId() { + return this.pluginId; + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Import(name="topologyRequest") + private @Nullable Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Optional> topologyRequest() { + return Optional.ofNullable(this.topologyRequest); + } + + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Import(name="volumeId", required=true) + private Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Output volumeId() { + return this.volumeId; + } + + private CsiVolumeRegistrationArgs() {} + + private CsiVolumeRegistrationArgs(CsiVolumeRegistrationArgs $) { + this.capabilities = $.capabilities; + this.context = $.context; + this.deregisterOnDestroy = $.deregisterOnDestroy; + this.externalId = $.externalId; + this.mountOptions = $.mountOptions; + this.name = $.name; + this.namespace = $.namespace; + this.parameters = $.parameters; + this.pluginId = $.pluginId; + this.secrets = $.secrets; + this.topologyRequest = $.topologyRequest; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationArgs(); + } + + public Builder(CsiVolumeRegistrationArgs defaults) { + $ = new CsiVolumeRegistrationArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(@Nullable Output> capabilities) { + $.capabilities = capabilities; + return this; + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(List capabilities) { + return capabilities(Output.of(capabilities)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(CsiVolumeRegistrationCapabilityArgs... capabilities) { + return capabilities(List.of(capabilities)); + } + + /** + * @param context `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + * @return builder + * + */ + public Builder context(@Nullable Output> context) { + $.context = context; + return this; + } + + /** + * @param context `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + * @return builder + * + */ + public Builder context(Map context) { + return context(Output.of(context)); + } + + /** + * @param deregisterOnDestroy `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + * @return builder + * + */ + public Builder deregisterOnDestroy(@Nullable Output deregisterOnDestroy) { + $.deregisterOnDestroy = deregisterOnDestroy; + return this; + } + + /** + * @param deregisterOnDestroy `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + * @return builder + * + */ + public Builder deregisterOnDestroy(Boolean deregisterOnDestroy) { + return deregisterOnDestroy(Output.of(deregisterOnDestroy)); + } + + /** + * @param externalId `(string: <required>)` - The ID of the physical volume from the storage provider. + * + * @return builder + * + */ + public Builder externalId(Output externalId) { + $.externalId = externalId; + return this; + } + + /** + * @param externalId `(string: <required>)` - The ID of the physical volume from the storage provider. + * + * @return builder + * + */ + public Builder externalId(String externalId) { + return externalId(Output.of(externalId)); + } + + /** + * @param mountOptions `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(@Nullable Output mountOptions) { + $.mountOptions = mountOptions; + return this; + } + + /** + * @param mountOptions `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(CsiVolumeRegistrationMountOptionsArgs mountOptions) { + return mountOptions(Output.of(mountOptions)); + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param parameters `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(Output pluginId) { + $.pluginId = pluginId; + return this; + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(String pluginId) { + return pluginId(Output.of(pluginId)); + } + + /** + * @param secrets `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(Map secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(@Nullable Output topologyRequest) { + $.topologyRequest = topologyRequest; + return this; + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(CsiVolumeRegistrationTopologyRequestArgs topologyRequest) { + return topologyRequest(Output.of(topologyRequest)); + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(Output volumeId) { + $.volumeId = volumeId; + return this; + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + return volumeId(Output.of(volumeId)); + } + + public CsiVolumeRegistrationArgs build() { + $.externalId = Objects.requireNonNull($.externalId, "expected parameter 'externalId' to be non-null"); + $.pluginId = Objects.requireNonNull($.pluginId, "expected parameter 'pluginId' to be non-null"); + $.volumeId = Objects.requireNonNull($.volumeId, "expected parameter 'volumeId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/Job.java b/sdk/java/src/main/java/com/pulumi/nomad/Job.java index 205e1bdd..cb9511e7 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/Job.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/Job.java @@ -23,7 +23,11 @@ public class Job extends com.pulumi.resources.CustomResource { /** * The IDs for allocations associated with this job. * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ @Export(name="allocationIds", type=List.class, parameters={String.class}) private Output> allocationIds; @@ -138,6 +142,24 @@ public Output> deregisterOnIdChange() { public Output> detach() { return Codegen.optional(this.detach); } + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + @Export(name="hcl1", type=Boolean.class, parameters={}) + private Output hcl1; + + /** + * @return `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + public Output> hcl1() { + return Codegen.optional(this.hcl1); + } /** * `(block: optional)` - Options for the HCL2 jobspec parser. * @@ -256,6 +278,18 @@ public Output> policyOverride() { public Output> purgeOnDestroy() { return Codegen.optional(this.purgeOnDestroy); } + /** + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + @Export(name="readAllocationIds", type=Boolean.class, parameters={}) + private Output readAllocationIds; + + public Output> readAllocationIds() { + return Codegen.optional(this.readAllocationIds); + } /** * The target region for the job, as derived from the jobspec. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/JobArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/JobArgs.java index 37aaa64b..2a9876a2 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/JobArgs.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/JobArgs.java @@ -83,6 +83,25 @@ public Optional> detach() { return Optional.ofNullable(this.detach); } + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + @Import(name="hcl1") + private @Nullable Output hcl1; + + /** + * @return `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + public Optional> hcl1() { + return Optional.ofNullable(this.hcl1); + } + /** * `(block: optional)` - Options for the HCL2 jobspec parser. * @@ -164,6 +183,25 @@ public Optional> purgeOnDestroy() { return Optional.ofNullable(this.purgeOnDestroy); } + /** + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + @Import(name="readAllocationIds") + private @Nullable Output readAllocationIds; + + /** + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Optional> readAllocationIds() { + return Optional.ofNullable(this.readAllocationIds); + } + /** * `(string: <optional>)` - Vault token used when registering this job. * Will fallback to the value declared in Nomad provider configuration, if any. @@ -188,11 +226,13 @@ private JobArgs(JobArgs $) { this.deregisterOnDestroy = $.deregisterOnDestroy; this.deregisterOnIdChange = $.deregisterOnIdChange; this.detach = $.detach; + this.hcl1 = $.hcl1; this.hcl2 = $.hcl2; this.jobspec = $.jobspec; this.json = $.json; this.policyOverride = $.policyOverride; this.purgeOnDestroy = $.purgeOnDestroy; + this.readAllocationIds = $.readAllocationIds; this.vaultToken = $.vaultToken; } @@ -304,6 +344,31 @@ public Builder detach(Boolean detach) { return detach(Output.of(detach)); } + /** + * @param hcl1 `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + * @return builder + * + */ + public Builder hcl1(@Nullable Output hcl1) { + $.hcl1 = hcl1; + return this; + } + + /** + * @param hcl1 `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + * @return builder + * + */ + public Builder hcl1(Boolean hcl1) { + return hcl1(Output.of(hcl1)); + } + /** * @param hcl2 `(block: optional)` - Options for the HCL2 jobspec parser. * @@ -415,6 +480,31 @@ public Builder purgeOnDestroy(Boolean purgeOnDestroy) { return purgeOnDestroy(Output.of(purgeOnDestroy)); } + /** + * @return builder + * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Builder readAllocationIds(@Nullable Output readAllocationIds) { + $.readAllocationIds = readAllocationIds; + return this; + } + + /** + * @return builder + * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Builder readAllocationIds(Boolean readAllocationIds) { + return readAllocationIds(Output.of(readAllocationIds)); + } + /** * @param vaultToken `(string: <optional>)` - Vault token used when registering this job. * Will fallback to the value declared in Nomad provider configuration, if any. diff --git a/sdk/java/src/main/java/com/pulumi/nomad/Namespace.java b/sdk/java/src/main/java/com/pulumi/nomad/Namespace.java index 11451945..90fdf30f 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/Namespace.java @@ -11,6 +11,7 @@ import com.pulumi.nomad.Utilities; import com.pulumi.nomad.inputs.NamespaceState; import com.pulumi.nomad.outputs.NamespaceCapabilities; +import com.pulumi.nomad.outputs.NamespaceNodePoolConfig; import java.lang.String; import java.util.Map; import java.util.Optional; @@ -168,6 +169,20 @@ public Output>> meta() { public Output name() { return this.name; } + /** + * `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + @Export(name="nodePoolConfig", type=NamespaceNodePoolConfig.class, parameters={}) + private Output nodePoolConfig; + + /** + * @return `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + public Output nodePoolConfig() { + return this.nodePoolConfig; + } /** * `(string: "")` - A resource quota to attach to the namespace. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/NamespaceArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/NamespaceArgs.java index 67d95821..444e519d 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/NamespaceArgs.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/NamespaceArgs.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.nomad.inputs.NamespaceCapabilitiesArgs; +import com.pulumi.nomad.inputs.NamespaceNodePoolConfigArgs; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -79,6 +80,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + @Import(name="nodePoolConfig") + private @Nullable Output nodePoolConfig; + + /** + * @return `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + public Optional> nodePoolConfig() { + return Optional.ofNullable(this.nodePoolConfig); + } + /** * `(string: "")` - A resource quota to attach to the namespace. * @@ -101,6 +117,7 @@ private NamespaceArgs(NamespaceArgs $) { this.description = $.description; this.meta = $.meta; this.name = $.name; + this.nodePoolConfig = $.nodePoolConfig; this.quota = $.quota; } @@ -208,6 +225,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param nodePoolConfig `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + * @return builder + * + */ + public Builder nodePoolConfig(@Nullable Output nodePoolConfig) { + $.nodePoolConfig = nodePoolConfig; + return this; + } + + /** + * @param nodePoolConfig `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + * @return builder + * + */ + public Builder nodePoolConfig(NamespaceNodePoolConfigArgs nodePoolConfig) { + return nodePoolConfig(Output.of(nodePoolConfig)); + } + /** * @param quota `(string: "")` - A resource quota to attach to the namespace. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/NodePool.java b/sdk/java/src/main/java/com/pulumi/nomad/NodePool.java new file mode 100644 index 00000000..07c49942 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/NodePool.java @@ -0,0 +1,168 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.nomad.NodePoolArgs; +import com.pulumi.nomad.Utilities; +import com.pulumi.nomad.inputs.NodePoolState; +import com.pulumi.nomad.outputs.NodePoolSchedulerConfig; +import java.lang.String; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * Provisions a node pool within a Nomad cluster. + * + * ## Example Usage + * + * Registering a node pool: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NodePool; + * import com.pulumi.nomad.NodePoolArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var dev = new NodePool("dev", NodePoolArgs.builder() + * .description("Nodes for the development environment.") + * .meta(Map.ofEntries( + * Map.entry("department", "Engineering"), + * Map.entry("env", "dev") + * )) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="nomad:index/nodePool:NodePool") +public class NodePool extends com.pulumi.resources.CustomResource { + /** + * `(string)` - The description of the node pool. + * + */ + @Export(name="description", type=String.class, parameters={}) + private Output description; + + /** + * @return `(string)` - The description of the node pool. + * + */ + public Output> description() { + return Codegen.optional(this.description); + } + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + @Export(name="meta", type=Map.class, parameters={String.class, String.class}) + private Output> meta; + + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + public Output>> meta() { + return Codegen.optional(this.meta); + } + /** + * `(string)` - The name of the node pool. + * + */ + @Export(name="name", type=String.class, parameters={}) + private Output name; + + /** + * @return `(string)` - The name of the node pool. + * + */ + public Output name() { + return this.name; + } + /** + * `(block)` - Scheduler configuration for the node pool. + * + */ + @Export(name="schedulerConfig", type=NodePoolSchedulerConfig.class, parameters={}) + private Output schedulerConfig; + + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + public Output> schedulerConfig() { + return Codegen.optional(this.schedulerConfig); + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public NodePool(String name) { + this(name, NodePoolArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public NodePool(String name, @Nullable NodePoolArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public NodePool(String name, @Nullable NodePoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/nodePool:NodePool", name, args == null ? NodePoolArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private NodePool(String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/nodePool:NodePool", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static NodePool get(String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new NodePool(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/NodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/NodePoolArgs.java new file mode 100644 index 00000000..a9d45ef9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/NodePoolArgs.java @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.NodePoolSchedulerConfigArgs; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolArgs Empty = new NodePoolArgs(); + + /** + * `(string)` - The description of the node pool. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return `(string)` - The description of the node pool. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + @Import(name="meta") + private @Nullable Output> meta; + + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + public Optional>> meta() { + return Optional.ofNullable(this.meta); + } + + /** + * `(string)` - The name of the node pool. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string)` - The name of the node pool. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(block)` - Scheduler configuration for the node pool. + * + */ + @Import(name="schedulerConfig") + private @Nullable Output schedulerConfig; + + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + public Optional> schedulerConfig() { + return Optional.ofNullable(this.schedulerConfig); + } + + private NodePoolArgs() {} + + private NodePoolArgs(NodePoolArgs $) { + this.description = $.description; + this.meta = $.meta; + this.name = $.name; + this.schedulerConfig = $.schedulerConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolArgs $; + + public Builder() { + $ = new NodePoolArgs(); + } + + public Builder(NodePoolArgs defaults) { + $ = new NodePoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param description `(string)` - The description of the node pool. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description `(string)` - The description of the node pool. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param meta `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + * @return builder + * + */ + public Builder meta(@Nullable Output> meta) { + $.meta = meta; + return this; + } + + /** + * @param meta `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + * @return builder + * + */ + public Builder meta(Map meta) { + return meta(Output.of(meta)); + } + + /** + * @param name `(string)` - The name of the node pool. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string)` - The name of the node pool. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param schedulerConfig `(block)` - Scheduler configuration for the node pool. + * + * @return builder + * + */ + public Builder schedulerConfig(@Nullable Output schedulerConfig) { + $.schedulerConfig = schedulerConfig; + return this; + } + + /** + * @param schedulerConfig `(block)` - Scheduler configuration for the node pool. + * + * @return builder + * + */ + public Builder schedulerConfig(NodePoolSchedulerConfigArgs schedulerConfig) { + return schedulerConfig(Output.of(schedulerConfig)); + } + + public NodePoolArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/NomadFunctions.java b/sdk/java/src/main/java/com/pulumi/nomad/NomadFunctions.java index 3fff4ac7..e1d49b99 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/NomadFunctions.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/NomadFunctions.java @@ -20,6 +20,8 @@ import com.pulumi.nomad.inputs.GetAclTokenPlainArgs; import com.pulumi.nomad.inputs.GetAclTokensArgs; import com.pulumi.nomad.inputs.GetAclTokensPlainArgs; +import com.pulumi.nomad.inputs.GetAllocationsArgs; +import com.pulumi.nomad.inputs.GetAllocationsPlainArgs; import com.pulumi.nomad.inputs.GetDatacentersArgs; import com.pulumi.nomad.inputs.GetDatacentersPlainArgs; import com.pulumi.nomad.inputs.GetJobArgs; @@ -28,6 +30,10 @@ import com.pulumi.nomad.inputs.GetJobPlainArgs; import com.pulumi.nomad.inputs.GetNamespaceArgs; import com.pulumi.nomad.inputs.GetNamespacePlainArgs; +import com.pulumi.nomad.inputs.GetNodePoolArgs; +import com.pulumi.nomad.inputs.GetNodePoolPlainArgs; +import com.pulumi.nomad.inputs.GetNodePoolsArgs; +import com.pulumi.nomad.inputs.GetNodePoolsPlainArgs; import com.pulumi.nomad.inputs.GetPluginArgs; import com.pulumi.nomad.inputs.GetPluginPlainArgs; import com.pulumi.nomad.inputs.GetPluginsArgs; @@ -36,6 +42,8 @@ import com.pulumi.nomad.inputs.GetScalingPoliciesPlainArgs; import com.pulumi.nomad.inputs.GetScalingPolicyArgs; import com.pulumi.nomad.inputs.GetScalingPolicyPlainArgs; +import com.pulumi.nomad.inputs.GetVariableArgs; +import com.pulumi.nomad.inputs.GetVariablePlainArgs; import com.pulumi.nomad.inputs.GetVolumesArgs; import com.pulumi.nomad.inputs.GetVolumesPlainArgs; import com.pulumi.nomad.outputs.GetAclPoliciesResult; @@ -44,18 +52,22 @@ import com.pulumi.nomad.outputs.GetAclRolesResult; import com.pulumi.nomad.outputs.GetAclTokenResult; import com.pulumi.nomad.outputs.GetAclTokensResult; +import com.pulumi.nomad.outputs.GetAllocationsResult; import com.pulumi.nomad.outputs.GetDatacentersResult; import com.pulumi.nomad.outputs.GetDeploymentsResult; import com.pulumi.nomad.outputs.GetJobParserResult; import com.pulumi.nomad.outputs.GetJobResult; import com.pulumi.nomad.outputs.GetNamespaceResult; import com.pulumi.nomad.outputs.GetNamespacesResult; +import com.pulumi.nomad.outputs.GetNodePoolResult; +import com.pulumi.nomad.outputs.GetNodePoolsResult; import com.pulumi.nomad.outputs.GetPluginResult; import com.pulumi.nomad.outputs.GetPluginsResult; import com.pulumi.nomad.outputs.GetRegionsResult; import com.pulumi.nomad.outputs.GetScalingPoliciesResult; import com.pulumi.nomad.outputs.GetScalingPolicyResult; import com.pulumi.nomad.outputs.GetSchedulerPolicyResult; +import com.pulumi.nomad.outputs.GetVariableResult; import com.pulumi.nomad.outputs.GetVolumesResult; import com.pulumi.resources.InvokeArgs; import java.util.concurrent.CompletableFuture; @@ -1163,6 +1175,228 @@ public static Output getAclTokens(GetAclTokensArgs args, Inv public static CompletableFuture getAclTokensPlain(GetAclTokensPlainArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("nomad:index/getAclTokens:getAclTokens", TypeShape.of(GetAclTokensResult.class), args, Utilities.withVersion(options)); } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getAllocations() { + return getAllocations(GetAllocationsArgs.Empty, InvokeOptions.Empty); + } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getAllocationsPlain() { + return getAllocationsPlain(GetAllocationsPlainArgs.Empty, InvokeOptions.Empty); + } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getAllocations(GetAllocationsArgs args) { + return getAllocations(args, InvokeOptions.Empty); + } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getAllocationsPlain(GetAllocationsPlainArgs args) { + return getAllocationsPlain(args, InvokeOptions.Empty); + } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getAllocations(GetAllocationsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getAllocations:getAllocations", TypeShape.of(GetAllocationsResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetAllocationsArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getAllocations(GetAllocationsArgs.builder() + * .filter("JobID == \"example\"") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getAllocationsPlain(GetAllocationsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getAllocations:getAllocations", TypeShape.of(GetAllocationsResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve a list of datacenters. * @@ -1634,18 +1868,684 @@ public static CompletableFuture getDeploymentsPlain(Invoke * ``` * */ - public static Output getJob(GetJobArgs args) { - return getJob(args, InvokeOptions.Empty); + public static Output getJob(GetJobArgs args) { + return getJob(args, InvokeOptions.Empty); + } + /** + * Get information on a job ID. The aim of this datasource is to enable + * you to act on various settings and states of a particular job. + * + * An error is triggered if zero or more than one result is returned by the query. + * + * ## Example Usage + * + * Get the data about a snapshot: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getJob(GetJobArgs.builder() + * .jobId("example") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getJobPlain(GetJobPlainArgs args) { + return getJobPlain(args, InvokeOptions.Empty); + } + /** + * Get information on a job ID. The aim of this datasource is to enable + * you to act on various settings and states of a particular job. + * + * An error is triggered if zero or more than one result is returned by the query. + * + * ## Example Usage + * + * Get the data about a snapshot: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getJob(GetJobArgs.builder() + * .jobId("example") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getJob(GetJobArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getJob:getJob", TypeShape.of(GetJobResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information on a job ID. The aim of this datasource is to enable + * you to act on various settings and states of a particular job. + * + * An error is triggered if zero or more than one result is returned by the query. + * + * ## Example Usage + * + * Get the data about a snapshot: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var example = NomadFunctions.getJob(GetJobArgs.builder() + * .jobId("example") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getJobPlain(GetJobPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getJob:getJob", TypeShape.of(GetJobResult.class), args, Utilities.withVersion(options)); + } + /** + * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() + * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) + * .canonicalize(false) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getJobParser(GetJobParserArgs args) { + return getJobParser(args, InvokeOptions.Empty); + } + /** + * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() + * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) + * .canonicalize(false) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getJobParserPlain(GetJobParserPlainArgs args) { + return getJobParserPlain(args, InvokeOptions.Empty); + } + /** + * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() + * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) + * .canonicalize(false) + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getJobParser(GetJobParserArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getJobParser:getJobParser", TypeShape.of(GetJobParserResult.class), args, Utilities.withVersion(options)); + } + /** + * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() + * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) + * .canonicalize(false) + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getJobParserPlain(GetJobParserPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getJobParser:getJobParser", TypeShape.of(GetJobParserResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information about a namespace in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() + * .name("default") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getNamespace(GetNamespaceArgs args) { + return getNamespace(args, InvokeOptions.Empty); + } + /** + * Get information about a namespace in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() + * .name("default") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getNamespacePlain(GetNamespacePlainArgs args) { + return getNamespacePlain(args, InvokeOptions.Empty); + } + /** + * Get information about a namespace in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() + * .name("default") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getNamespace(GetNamespaceArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); + } + /** + * Get information about a namespace in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() + * .name("default") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getNamespacePlain(GetNamespacePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); + } + /** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); + * + * + * } + * } + * } + * ``` + * + */ + public static Output getNamespaces() { + return getNamespaces(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); + * + * + * } + * } + * } + * ``` + * + */ + public static CompletableFuture getNamespacesPlain() { + return getNamespacesPlain(InvokeArgs.Empty, InvokeOptions.Empty); + } + /** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); + * + * + * } + * } + * } + * ``` + * + */ + public static Output getNamespaces(InvokeArgs args) { + return getNamespaces(args, InvokeOptions.Empty); + } + /** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); + * + * + * } + * } + * } + * ``` + * + */ + public static CompletableFuture getNamespacesPlain(InvokeArgs args) { + return getNamespacesPlain(args, InvokeOptions.Empty); + } + /** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.NomadFunctions; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); + * + * + * } + * } + * } + * ``` + * + */ + public static Output getNamespaces(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getNamespaces:getNamespaces", TypeShape.of(GetNamespacesResult.class), args, Utilities.withVersion(options)); } /** - * Get information on a job ID. The aim of this datasource is to enable - * you to act on various settings and states of a particular job. - * - * An error is triggered if zero or more than one result is returned by the query. + * Retrieve a list of namespaces available in Nomad. * * ## Example Usage - * - * Get the data about a snapshot: * ```java * package generated_program; * @@ -1653,7 +2553,9 @@ public static Output getJob(GetJobArgs args) { * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobArgs; + * import com.pulumi.nomad.AclPolicy; + * import com.pulumi.nomad.AclPolicyArgs; + * import com.pulumi.codegen.internal.KeyedValue; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1667,27 +2569,32 @@ public static Output getJob(GetJobArgs args) { * } * * public static void stack(Context ctx) { - * final var example = NomadFunctions.getJob(GetJobArgs.builder() - * .jobId("example") - * .build()); + * final var namespaces = NomadFunctions.getNamespaces(); + * + * for (var i = 0; i < namespaces.applyValue(getNamespacesResult -> getNamespacesResult.namespaces()).length(); i++) { + * new AclPolicy("namespace-" + i, AclPolicyArgs.builder() + * .description(String.format("Write to the namespace %s", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .rulesHcl(""" + * namespace "%s" { + * policy = "write" + * } + * ", namespaces.applyValue(getNamespacesResult -> getNamespacesResult)[range.value()])) + * .build()); * + * + * } * } * } * ``` * */ - public static CompletableFuture getJobPlain(GetJobPlainArgs args) { - return getJobPlain(args, InvokeOptions.Empty); + public static CompletableFuture getNamespacesPlain(InvokeArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getNamespaces:getNamespaces", TypeShape.of(GetNamespacesResult.class), args, Utilities.withVersion(options)); } /** - * Get information on a job ID. The aim of this datasource is to enable - * you to act on various settings and states of a particular job. - * - * An error is triggered if zero or more than one result is returned by the query. + * Get information about a node pool in Nomad. * * ## Example Usage - * - * Get the data about a snapshot: * ```java * package generated_program; * @@ -1695,7 +2602,7 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args) * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobArgs; + * import com.pulumi.nomad.inputs.GetNodePoolArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1709,8 +2616,8 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args) * } * * public static void stack(Context ctx) { - * final var example = NomadFunctions.getJob(GetJobArgs.builder() - * .jobId("example") + * final var dev = NomadFunctions.getNodePool(GetNodePoolArgs.builder() + * .name("dev") * .build()); * * } @@ -1718,18 +2625,13 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args) * ``` * */ - public static Output getJob(GetJobArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("nomad:index/getJob:getJob", TypeShape.of(GetJobResult.class), args, Utilities.withVersion(options)); + public static Output getNodePool(GetNodePoolArgs args) { + return getNodePool(args, InvokeOptions.Empty); } /** - * Get information on a job ID. The aim of this datasource is to enable - * you to act on various settings and states of a particular job. - * - * An error is triggered if zero or more than one result is returned by the query. + * Get information about a node pool in Nomad. * * ## Example Usage - * - * Get the data about a snapshot: * ```java * package generated_program; * @@ -1737,7 +2639,7 @@ public static Output getJob(GetJobArgs args, InvokeOptions options * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobArgs; + * import com.pulumi.nomad.inputs.GetNodePoolArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1751,8 +2653,8 @@ public static Output getJob(GetJobArgs args, InvokeOptions options * } * * public static void stack(Context ctx) { - * final var example = NomadFunctions.getJob(GetJobArgs.builder() - * .jobId("example") + * final var dev = NomadFunctions.getNodePool(GetNodePoolArgs.builder() + * .name("dev") * .build()); * * } @@ -1760,11 +2662,11 @@ public static Output getJob(GetJobArgs args, InvokeOptions options * ``` * */ - public static CompletableFuture getJobPlain(GetJobPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("nomad:index/getJob:getJob", TypeShape.of(GetJobResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getNodePoolPlain(GetNodePoolPlainArgs args) { + return getNodePoolPlain(args, InvokeOptions.Empty); } /** - * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * Get information about a node pool in Nomad. * * ## Example Usage * ```java @@ -1774,7 +2676,7 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args, * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import com.pulumi.nomad.inputs.GetNodePoolArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1788,9 +2690,8 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args, * } * * public static void stack(Context ctx) { - * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() - * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) - * .canonicalize(false) + * final var dev = NomadFunctions.getNodePool(GetNodePoolArgs.builder() + * .name("dev") * .build()); * * } @@ -1798,11 +2699,11 @@ public static CompletableFuture getJobPlain(GetJobPlainArgs args, * ``` * */ - public static Output getJobParser(GetJobParserArgs args) { - return getJobParser(args, InvokeOptions.Empty); + public static Output getNodePool(GetNodePoolArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getNodePool:getNodePool", TypeShape.of(GetNodePoolResult.class), args, Utilities.withVersion(options)); } /** - * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * Get information about a node pool in Nomad. * * ## Example Usage * ```java @@ -1812,7 +2713,7 @@ public static Output getJobParser(GetJobParserArgs args) { * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import com.pulumi.nomad.inputs.GetNodePoolArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1826,9 +2727,8 @@ public static Output getJobParser(GetJobParserArgs args) { * } * * public static void stack(Context ctx) { - * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() - * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) - * .canonicalize(false) + * final var dev = NomadFunctions.getNodePool(GetNodePoolArgs.builder() + * .name("dev") * .build()); * * } @@ -1836,11 +2736,11 @@ public static Output getJobParser(GetJobParserArgs args) { * ``` * */ - public static CompletableFuture getJobParserPlain(GetJobParserPlainArgs args) { - return getJobParserPlain(args, InvokeOptions.Empty); + public static CompletableFuture getNodePoolPlain(GetNodePoolPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getNodePool:getNodePool", TypeShape.of(GetNodePoolResult.class), args, Utilities.withVersion(options)); } /** - * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -1850,7 +2750,7 @@ public static CompletableFuture getJobParserPlain(GetJobPars * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1864,9 +2764,8 @@ public static CompletableFuture getJobParserPlain(GetJobPars * } * * public static void stack(Context ctx) { - * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() - * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) - * .canonicalize(false) + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -1874,11 +2773,11 @@ public static CompletableFuture getJobParserPlain(GetJobPars * ``` * */ - public static Output getJobParser(GetJobParserArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("nomad:index/getJobParser:getJobParser", TypeShape.of(GetJobParserResult.class), args, Utilities.withVersion(options)); + public static Output getNodePools() { + return getNodePools(GetNodePoolsArgs.Empty, InvokeOptions.Empty); } /** - * Parse a HCL jobspec and produce the equivalent JSON encoded job. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -1888,7 +2787,7 @@ public static Output getJobParser(GetJobParserArgs args, Inv * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetJobParserArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1902,9 +2801,8 @@ public static Output getJobParser(GetJobParserArgs args, Inv * } * * public static void stack(Context ctx) { - * final var myJob = NomadFunctions.getJobParser(GetJobParserArgs.builder() - * .hcl(Files.readString(Paths.get(String.format("%s/jobspec.hcl", path.module())))) - * .canonicalize(false) + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -1912,11 +2810,11 @@ public static Output getJobParser(GetJobParserArgs args, Inv * ``` * */ - public static CompletableFuture getJobParserPlain(GetJobParserPlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("nomad:index/getJobParser:getJobParser", TypeShape.of(GetJobParserResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getNodePoolsPlain() { + return getNodePoolsPlain(GetNodePoolsPlainArgs.Empty, InvokeOptions.Empty); } /** - * Get information about a namespace in Nomad. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -1926,7 +2824,7 @@ public static CompletableFuture getJobParserPlain(GetJobPars * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1940,8 +2838,8 @@ public static CompletableFuture getJobParserPlain(GetJobPars * } * * public static void stack(Context ctx) { - * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() - * .name("default") + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -1949,11 +2847,11 @@ public static CompletableFuture getJobParserPlain(GetJobPars * ``` * */ - public static Output getNamespace(GetNamespaceArgs args) { - return getNamespace(args, InvokeOptions.Empty); + public static Output getNodePools(GetNodePoolsArgs args) { + return getNodePools(args, InvokeOptions.Empty); } /** - * Get information about a namespace in Nomad. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -1963,7 +2861,7 @@ public static Output getNamespace(GetNamespaceArgs args) { * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -1977,8 +2875,8 @@ public static Output getNamespace(GetNamespaceArgs args) { * } * * public static void stack(Context ctx) { - * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() - * .name("default") + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -1986,11 +2884,11 @@ public static Output getNamespace(GetNamespaceArgs args) { * ``` * */ - public static CompletableFuture getNamespacePlain(GetNamespacePlainArgs args) { - return getNamespacePlain(args, InvokeOptions.Empty); + public static CompletableFuture getNodePoolsPlain(GetNodePoolsPlainArgs args) { + return getNodePoolsPlain(args, InvokeOptions.Empty); } /** - * Get information about a namespace in Nomad. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -2000,7 +2898,7 @@ public static CompletableFuture getNamespacePlain(GetNamespa * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -2014,8 +2912,8 @@ public static CompletableFuture getNamespacePlain(GetNamespa * } * * public static void stack(Context ctx) { - * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() - * .name("default") + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -2023,11 +2921,11 @@ public static CompletableFuture getNamespacePlain(GetNamespa * ``` * */ - public static Output getNamespace(GetNamespaceArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("nomad:index/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); + public static Output getNodePools(GetNodePoolsArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getNodePools:getNodePools", TypeShape.of(GetNodePoolsResult.class), args, Utilities.withVersion(options)); } /** - * Get information about a namespace in Nomad. + * Retrieve a list of node pools available in Nomad. * * ## Example Usage * ```java @@ -2037,7 +2935,7 @@ public static Output getNamespace(GetNamespaceArgs args, Inv * import com.pulumi.Pulumi; * import com.pulumi.core.Output; * import com.pulumi.nomad.NomadFunctions; - * import com.pulumi.nomad.inputs.GetNamespaceArgs; + * import com.pulumi.nomad.inputs.GetNodePoolsArgs; * import java.util.List; * import java.util.ArrayList; * import java.util.Map; @@ -2051,8 +2949,8 @@ public static Output getNamespace(GetNamespaceArgs args, Inv * } * * public static void stack(Context ctx) { - * final var namespaces = NomadFunctions.getNamespace(GetNamespaceArgs.builder() - * .name("default") + * final var prod = NomadFunctions.getNodePools(GetNodePoolsArgs.builder() + * .filter("Meta.env == \"prod\"") * .build()); * * } @@ -2060,50 +2958,8 @@ public static Output getNamespace(GetNamespaceArgs args, Inv * ``` * */ - public static CompletableFuture getNamespacePlain(GetNamespacePlainArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("nomad:index/getNamespace:getNamespace", TypeShape.of(GetNamespaceResult.class), args, Utilities.withVersion(options)); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static Output getNamespaces() { - return getNamespaces(InvokeArgs.Empty, InvokeOptions.Empty); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static CompletableFuture getNamespacesPlain() { - return getNamespacesPlain(InvokeArgs.Empty, InvokeOptions.Empty); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static Output getNamespaces(InvokeArgs args) { - return getNamespaces(args, InvokeOptions.Empty); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static CompletableFuture getNamespacesPlain(InvokeArgs args) { - return getNamespacesPlain(args, InvokeOptions.Empty); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static Output getNamespaces(InvokeArgs args, InvokeOptions options) { - return Deployment.getInstance().invoke("nomad:index/getNamespaces:getNamespaces", TypeShape.of(GetNamespacesResult.class), args, Utilities.withVersion(options)); - } - /** - * Retrieve a list of namespaces available in Nomad. - * - */ - public static CompletableFuture getNamespacesPlain(InvokeArgs args, InvokeOptions options) { - return Deployment.getInstance().invokeAsync("nomad:index/getNamespaces:getNamespaces", TypeShape.of(GetNamespacesResult.class), args, Utilities.withVersion(options)); + public static CompletableFuture getNodePoolsPlain(GetNodePoolsPlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getNodePools:getNodePools", TypeShape.of(GetNodePoolsResult.class), args, Utilities.withVersion(options)); } /** * Lookup a plugin by ID. The aim of this datasource is to determine whether @@ -3137,6 +3993,146 @@ public static Output getSchedulerPolicy(InvokeArgs arg public static CompletableFuture getSchedulerPolicyPlain(InvokeArgs args, InvokeOptions options) { return Deployment.getInstance().invokeAsync("nomad:index/getSchedulerPolicy:getSchedulerPolicy", TypeShape.of(GetSchedulerPolicyResult.class), args, Utilities.withVersion(options)); } + /** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Variable("example", VariableArgs.builder() + * .path("path/of/existing/variable") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVariable(GetVariableArgs args) { + return getVariable(args, InvokeOptions.Empty); + } + /** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Variable("example", VariableArgs.builder() + * .path("path/of/existing/variable") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVariablePlain(GetVariablePlainArgs args) { + return getVariablePlain(args, InvokeOptions.Empty); + } + /** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Variable("example", VariableArgs.builder() + * .path("path/of/existing/variable") + * .build()); + * + * } + * } + * ``` + * + */ + public static Output getVariable(GetVariableArgs args, InvokeOptions options) { + return Deployment.getInstance().invoke("nomad:index/getVariable:getVariable", TypeShape.of(GetVariableResult.class), args, Utilities.withVersion(options)); + } + /** + * ## Example Usage + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Variable("example", VariableArgs.builder() + * .path("path/of/existing/variable") + * .build()); + * + * } + * } + * ``` + * + */ + public static CompletableFuture getVariablePlain(GetVariablePlainArgs args, InvokeOptions options) { + return Deployment.getInstance().invokeAsync("nomad:index/getVariable:getVariable", TypeShape.of(GetVariableResult.class), args, Utilities.withVersion(options)); + } /** * Retrieve a list of volumes in Nomad. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/ProviderArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/ProviderArgs.java index a1303049..dec70791 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/ProviderArgs.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/ProviderArgs.java @@ -214,6 +214,21 @@ public Optional> secretId() { return Optional.ofNullable(this.secretId); } + /** + * Skip TLS verification on client side. + * + */ + @Import(name="skipVerify", json=true) + private @Nullable Output skipVerify; + + /** + * @return Skip TLS verification on client side. + * + */ + public Optional> skipVerify() { + return Optional.ofNullable(this.skipVerify); + } + /** * Vault token if policies are specified in the job file. * @@ -245,6 +260,7 @@ private ProviderArgs(ProviderArgs $) { this.keyPem = $.keyPem; this.region = $.region; this.secretId = $.secretId; + this.skipVerify = $.skipVerify; this.vaultToken = $.vaultToken; } @@ -549,6 +565,27 @@ public Builder secretId(String secretId) { return secretId(Output.of(secretId)); } + /** + * @param skipVerify Skip TLS verification on client side. + * + * @return builder + * + */ + public Builder skipVerify(@Nullable Output skipVerify) { + $.skipVerify = skipVerify; + return this; + } + + /** + * @param skipVerify Skip TLS verification on client side. + * + * @return builder + * + */ + public Builder skipVerify(Boolean skipVerify) { + return skipVerify(Output.of(skipVerify)); + } + /** * @param vaultToken Vault token if policies are specified in the job file. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/Variable.java b/sdk/java/src/main/java/com/pulumi/nomad/Variable.java new file mode 100644 index 00000000..1414c353 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/Variable.java @@ -0,0 +1,189 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Export; +import com.pulumi.core.annotations.ResourceType; +import com.pulumi.core.internal.Codegen; +import com.pulumi.nomad.Utilities; +import com.pulumi.nomad.VariableArgs; +import com.pulumi.nomad.inputs.VariableState; +import java.lang.Object; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nullable; + +/** + * ## Example Usage + * + * Creating a variable in the default namespace: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var example = new Variable("example", VariableArgs.builder() + * .items(Map.of("example_key", "example_value")) + * .path("some/path/of/your/choosing") + * .build()); + * + * } + * } + * ``` + * + * Creating a variable in a custom namespace: + * ```java + * package generated_program; + * + * import com.pulumi.Context; + * import com.pulumi.Pulumi; + * import com.pulumi.core.Output; + * import com.pulumi.nomad.Namespace; + * import com.pulumi.nomad.NamespaceArgs; + * import com.pulumi.nomad.Variable; + * import com.pulumi.nomad.VariableArgs; + * import java.util.List; + * import java.util.ArrayList; + * import java.util.Map; + * import java.io.File; + * import java.nio.file.Files; + * import java.nio.file.Paths; + * + * public class App { + * public static void main(String[] args) { + * Pulumi.run(App::stack); + * } + * + * public static void stack(Context ctx) { + * var exampleNamespace = new Namespace("exampleNamespace", NamespaceArgs.builder() + * .description("Example namespace.") + * .build()); + * + * var exampleVariable = new Variable("exampleVariable", VariableArgs.builder() + * .path("some/path/of/your/choosing") + * .namespace(exampleNamespace.name()) + * .items(Map.of("example_key", "example_value")) + * .build()); + * + * } + * } + * ``` + * + */ +@ResourceType(type="nomad:index/variable:Variable") +public class Variable extends com.pulumi.resources.CustomResource { + /** + * `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + @Export(name="items", type=Map.class, parameters={String.class, Object.class}) + private Output> items; + + /** + * @return `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + public Output> items() { + return this.items; + } + /** + * `(string: "default")` - The namepsace to create the variable in. + * + */ + @Export(name="namespace", type=String.class, parameters={}) + private Output namespace; + + /** + * @return `(string: "default")` - The namepsace to create the variable in. + * + */ + public Output> namespace() { + return Codegen.optional(this.namespace); + } + /** + * `(string: <required>)` - A unique path to create the variable at. + * + */ + @Export(name="path", type=String.class, parameters={}) + private Output path; + + /** + * @return `(string: <required>)` - A unique path to create the variable at. + * + */ + public Output path() { + return this.path; + } + + /** + * + * @param name The _unique_ name of the resulting resource. + */ + public Variable(String name) { + this(name, VariableArgs.Empty); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + */ + public Variable(String name, VariableArgs args) { + this(name, args, null); + } + /** + * + * @param name The _unique_ name of the resulting resource. + * @param args The arguments to use to populate this resource's properties. + * @param options A bag of options that control this resource's behavior. + */ + public Variable(String name, VariableArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/variable:Variable", name, args == null ? VariableArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + } + + private Variable(String name, Output id, @Nullable VariableState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("nomad:index/variable:Variable", name, state, makeResourceOptions(options, id)); + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() + .version(Utilities.getVersion()) + .additionalSecretOutputs(List.of( + "items" + )) + .build(); + return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id); + } + + /** + * Get an existing Host resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state + * @param options Optional settings to control the behavior of the CustomResource. + */ + public static Variable get(String name, Output id, @Nullable VariableState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + return new Variable(name, id, state, options); + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/VariableArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/VariableArgs.java new file mode 100644 index 00000000..387ec6ab --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/VariableArgs.java @@ -0,0 +1,161 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Object; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VariableArgs extends com.pulumi.resources.ResourceArgs { + + public static final VariableArgs Empty = new VariableArgs(); + + /** + * `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + @Import(name="items", required=true) + private Output> items; + + /** + * @return `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + public Output> items() { + return this.items; + } + + /** + * `(string: "default")` - The namepsace to create the variable in. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namepsace to create the variable in. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(string: <required>)` - A unique path to create the variable at. + * + */ + @Import(name="path", required=true) + private Output path; + + /** + * @return `(string: <required>)` - A unique path to create the variable at. + * + */ + public Output path() { + return this.path; + } + + private VariableArgs() {} + + private VariableArgs(VariableArgs $) { + this.items = $.items; + this.namespace = $.namespace; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VariableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VariableArgs $; + + public Builder() { + $ = new VariableArgs(); + } + + public Builder(VariableArgs defaults) { + $ = new VariableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param items `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + * @return builder + * + */ + public Builder items(Output> items) { + $.items = items; + return this; + } + + /** + * @param items `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + * @return builder + * + */ + public Builder items(Map items) { + return items(Output.of(items)); + } + + /** + * @param namespace `(string: "default")` - The namepsace to create the variable in. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namepsace to create the variable in. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param path `(string: <required>)` - A unique path to create the variable at. + * + * @return builder + * + */ + public Builder path(Output path) { + $.path = path; + return this; + } + + /** + * @param path `(string: <required>)` - A unique path to create the variable at. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public VariableArgs build() { + $.items = Objects.requireNonNull($.items, "expected parameter 'items' to be non-null"); + $.path = Objects.requireNonNull($.path, "expected parameter 'path' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclBindingRuleState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclBindingRuleState.java index d317a946..9a1eecc3 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclBindingRuleState.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclBindingRuleState.java @@ -33,14 +33,18 @@ public Optional> authMethod() { } /** - * `(string: "")` - Target of the binding. + * `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ @Import(name="bindName") private @Nullable Output bindName; /** - * @return `(string: "")` - Target of the binding. + * @return `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * */ public Optional> bindName() { @@ -148,7 +152,9 @@ public Builder authMethod(String authMethod) { } /** - * @param bindName `(string: "")` - Target of the binding. + * @param bindName `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * * @return builder * @@ -159,7 +165,9 @@ public Builder bindName(@Nullable Output bindName) { } /** - * @param bindName `(string: "")` - Target of the binding. + * @param bindName `(string: <optional>)` - Target of the binding. If `bind_type` is + * `role` or `policy` then `bind_name` is required. If `bind_type` is + * `management` than `bind_name` must not be defined. * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyJobAclArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyJobAclArgs.java new file mode 100644 index 00000000..52b7cc44 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyJobAclArgs.java @@ -0,0 +1,215 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class AclPolicyJobAclArgs extends com.pulumi.resources.ResourceArgs { + + public static final AclPolicyJobAclArgs Empty = new AclPolicyJobAclArgs(); + + /** + * `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + */ + @Import(name="group") + private @Nullable Output group; + + /** + * @return `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + */ + public Optional> group() { + return Optional.ofNullable(this.group); + } + + /** + * `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + */ + @Import(name="jobId", required=true) + private Output jobId; + + /** + * @return `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + */ + public Output jobId() { + return this.jobId; + } + + /** + * `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + */ + @Import(name="task") + private @Nullable Output task; + + /** + * @return `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + */ + public Optional> task() { + return Optional.ofNullable(this.task); + } + + private AclPolicyJobAclArgs() {} + + private AclPolicyJobAclArgs(AclPolicyJobAclArgs $) { + this.group = $.group; + this.jobId = $.jobId; + this.namespace = $.namespace; + this.task = $.task; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(AclPolicyJobAclArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private AclPolicyJobAclArgs $; + + public Builder() { + $ = new AclPolicyJobAclArgs(); + } + + public Builder(AclPolicyJobAclArgs defaults) { + $ = new AclPolicyJobAclArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param group `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + * @return builder + * + */ + public Builder group(@Nullable Output group) { + $.group = group; + return this; + } + + /** + * @param group `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + * @return builder + * + */ + public Builder group(String group) { + return group(Output.of(group)); + } + + /** + * @param jobId `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + * @return builder + * + */ + public Builder jobId(Output jobId) { + $.jobId = jobId; + return this; + } + + /** + * @param jobId `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + * @return builder + * + */ + public Builder jobId(String jobId) { + return jobId(Output.of(jobId)); + } + + /** + * @param namespace `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param task `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + * @return builder + * + */ + public Builder task(@Nullable Output task) { + $.task = task; + return this; + } + + /** + * @param task `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + * @return builder + * + */ + public Builder task(String task) { + return task(Output.of(task)); + } + + public AclPolicyJobAclArgs build() { + $.jobId = Objects.requireNonNull($.jobId, "expected parameter 'jobId' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyState.java index 41cacaf7..7f474f66 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyState.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/AclPolicyState.java @@ -5,6 +5,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.AclPolicyJobAclArgs; import java.lang.String; import java.util.Objects; import java.util.Optional; @@ -30,6 +31,21 @@ public Optional> description() { return Optional.ofNullable(this.description); } + /** + * `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + @Import(name="jobAcl") + private @Nullable Output jobAcl; + + /** + * @return `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + */ + public Optional> jobAcl() { + return Optional.ofNullable(this.jobAcl); + } + /** * `(string: <required>)` - A unique name for the policy. * @@ -66,6 +82,7 @@ private AclPolicyState() {} private AclPolicyState(AclPolicyState $) { this.description = $.description; + this.jobAcl = $.jobAcl; this.name = $.name; this.rulesHcl = $.rulesHcl; } @@ -109,6 +126,27 @@ public Builder description(String description) { return description(Output.of(description)); } + /** + * @param jobAcl `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + * @return builder + * + */ + public Builder jobAcl(@Nullable Output jobAcl) { + $.jobAcl = jobAcl; + return this; + } + + /** + * @param jobAcl `(``JobACL``: <optional>)` - Options for assigning the ACL rules to a job, group, or task. + * + * @return builder + * + */ + public Builder jobAcl(AclPolicyJobAclArgs jobAcl) { + return jobAcl(Output.of(jobAcl)); + } + /** * @param name `(string: <required>)` - A unique name for the policy. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeCapabilityArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeCapabilityArgs.java new file mode 100644 index 00000000..ffd9bf7c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeCapabilityArgs.java @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class CsiVolumeCapabilityArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeCapabilityArgs Empty = new CsiVolumeCapabilityArgs(); + + /** + * `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + @Import(name="accessMode", required=true) + private Output accessMode; + + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + public Output accessMode() { + return this.accessMode; + } + + /** + * `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + @Import(name="attachmentMode", required=true) + private Output attachmentMode; + + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + public Output attachmentMode() { + return this.attachmentMode; + } + + private CsiVolumeCapabilityArgs() {} + + private CsiVolumeCapabilityArgs(CsiVolumeCapabilityArgs $) { + this.accessMode = $.accessMode; + this.attachmentMode = $.attachmentMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeCapabilityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeCapabilityArgs $; + + public Builder() { + $ = new CsiVolumeCapabilityArgs(); + } + + public Builder(CsiVolumeCapabilityArgs defaults) { + $ = new CsiVolumeCapabilityArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accessMode `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + * @return builder + * + */ + public Builder accessMode(Output accessMode) { + $.accessMode = accessMode; + return this; + } + + /** + * @param accessMode `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + * @return builder + * + */ + public Builder accessMode(String accessMode) { + return accessMode(Output.of(accessMode)); + } + + /** + * @param attachmentMode `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + * @return builder + * + */ + public Builder attachmentMode(Output attachmentMode) { + $.attachmentMode = attachmentMode; + return this; + } + + /** + * @param attachmentMode `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + * @return builder + * + */ + public Builder attachmentMode(String attachmentMode) { + return attachmentMode(Output.of(attachmentMode)); + } + + public CsiVolumeCapabilityArgs build() { + $.accessMode = Objects.requireNonNull($.accessMode, "expected parameter 'accessMode' to be non-null"); + $.attachmentMode = Objects.requireNonNull($.attachmentMode, "expected parameter 'attachmentMode' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeMountOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeMountOptionsArgs.java new file mode 100644 index 00000000..f363b974 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeMountOptionsArgs.java @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeMountOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeMountOptionsArgs Empty = new CsiVolumeMountOptionsArgs(); + + /** + * `(string: optional)` - The file system type. + * + */ + @Import(name="fsType") + private @Nullable Output fsType; + + /** + * @return `(string: optional)` - The file system type. + * + */ + public Optional> fsType() { + return Optional.ofNullable(this.fsType); + } + + /** + * `[]string: optional` - The flags passed to `mount`. + * + */ + @Import(name="mountFlags") + private @Nullable Output> mountFlags; + + /** + * @return `[]string: optional` - The flags passed to `mount`. + * + */ + public Optional>> mountFlags() { + return Optional.ofNullable(this.mountFlags); + } + + private CsiVolumeMountOptionsArgs() {} + + private CsiVolumeMountOptionsArgs(CsiVolumeMountOptionsArgs $) { + this.fsType = $.fsType; + this.mountFlags = $.mountFlags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeMountOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeMountOptionsArgs $; + + public Builder() { + $ = new CsiVolumeMountOptionsArgs(); + } + + public Builder(CsiVolumeMountOptionsArgs defaults) { + $ = new CsiVolumeMountOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fsType `(string: optional)` - The file system type. + * + * @return builder + * + */ + public Builder fsType(@Nullable Output fsType) { + $.fsType = fsType; + return this; + } + + /** + * @param fsType `(string: optional)` - The file system type. + * + * @return builder + * + */ + public Builder fsType(String fsType) { + return fsType(Output.of(fsType)); + } + + /** + * @param mountFlags `[]string: optional` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(@Nullable Output> mountFlags) { + $.mountFlags = mountFlags; + return this; + } + + /** + * @param mountFlags `[]string: optional` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(List mountFlags) { + return mountFlags(Output.of(mountFlags)); + } + + /** + * @param mountFlags `[]string: optional` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(String... mountFlags) { + return mountFlags(List.of(mountFlags)); + } + + public CsiVolumeMountOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationCapabilityArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationCapabilityArgs.java new file mode 100644 index 00000000..9f1ce5ad --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationCapabilityArgs.java @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class CsiVolumeRegistrationCapabilityArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationCapabilityArgs Empty = new CsiVolumeRegistrationCapabilityArgs(); + + /** + * `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + @Import(name="accessMode", required=true) + private Output accessMode; + + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + public Output accessMode() { + return this.accessMode; + } + + /** + * `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + @Import(name="attachmentMode", required=true) + private Output attachmentMode; + + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + public Output attachmentMode() { + return this.attachmentMode; + } + + private CsiVolumeRegistrationCapabilityArgs() {} + + private CsiVolumeRegistrationCapabilityArgs(CsiVolumeRegistrationCapabilityArgs $) { + this.accessMode = $.accessMode; + this.attachmentMode = $.attachmentMode; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationCapabilityArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationCapabilityArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationCapabilityArgs(); + } + + public Builder(CsiVolumeRegistrationCapabilityArgs defaults) { + $ = new CsiVolumeRegistrationCapabilityArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param accessMode `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + * @return builder + * + */ + public Builder accessMode(Output accessMode) { + $.accessMode = accessMode; + return this; + } + + /** + * @param accessMode `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + * @return builder + * + */ + public Builder accessMode(String accessMode) { + return accessMode(Output.of(accessMode)); + } + + /** + * @param attachmentMode `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + * @return builder + * + */ + public Builder attachmentMode(Output attachmentMode) { + $.attachmentMode = attachmentMode; + return this; + } + + /** + * @param attachmentMode `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + * @return builder + * + */ + public Builder attachmentMode(String attachmentMode) { + return attachmentMode(Output.of(attachmentMode)); + } + + public CsiVolumeRegistrationCapabilityArgs build() { + $.accessMode = Objects.requireNonNull($.accessMode, "expected parameter 'accessMode' to be non-null"); + $.attachmentMode = Objects.requireNonNull($.attachmentMode, "expected parameter 'attachmentMode' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationMountOptionsArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationMountOptionsArgs.java new file mode 100644 index 00000000..73347581 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationMountOptionsArgs.java @@ -0,0 +1,131 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeRegistrationMountOptionsArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationMountOptionsArgs Empty = new CsiVolumeRegistrationMountOptionsArgs(); + + /** + * `(string: <optional>)` - The file system type. + * + */ + @Import(name="fsType") + private @Nullable Output fsType; + + /** + * @return `(string: <optional>)` - The file system type. + * + */ + public Optional> fsType() { + return Optional.ofNullable(this.fsType); + } + + /** + * `([]string: <optional>)` - The flags passed to `mount`. + * + */ + @Import(name="mountFlags") + private @Nullable Output> mountFlags; + + /** + * @return `([]string: <optional>)` - The flags passed to `mount`. + * + */ + public Optional>> mountFlags() { + return Optional.ofNullable(this.mountFlags); + } + + private CsiVolumeRegistrationMountOptionsArgs() {} + + private CsiVolumeRegistrationMountOptionsArgs(CsiVolumeRegistrationMountOptionsArgs $) { + this.fsType = $.fsType; + this.mountFlags = $.mountFlags; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationMountOptionsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationMountOptionsArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationMountOptionsArgs(); + } + + public Builder(CsiVolumeRegistrationMountOptionsArgs defaults) { + $ = new CsiVolumeRegistrationMountOptionsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param fsType `(string: <optional>)` - The file system type. + * + * @return builder + * + */ + public Builder fsType(@Nullable Output fsType) { + $.fsType = fsType; + return this; + } + + /** + * @param fsType `(string: <optional>)` - The file system type. + * + * @return builder + * + */ + public Builder fsType(String fsType) { + return fsType(Output.of(fsType)); + } + + /** + * @param mountFlags `([]string: <optional>)` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(@Nullable Output> mountFlags) { + $.mountFlags = mountFlags; + return this; + } + + /** + * @param mountFlags `([]string: <optional>)` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(List mountFlags) { + return mountFlags(Output.of(mountFlags)); + } + + /** + * @param mountFlags `([]string: <optional>)` - The flags passed to `mount`. + * + * @return builder + * + */ + public Builder mountFlags(String... mountFlags) { + return mountFlags(List.of(mountFlags)); + } + + public CsiVolumeRegistrationMountOptionsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationState.java new file mode 100644 index 00000000..fcdbce37 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationState.java @@ -0,0 +1,851 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationCapabilityArgs; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationMountOptionsArgs; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationTopologyArgs; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationTopologyRequestArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeRegistrationState extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationState Empty = new CsiVolumeRegistrationState(); + + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Import(name="capabilities") + private @Nullable Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Optional>> capabilities() { + return Optional.ofNullable(this.capabilities); + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + @Import(name="context") + private @Nullable Output> context; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + */ + public Optional>> context() { + return Optional.ofNullable(this.context); + } + + /** + * `(boolean)` + * + */ + @Import(name="controllerRequired") + private @Nullable Output controllerRequired; + + /** + * @return `(boolean)` + * + */ + public Optional> controllerRequired() { + return Optional.ofNullable(this.controllerRequired); + } + + /** + * `(integer)` + * + */ + @Import(name="controllersExpected") + private @Nullable Output controllersExpected; + + /** + * @return `(integer)` + * + */ + public Optional> controllersExpected() { + return Optional.ofNullable(this.controllersExpected); + } + + /** + * `(integer)` + * + */ + @Import(name="controllersHealthy") + private @Nullable Output controllersHealthy; + + /** + * @return `(integer)` + * + */ + public Optional> controllersHealthy() { + return Optional.ofNullable(this.controllersHealthy); + } + + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + @Import(name="deregisterOnDestroy") + private @Nullable Output deregisterOnDestroy; + + /** + * @return `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + */ + public Optional> deregisterOnDestroy() { + return Optional.ofNullable(this.deregisterOnDestroy); + } + + /** + * `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + @Import(name="externalId") + private @Nullable Output externalId; + + /** + * @return `(string: <required>)` - The ID of the physical volume from the storage provider. + * + */ + public Optional> externalId() { + return Optional.ofNullable(this.externalId); + } + + /** + * `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Import(name="mountOptions") + private @Nullable Output mountOptions; + + /** + * @return `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Optional> mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(integer)` + * + */ + @Import(name="nodesExpected") + private @Nullable Output nodesExpected; + + /** + * @return `(integer)` + * + */ + public Optional> nodesExpected() { + return Optional.ofNullable(this.nodesExpected); + } + + /** + * `(integer)` + * + */ + @Import(name="nodesHealthy") + private @Nullable Output nodesHealthy; + + /** + * @return `(integer)` + * + */ + public Optional> nodesHealthy() { + return Optional.ofNullable(this.nodesHealthy); + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Import(name="pluginId") + private @Nullable Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Optional> pluginId() { + return Optional.ofNullable(this.pluginId); + } + + /** + * `(string)` + * + */ + @Import(name="pluginProvider") + private @Nullable Output pluginProvider; + + /** + * @return `(string)` + * + */ + public Optional> pluginProvider() { + return Optional.ofNullable(this.pluginProvider); + } + + /** + * `(string)` + * + */ + @Import(name="pluginProviderVersion") + private @Nullable Output pluginProviderVersion; + + /** + * @return `(string)` + * + */ + public Optional> pluginProviderVersion() { + return Optional.ofNullable(this.pluginProviderVersion); + } + + /** + * `(boolean)` + * + */ + @Import(name="schedulable") + private @Nullable Output schedulable; + + /** + * @return `(boolean)` + * + */ + public Optional> schedulable() { + return Optional.ofNullable(this.schedulable); + } + + /** + * `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * `(List of topologies)` + * + */ + @Import(name="topologies") + private @Nullable Output> topologies; + + /** + * @return `(List of topologies)` + * + */ + public Optional>> topologies() { + return Optional.ofNullable(this.topologies); + } + + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Import(name="topologyRequest") + private @Nullable Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Optional> topologyRequest() { + return Optional.ofNullable(this.topologyRequest); + } + + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Import(name="volumeId") + private @Nullable Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Optional> volumeId() { + return Optional.ofNullable(this.volumeId); + } + + private CsiVolumeRegistrationState() {} + + private CsiVolumeRegistrationState(CsiVolumeRegistrationState $) { + this.capabilities = $.capabilities; + this.context = $.context; + this.controllerRequired = $.controllerRequired; + this.controllersExpected = $.controllersExpected; + this.controllersHealthy = $.controllersHealthy; + this.deregisterOnDestroy = $.deregisterOnDestroy; + this.externalId = $.externalId; + this.mountOptions = $.mountOptions; + this.name = $.name; + this.namespace = $.namespace; + this.nodesExpected = $.nodesExpected; + this.nodesHealthy = $.nodesHealthy; + this.parameters = $.parameters; + this.pluginId = $.pluginId; + this.pluginProvider = $.pluginProvider; + this.pluginProviderVersion = $.pluginProviderVersion; + this.schedulable = $.schedulable; + this.secrets = $.secrets; + this.topologies = $.topologies; + this.topologyRequest = $.topologyRequest; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationState $; + + public Builder() { + $ = new CsiVolumeRegistrationState(); + } + + public Builder(CsiVolumeRegistrationState defaults) { + $ = new CsiVolumeRegistrationState(Objects.requireNonNull(defaults)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(@Nullable Output> capabilities) { + $.capabilities = capabilities; + return this; + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(List capabilities) { + return capabilities(Output.of(capabilities)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(CsiVolumeRegistrationCapabilityArgs... capabilities) { + return capabilities(List.of(capabilities)); + } + + /** + * @param context `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + * @return builder + * + */ + public Builder context(@Nullable Output> context) { + $.context = context; + return this; + } + + /** + * @param context `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + * + * @return builder + * + */ + public Builder context(Map context) { + return context(Output.of(context)); + } + + /** + * @param controllerRequired `(boolean)` + * + * @return builder + * + */ + public Builder controllerRequired(@Nullable Output controllerRequired) { + $.controllerRequired = controllerRequired; + return this; + } + + /** + * @param controllerRequired `(boolean)` + * + * @return builder + * + */ + public Builder controllerRequired(Boolean controllerRequired) { + return controllerRequired(Output.of(controllerRequired)); + } + + /** + * @param controllersExpected `(integer)` + * + * @return builder + * + */ + public Builder controllersExpected(@Nullable Output controllersExpected) { + $.controllersExpected = controllersExpected; + return this; + } + + /** + * @param controllersExpected `(integer)` + * + * @return builder + * + */ + public Builder controllersExpected(Integer controllersExpected) { + return controllersExpected(Output.of(controllersExpected)); + } + + /** + * @param controllersHealthy `(integer)` + * + * @return builder + * + */ + public Builder controllersHealthy(@Nullable Output controllersHealthy) { + $.controllersHealthy = controllersHealthy; + return this; + } + + /** + * @param controllersHealthy `(integer)` + * + * @return builder + * + */ + public Builder controllersHealthy(Integer controllersHealthy) { + return controllersHealthy(Output.of(controllersHealthy)); + } + + /** + * @param deregisterOnDestroy `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + * @return builder + * + */ + public Builder deregisterOnDestroy(@Nullable Output deregisterOnDestroy) { + $.deregisterOnDestroy = deregisterOnDestroy; + return this; + } + + /** + * @param deregisterOnDestroy `(boolean: false)` - If true, the volume will be deregistered on destroy. + * + * @return builder + * + */ + public Builder deregisterOnDestroy(Boolean deregisterOnDestroy) { + return deregisterOnDestroy(Output.of(deregisterOnDestroy)); + } + + /** + * @param externalId `(string: <required>)` - The ID of the physical volume from the storage provider. + * + * @return builder + * + */ + public Builder externalId(@Nullable Output externalId) { + $.externalId = externalId; + return this; + } + + /** + * @param externalId `(string: <required>)` - The ID of the physical volume from the storage provider. + * + * @return builder + * + */ + public Builder externalId(String externalId) { + return externalId(Output.of(externalId)); + } + + /** + * @param mountOptions `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(@Nullable Output mountOptions) { + $.mountOptions = mountOptions; + return this; + } + + /** + * @param mountOptions `(block: <optional>)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(CsiVolumeRegistrationMountOptionsArgs mountOptions) { + return mountOptions(Output.of(mountOptions)); + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param nodesExpected `(integer)` + * + * @return builder + * + */ + public Builder nodesExpected(@Nullable Output nodesExpected) { + $.nodesExpected = nodesExpected; + return this; + } + + /** + * @param nodesExpected `(integer)` + * + * @return builder + * + */ + public Builder nodesExpected(Integer nodesExpected) { + return nodesExpected(Output.of(nodesExpected)); + } + + /** + * @param nodesHealthy `(integer)` + * + * @return builder + * + */ + public Builder nodesHealthy(@Nullable Output nodesHealthy) { + $.nodesHealthy = nodesHealthy; + return this; + } + + /** + * @param nodesHealthy `(integer)` + * + * @return builder + * + */ + public Builder nodesHealthy(Integer nodesHealthy) { + return nodesHealthy(Output.of(nodesHealthy)); + } + + /** + * @param parameters `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters `(map[string]string: <optional>)` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(@Nullable Output pluginId) { + $.pluginId = pluginId; + return this; + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(String pluginId) { + return pluginId(Output.of(pluginId)); + } + + /** + * @param pluginProvider `(string)` + * + * @return builder + * + */ + public Builder pluginProvider(@Nullable Output pluginProvider) { + $.pluginProvider = pluginProvider; + return this; + } + + /** + * @param pluginProvider `(string)` + * + * @return builder + * + */ + public Builder pluginProvider(String pluginProvider) { + return pluginProvider(Output.of(pluginProvider)); + } + + /** + * @param pluginProviderVersion `(string)` + * + * @return builder + * + */ + public Builder pluginProviderVersion(@Nullable Output pluginProviderVersion) { + $.pluginProviderVersion = pluginProviderVersion; + return this; + } + + /** + * @param pluginProviderVersion `(string)` + * + * @return builder + * + */ + public Builder pluginProviderVersion(String pluginProviderVersion) { + return pluginProviderVersion(Output.of(pluginProviderVersion)); + } + + /** + * @param schedulable `(boolean)` + * + * @return builder + * + */ + public Builder schedulable(@Nullable Output schedulable) { + $.schedulable = schedulable; + return this; + } + + /** + * @param schedulable `(boolean)` + * + * @return builder + * + */ + public Builder schedulable(Boolean schedulable) { + return schedulable(Output.of(schedulable)); + } + + /** + * @param secrets `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets `(map[string]string: <optional>)` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(Map secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(@Nullable Output> topologies) { + $.topologies = topologies; + return this; + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(List topologies) { + return topologies(Output.of(topologies)); + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(CsiVolumeRegistrationTopologyArgs... topologies) { + return topologies(List.of(topologies)); + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(@Nullable Output topologyRequest) { + $.topologyRequest = topologyRequest; + return this; + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(CsiVolumeRegistrationTopologyRequestArgs topologyRequest) { + return topologyRequest(Output.of(topologyRequest)); + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(@Nullable Output volumeId) { + $.volumeId = volumeId; + return this; + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + return volumeId(Output.of(volumeId)); + } + + public CsiVolumeRegistrationState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyArgs.java new file mode 100644 index 00000000..6ebe5a51 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyArgs.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeRegistrationTopologyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationTopologyArgs Empty = new CsiVolumeRegistrationTopologyArgs(); + + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + @Import(name="segments") + private @Nullable Output> segments; + + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Optional>> segments() { + return Optional.ofNullable(this.segments); + } + + private CsiVolumeRegistrationTopologyArgs() {} + + private CsiVolumeRegistrationTopologyArgs(CsiVolumeRegistrationTopologyArgs $) { + this.segments = $.segments; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationTopologyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationTopologyArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationTopologyArgs(); + } + + public Builder(CsiVolumeRegistrationTopologyArgs defaults) { + $ = new CsiVolumeRegistrationTopologyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(@Nullable Output> segments) { + $.segments = segments; + return this; + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Map segments) { + return segments(Output.of(segments)); + } + + public CsiVolumeRegistrationTopologyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestArgs.java new file mode 100644 index 00000000..84268d7e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestArgs.java @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationTopologyRequestRequiredArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeRegistrationTopologyRequestArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationTopologyRequestArgs Empty = new CsiVolumeRegistrationTopologyRequestArgs(); + + /** + * `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + @Import(name="required") + private @Nullable Output required; + + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + public Optional> required() { + return Optional.ofNullable(this.required); + } + + private CsiVolumeRegistrationTopologyRequestArgs() {} + + private CsiVolumeRegistrationTopologyRequestArgs(CsiVolumeRegistrationTopologyRequestArgs $) { + this.required = $.required; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationTopologyRequestArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationTopologyRequestArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationTopologyRequestArgs(); + } + + public Builder(CsiVolumeRegistrationTopologyRequestArgs defaults) { + $ = new CsiVolumeRegistrationTopologyRequestArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param required `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + * @return builder + * + */ + public Builder required(@Nullable Output required) { + $.required = required; + return this; + } + + /** + * @param required `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + * @return builder + * + */ + public Builder required(CsiVolumeRegistrationTopologyRequestRequiredArgs required) { + return required(Output.of(required)); + } + + public CsiVolumeRegistrationTopologyRequestArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.java new file mode 100644 index 00000000..cc804d0f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredArgs.java @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs; +import java.util.List; +import java.util.Objects; + + +public final class CsiVolumeRegistrationTopologyRequestRequiredArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationTopologyRequestRequiredArgs Empty = new CsiVolumeRegistrationTopologyRequestRequiredArgs(); + + @Import(name="topologies", required=true) + private Output> topologies; + + public Output> topologies() { + return this.topologies; + } + + private CsiVolumeRegistrationTopologyRequestRequiredArgs() {} + + private CsiVolumeRegistrationTopologyRequestRequiredArgs(CsiVolumeRegistrationTopologyRequestRequiredArgs $) { + this.topologies = $.topologies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationTopologyRequestRequiredArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationTopologyRequestRequiredArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationTopologyRequestRequiredArgs(); + } + + public Builder(CsiVolumeRegistrationTopologyRequestRequiredArgs defaults) { + $ = new CsiVolumeRegistrationTopologyRequestRequiredArgs(Objects.requireNonNull(defaults)); + } + + public Builder topologies(Output> topologies) { + $.topologies = topologies; + return this; + } + + public Builder topologies(List topologies) { + return topologies(Output.of(topologies)); + } + + public Builder topologies(CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs... topologies) { + return topologies(List.of(topologies)); + } + + public CsiVolumeRegistrationTopologyRequestRequiredArgs build() { + $.topologies = Objects.requireNonNull($.topologies, "expected parameter 'topologies' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.java new file mode 100644 index 00000000..860e49a0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + + +public final class CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs Empty = new CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs(); + + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + @Import(name="segments", required=true) + private Output> segments; + + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Output> segments() { + return this.segments; + } + + private CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs() {} + + private CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs(CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs $) { + this.segments = $.segments; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs $; + + public Builder() { + $ = new CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs(); + } + + public Builder(CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs defaults) { + $ = new CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Output> segments) { + $.segments = segments; + return this; + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Map segments) { + return segments(Output.of(segments)); + } + + public CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs build() { + $.segments = Objects.requireNonNull($.segments, "expected parameter 'segments' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeState.java new file mode 100644 index 00000000..bba910ed --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeState.java @@ -0,0 +1,888 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeCapabilityArgs; +import com.pulumi.nomad.inputs.CsiVolumeMountOptionsArgs; +import com.pulumi.nomad.inputs.CsiVolumeTopologyArgs; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestArgs; +import java.lang.Boolean; +import java.lang.Integer; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeState extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeState Empty = new CsiVolumeState(); + + /** + * `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + @Import(name="capabilities") + private @Nullable Output> capabilities; + + /** + * @return `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + */ + public Optional>> capabilities() { + return Optional.ofNullable(this.capabilities); + } + + /** + * `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + @Import(name="capacityMax") + private @Nullable Output capacityMax; + + /** + * @return `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + */ + public Optional> capacityMax() { + return Optional.ofNullable(this.capacityMax); + } + + /** + * `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + @Import(name="capacityMin") + private @Nullable Output capacityMin; + + /** + * @return `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + */ + public Optional> capacityMin() { + return Optional.ofNullable(this.capacityMin); + } + + /** + * `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + @Import(name="cloneId") + private @Nullable Output cloneId; + + /** + * @return `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + */ + public Optional> cloneId() { + return Optional.ofNullable(this.cloneId); + } + + /** + * `(boolean)` + * + */ + @Import(name="controllerRequired") + private @Nullable Output controllerRequired; + + /** + * @return `(boolean)` + * + */ + public Optional> controllerRequired() { + return Optional.ofNullable(this.controllerRequired); + } + + /** + * `(integer)` + * + */ + @Import(name="controllersExpected") + private @Nullable Output controllersExpected; + + /** + * @return `(integer)` + * + */ + public Optional> controllersExpected() { + return Optional.ofNullable(this.controllersExpected); + } + + /** + * `(integer)` + * + */ + @Import(name="controllersHealthy") + private @Nullable Output controllersHealthy; + + /** + * @return `(integer)` + * + */ + public Optional> controllersHealthy() { + return Optional.ofNullable(this.controllersHealthy); + } + + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + @Import(name="mountOptions") + private @Nullable Output mountOptions; + + /** + * @return `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + */ + public Optional> mountOptions() { + return Optional.ofNullable(this.mountOptions); + } + + /** + * `(string: <required>)` - The display name for the volume. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string: <required>)` - The display name for the volume. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(string: "default")` - The namespace in which to register the volume. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namespace in which to register the volume. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(integer)` + * + */ + @Import(name="nodesExpected") + private @Nullable Output nodesExpected; + + /** + * @return `(integer)` + * + */ + public Optional> nodesExpected() { + return Optional.ofNullable(this.nodesExpected); + } + + /** + * `(integer)` + * + */ + @Import(name="nodesHealthy") + private @Nullable Output nodesHealthy; + + /** + * @return `(integer)` + * + */ + public Optional> nodesHealthy() { + return Optional.ofNullable(this.nodesHealthy); + } + + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + @Import(name="parameters") + private @Nullable Output> parameters; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + */ + public Optional>> parameters() { + return Optional.ofNullable(this.parameters); + } + + /** + * `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + @Import(name="pluginId") + private @Nullable Output pluginId; + + /** + * @return `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + */ + public Optional> pluginId() { + return Optional.ofNullable(this.pluginId); + } + + /** + * `(string)` + * + */ + @Import(name="pluginProvider") + private @Nullable Output pluginProvider; + + /** + * @return `(string)` + * + */ + public Optional> pluginProvider() { + return Optional.ofNullable(this.pluginProvider); + } + + /** + * `(string)` + * + */ + @Import(name="pluginProviderVersion") + private @Nullable Output pluginProviderVersion; + + /** + * @return `(string)` + * + */ + public Optional> pluginProviderVersion() { + return Optional.ofNullable(this.pluginProviderVersion); + } + + /** + * `(boolean)` + * + */ + @Import(name="schedulable") + private @Nullable Output schedulable; + + /** + * @return `(boolean)` + * + */ + public Optional> schedulable() { + return Optional.ofNullable(this.schedulable); + } + + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + @Import(name="secrets") + private @Nullable Output> secrets; + + /** + * @return `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + */ + public Optional>> secrets() { + return Optional.ofNullable(this.secrets); + } + + /** + * `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + @Import(name="snapshotId") + private @Nullable Output snapshotId; + + /** + * @return `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + */ + public Optional> snapshotId() { + return Optional.ofNullable(this.snapshotId); + } + + /** + * `(List of topologies)` + * + */ + @Import(name="topologies") + private @Nullable Output> topologies; + + /** + * @return `(List of topologies)` + * + */ + public Optional>> topologies() { + return Optional.ofNullable(this.topologies); + } + + /** + * `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + @Import(name="topologyRequest") + private @Nullable Output topologyRequest; + + /** + * @return `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + */ + public Optional> topologyRequest() { + return Optional.ofNullable(this.topologyRequest); + } + + /** + * `(string: <required>)` - The unique ID of the volume. + * + */ + @Import(name="volumeId") + private @Nullable Output volumeId; + + /** + * @return `(string: <required>)` - The unique ID of the volume. + * + */ + public Optional> volumeId() { + return Optional.ofNullable(this.volumeId); + } + + private CsiVolumeState() {} + + private CsiVolumeState(CsiVolumeState $) { + this.capabilities = $.capabilities; + this.capacityMax = $.capacityMax; + this.capacityMin = $.capacityMin; + this.cloneId = $.cloneId; + this.controllerRequired = $.controllerRequired; + this.controllersExpected = $.controllersExpected; + this.controllersHealthy = $.controllersHealthy; + this.mountOptions = $.mountOptions; + this.name = $.name; + this.namespace = $.namespace; + this.nodesExpected = $.nodesExpected; + this.nodesHealthy = $.nodesHealthy; + this.parameters = $.parameters; + this.pluginId = $.pluginId; + this.pluginProvider = $.pluginProvider; + this.pluginProviderVersion = $.pluginProviderVersion; + this.schedulable = $.schedulable; + this.secrets = $.secrets; + this.snapshotId = $.snapshotId; + this.topologies = $.topologies; + this.topologyRequest = $.topologyRequest; + this.volumeId = $.volumeId; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeState $; + + public Builder() { + $ = new CsiVolumeState(); + } + + public Builder(CsiVolumeState defaults) { + $ = new CsiVolumeState(Objects.requireNonNull(defaults)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(@Nullable Output> capabilities) { + $.capabilities = capabilities; + return this; + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(List capabilities) { + return capabilities(Output.of(capabilities)); + } + + /** + * @param capabilities `(``Capability``: <required>)` - Options for validating the capability of a volume. + * + * @return builder + * + */ + public Builder capabilities(CsiVolumeCapabilityArgs... capabilities) { + return capabilities(List.of(capabilities)); + } + + /** + * @param capacityMax `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMax(@Nullable Output capacityMax) { + $.capacityMax = capacityMax; + return this; + } + + /** + * @param capacityMax `(string: <optional>)` - Option to signal a maximum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMax(String capacityMax) { + return capacityMax(Output.of(capacityMax)); + } + + /** + * @param capacityMin `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMin(@Nullable Output capacityMin) { + $.capacityMin = capacityMin; + return this; + } + + /** + * @param capacityMin `(string: <optional>)` - Option to signal a minimum volume size. This may not be supported by all storage providers. + * + * @return builder + * + */ + public Builder capacityMin(String capacityMin) { + return capacityMin(Output.of(capacityMin)); + } + + /** + * @param cloneId `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + * @return builder + * + */ + public Builder cloneId(@Nullable Output cloneId) { + $.cloneId = cloneId; + return this; + } + + /** + * @param cloneId `(string: <optional>)` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + * + * @return builder + * + */ + public Builder cloneId(String cloneId) { + return cloneId(Output.of(cloneId)); + } + + /** + * @param controllerRequired `(boolean)` + * + * @return builder + * + */ + public Builder controllerRequired(@Nullable Output controllerRequired) { + $.controllerRequired = controllerRequired; + return this; + } + + /** + * @param controllerRequired `(boolean)` + * + * @return builder + * + */ + public Builder controllerRequired(Boolean controllerRequired) { + return controllerRequired(Output.of(controllerRequired)); + } + + /** + * @param controllersExpected `(integer)` + * + * @return builder + * + */ + public Builder controllersExpected(@Nullable Output controllersExpected) { + $.controllersExpected = controllersExpected; + return this; + } + + /** + * @param controllersExpected `(integer)` + * + * @return builder + * + */ + public Builder controllersExpected(Integer controllersExpected) { + return controllersExpected(Output.of(controllersExpected)); + } + + /** + * @param controllersHealthy `(integer)` + * + * @return builder + * + */ + public Builder controllersHealthy(@Nullable Output controllersHealthy) { + $.controllersHealthy = controllersHealthy; + return this; + } + + /** + * @param controllersHealthy `(integer)` + * + * @return builder + * + */ + public Builder controllersHealthy(Integer controllersHealthy) { + return controllersHealthy(Output.of(controllersHealthy)); + } + + /** + * @param mountOptions `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(@Nullable Output mountOptions) { + $.mountOptions = mountOptions; + return this; + } + + /** + * @param mountOptions `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + * + * @return builder + * + */ + public Builder mountOptions(CsiVolumeMountOptionsArgs mountOptions) { + return mountOptions(Output.of(mountOptions)); + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string: <required>)` - The display name for the volume. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namespace in which to register the volume. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param nodesExpected `(integer)` + * + * @return builder + * + */ + public Builder nodesExpected(@Nullable Output nodesExpected) { + $.nodesExpected = nodesExpected; + return this; + } + + /** + * @param nodesExpected `(integer)` + * + * @return builder + * + */ + public Builder nodesExpected(Integer nodesExpected) { + return nodesExpected(Output.of(nodesExpected)); + } + + /** + * @param nodesHealthy `(integer)` + * + * @return builder + * + */ + public Builder nodesHealthy(@Nullable Output nodesHealthy) { + $.nodesHealthy = nodesHealthy; + return this; + } + + /** + * @param nodesHealthy `(integer)` + * + * @return builder + * + */ + public Builder nodesHealthy(Integer nodesHealthy) { + return nodesHealthy(Output.of(nodesHealthy)); + } + + /** + * @param parameters `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(@Nullable Output> parameters) { + $.parameters = parameters; + return this; + } + + /** + * @param parameters `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + * + * @return builder + * + */ + public Builder parameters(Map parameters) { + return parameters(Output.of(parameters)); + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(@Nullable Output pluginId) { + $.pluginId = pluginId; + return this; + } + + /** + * @param pluginId `(string: <required>)` - The ID of the Nomad plugin for registering this volume. + * + * @return builder + * + */ + public Builder pluginId(String pluginId) { + return pluginId(Output.of(pluginId)); + } + + /** + * @param pluginProvider `(string)` + * + * @return builder + * + */ + public Builder pluginProvider(@Nullable Output pluginProvider) { + $.pluginProvider = pluginProvider; + return this; + } + + /** + * @param pluginProvider `(string)` + * + * @return builder + * + */ + public Builder pluginProvider(String pluginProvider) { + return pluginProvider(Output.of(pluginProvider)); + } + + /** + * @param pluginProviderVersion `(string)` + * + * @return builder + * + */ + public Builder pluginProviderVersion(@Nullable Output pluginProviderVersion) { + $.pluginProviderVersion = pluginProviderVersion; + return this; + } + + /** + * @param pluginProviderVersion `(string)` + * + * @return builder + * + */ + public Builder pluginProviderVersion(String pluginProviderVersion) { + return pluginProviderVersion(Output.of(pluginProviderVersion)); + } + + /** + * @param schedulable `(boolean)` + * + * @return builder + * + */ + public Builder schedulable(@Nullable Output schedulable) { + $.schedulable = schedulable; + return this; + } + + /** + * @param schedulable `(boolean)` + * + * @return builder + * + */ + public Builder schedulable(Boolean schedulable) { + return schedulable(Output.of(schedulable)); + } + + /** + * @param secrets `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(@Nullable Output> secrets) { + $.secrets = secrets; + return this; + } + + /** + * @param secrets `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + * + * @return builder + * + */ + public Builder secrets(Map secrets) { + return secrets(Output.of(secrets)); + } + + /** + * @param snapshotId `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + * @return builder + * + */ + public Builder snapshotId(@Nullable Output snapshotId) { + $.snapshotId = snapshotId; + return this; + } + + /** + * @param snapshotId `(string: <optional>)` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + * + * @return builder + * + */ + public Builder snapshotId(String snapshotId) { + return snapshotId(Output.of(snapshotId)); + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(@Nullable Output> topologies) { + $.topologies = topologies; + return this; + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(List topologies) { + return topologies(Output.of(topologies)); + } + + /** + * @param topologies `(List of topologies)` + * + * @return builder + * + */ + public Builder topologies(CsiVolumeTopologyArgs... topologies) { + return topologies(List.of(topologies)); + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(@Nullable Output topologyRequest) { + $.topologyRequest = topologyRequest; + return this; + } + + /** + * @param topologyRequest `(``TopologyRequest``: <optional>)` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + * + * @return builder + * + */ + public Builder topologyRequest(CsiVolumeTopologyRequestArgs topologyRequest) { + return topologyRequest(Output.of(topologyRequest)); + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(@Nullable Output volumeId) { + $.volumeId = volumeId; + return this; + } + + /** + * @param volumeId `(string: <required>)` - The unique ID of the volume. + * + * @return builder + * + */ + public Builder volumeId(String volumeId) { + return volumeId(Output.of(volumeId)); + } + + public CsiVolumeState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyArgs.java new file mode 100644 index 00000000..fd8a1019 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyArgs.java @@ -0,0 +1,96 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeTopologyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyArgs Empty = new CsiVolumeTopologyArgs(); + + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + @Import(name="segments") + private @Nullable Output> segments; + + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Optional>> segments() { + return Optional.ofNullable(this.segments); + } + + private CsiVolumeTopologyArgs() {} + + private CsiVolumeTopologyArgs(CsiVolumeTopologyArgs $) { + this.segments = $.segments; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyArgs $; + + public Builder() { + $ = new CsiVolumeTopologyArgs(); + } + + public Builder(CsiVolumeTopologyArgs defaults) { + $ = new CsiVolumeTopologyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(@Nullable Output> segments) { + $.segments = segments; + return this; + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Map segments) { + return segments(Output.of(segments)); + } + + public CsiVolumeTopologyArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestArgs.java new file mode 100644 index 00000000..3df4e37c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestPreferredArgs; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestRequiredArgs; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class CsiVolumeTopologyRequestArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyRequestArgs Empty = new CsiVolumeTopologyRequestArgs(); + + /** + * `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + */ + @Import(name="preferred") + private @Nullable Output preferred; + + /** + * @return `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + */ + public Optional> preferred() { + return Optional.ofNullable(this.preferred); + } + + /** + * `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + @Import(name="required") + private @Nullable Output required; + + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + public Optional> required() { + return Optional.ofNullable(this.required); + } + + private CsiVolumeTopologyRequestArgs() {} + + private CsiVolumeTopologyRequestArgs(CsiVolumeTopologyRequestArgs $) { + this.preferred = $.preferred; + this.required = $.required; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyRequestArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyRequestArgs $; + + public Builder() { + $ = new CsiVolumeTopologyRequestArgs(); + } + + public Builder(CsiVolumeTopologyRequestArgs defaults) { + $ = new CsiVolumeTopologyRequestArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param preferred `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + * @return builder + * + */ + public Builder preferred(@Nullable Output preferred) { + $.preferred = preferred; + return this; + } + + /** + * @param preferred `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + * @return builder + * + */ + public Builder preferred(CsiVolumeTopologyRequestPreferredArgs preferred) { + return preferred(Output.of(preferred)); + } + + /** + * @param required `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + * @return builder + * + */ + public Builder required(@Nullable Output required) { + $.required = required; + return this; + } + + /** + * @param required `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + * @return builder + * + */ + public Builder required(CsiVolumeTopologyRequestRequiredArgs required) { + return required(Output.of(required)); + } + + public CsiVolumeTopologyRequestArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredArgs.java new file mode 100644 index 00000000..27308007 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredArgs.java @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestPreferredTopologyArgs; +import java.util.List; +import java.util.Objects; + + +public final class CsiVolumeTopologyRequestPreferredArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyRequestPreferredArgs Empty = new CsiVolumeTopologyRequestPreferredArgs(); + + @Import(name="topologies", required=true) + private Output> topologies; + + public Output> topologies() { + return this.topologies; + } + + private CsiVolumeTopologyRequestPreferredArgs() {} + + private CsiVolumeTopologyRequestPreferredArgs(CsiVolumeTopologyRequestPreferredArgs $) { + this.topologies = $.topologies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyRequestPreferredArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyRequestPreferredArgs $; + + public Builder() { + $ = new CsiVolumeTopologyRequestPreferredArgs(); + } + + public Builder(CsiVolumeTopologyRequestPreferredArgs defaults) { + $ = new CsiVolumeTopologyRequestPreferredArgs(Objects.requireNonNull(defaults)); + } + + public Builder topologies(Output> topologies) { + $.topologies = topologies; + return this; + } + + public Builder topologies(List topologies) { + return topologies(Output.of(topologies)); + } + + public Builder topologies(CsiVolumeTopologyRequestPreferredTopologyArgs... topologies) { + return topologies(List.of(topologies)); + } + + public CsiVolumeTopologyRequestPreferredArgs build() { + $.topologies = Objects.requireNonNull($.topologies, "expected parameter 'topologies' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.java new file mode 100644 index 00000000..8674d3aa --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestPreferredTopologyArgs.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + + +public final class CsiVolumeTopologyRequestPreferredTopologyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyRequestPreferredTopologyArgs Empty = new CsiVolumeTopologyRequestPreferredTopologyArgs(); + + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + @Import(name="segments", required=true) + private Output> segments; + + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Output> segments() { + return this.segments; + } + + private CsiVolumeTopologyRequestPreferredTopologyArgs() {} + + private CsiVolumeTopologyRequestPreferredTopologyArgs(CsiVolumeTopologyRequestPreferredTopologyArgs $) { + this.segments = $.segments; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyRequestPreferredTopologyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyRequestPreferredTopologyArgs $; + + public Builder() { + $ = new CsiVolumeTopologyRequestPreferredTopologyArgs(); + } + + public Builder(CsiVolumeTopologyRequestPreferredTopologyArgs defaults) { + $ = new CsiVolumeTopologyRequestPreferredTopologyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Output> segments) { + $.segments = segments; + return this; + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Map segments) { + return segments(Output.of(segments)); + } + + public CsiVolumeTopologyRequestPreferredTopologyArgs build() { + $.segments = Objects.requireNonNull($.segments, "expected parameter 'segments' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredArgs.java new file mode 100644 index 00000000..00b2e171 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredArgs.java @@ -0,0 +1,67 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.CsiVolumeTopologyRequestRequiredTopologyArgs; +import java.util.List; +import java.util.Objects; + + +public final class CsiVolumeTopologyRequestRequiredArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyRequestRequiredArgs Empty = new CsiVolumeTopologyRequestRequiredArgs(); + + @Import(name="topologies", required=true) + private Output> topologies; + + public Output> topologies() { + return this.topologies; + } + + private CsiVolumeTopologyRequestRequiredArgs() {} + + private CsiVolumeTopologyRequestRequiredArgs(CsiVolumeTopologyRequestRequiredArgs $) { + this.topologies = $.topologies; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyRequestRequiredArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyRequestRequiredArgs $; + + public Builder() { + $ = new CsiVolumeTopologyRequestRequiredArgs(); + } + + public Builder(CsiVolumeTopologyRequestRequiredArgs defaults) { + $ = new CsiVolumeTopologyRequestRequiredArgs(Objects.requireNonNull(defaults)); + } + + public Builder topologies(Output> topologies) { + $.topologies = topologies; + return this; + } + + public Builder topologies(List topologies) { + return topologies(Output.of(topologies)); + } + + public Builder topologies(CsiVolumeTopologyRequestRequiredTopologyArgs... topologies) { + return topologies(List.of(topologies)); + } + + public CsiVolumeTopologyRequestRequiredArgs build() { + $.topologies = Objects.requireNonNull($.topologies, "expected parameter 'topologies' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.java new file mode 100644 index 00000000..68d869ff --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/CsiVolumeTopologyRequestRequiredTopologyArgs.java @@ -0,0 +1,95 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + + +public final class CsiVolumeTopologyRequestRequiredTopologyArgs extends com.pulumi.resources.ResourceArgs { + + public static final CsiVolumeTopologyRequestRequiredTopologyArgs Empty = new CsiVolumeTopologyRequestRequiredTopologyArgs(); + + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + @Import(name="segments", required=true) + private Output> segments; + + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Output> segments() { + return this.segments; + } + + private CsiVolumeTopologyRequestRequiredTopologyArgs() {} + + private CsiVolumeTopologyRequestRequiredTopologyArgs(CsiVolumeTopologyRequestRequiredTopologyArgs $) { + this.segments = $.segments; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(CsiVolumeTopologyRequestRequiredTopologyArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private CsiVolumeTopologyRequestRequiredTopologyArgs $; + + public Builder() { + $ = new CsiVolumeTopologyRequestRequiredTopologyArgs(); + } + + public Builder(CsiVolumeTopologyRequestRequiredTopologyArgs defaults) { + $ = new CsiVolumeTopologyRequestRequiredTopologyArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Output> segments) { + $.segments = segments; + return this; + } + + /** + * @param segments `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + * @return builder + * + */ + public Builder segments(Map segments) { + return segments(Output.of(segments)); + } + + public CsiVolumeTopologyRequestRequiredTopologyArgs build() { + $.segments = Objects.requireNonNull($.segments, "expected parameter 'segments' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsArgs.java new file mode 100644 index 00000000..e4513380 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsArgs.java @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetAllocationsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetAllocationsArgs Empty = new GetAllocationsArgs(); + + /** + * `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + /** + * `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + private GetAllocationsArgs() {} + + private GetAllocationsArgs(GetAllocationsArgs $) { + this.filter = $.filter; + this.prefix = $.prefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetAllocationsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetAllocationsArgs $; + + public Builder() { + $ = new GetAllocationsArgs(); + } + + public Builder(GetAllocationsArgs defaults) { + $ = new GetAllocationsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + * @return builder + * + */ + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + * @return builder + * + */ + public Builder filter(String filter) { + return filter(Output.of(filter)); + } + + /** + * @param prefix `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + public GetAllocationsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsPlainArgs.java new file mode 100644 index 00000000..b1a28a86 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetAllocationsPlainArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetAllocationsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetAllocationsPlainArgs Empty = new GetAllocationsPlainArgs(); + + /** + * `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + */ + @Import(name="filter") + private @Nullable String filter; + + /** + * @return `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + + /** + * `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + */ + @Import(name="prefix") + private @Nullable String prefix; + + /** + * @return `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + + private GetAllocationsPlainArgs() {} + + private GetAllocationsPlainArgs(GetAllocationsPlainArgs $) { + this.filter = $.filter; + this.prefix = $.prefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetAllocationsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetAllocationsPlainArgs $; + + public Builder() { + $ = new GetAllocationsPlainArgs(); + } + + public Builder(GetAllocationsPlainArgs defaults) { + $ = new GetAllocationsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter `(string: <optional>)` - Specifies the + * [expression][nomad_api_filter] used to filter the results. + * + * @return builder + * + */ + public Builder filter(@Nullable String filter) { + $.filter = filter; + return this; + } + + /** + * @param prefix `(string: <optional>)` - Specifies a string to filter allocations + * based on an ID prefix. + * + * @return builder + * + */ + public Builder prefix(@Nullable String prefix) { + $.prefix = prefix; + return this; + } + + public GetAllocationsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolArgs.java new file mode 100644 index 00000000..52ad40b8 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolArgs.java @@ -0,0 +1,82 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetNodePoolArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNodePoolArgs Empty = new GetNodePoolArgs(); + + /** + * `(string)` - The name of the node pool to fetch. + * + */ + @Import(name="name", required=true) + private Output name; + + /** + * @return `(string)` - The name of the node pool to fetch. + * + */ + public Output name() { + return this.name; + } + + private GetNodePoolArgs() {} + + private GetNodePoolArgs(GetNodePoolArgs $) { + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNodePoolArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNodePoolArgs $; + + public Builder() { + $ = new GetNodePoolArgs(); + } + + public Builder(GetNodePoolArgs defaults) { + $ = new GetNodePoolArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name `(string)` - The name of the node pool to fetch. + * + * @return builder + * + */ + public Builder name(Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string)` - The name of the node pool to fetch. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + public GetNodePoolArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolPlainArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolPlainArgs.java new file mode 100644 index 00000000..f947bd0a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolPlainArgs.java @@ -0,0 +1,71 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; + + +public final class GetNodePoolPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNodePoolPlainArgs Empty = new GetNodePoolPlainArgs(); + + /** + * `(string)` - The name of the node pool to fetch. + * + */ + @Import(name="name", required=true) + private String name; + + /** + * @return `(string)` - The name of the node pool to fetch. + * + */ + public String name() { + return this.name; + } + + private GetNodePoolPlainArgs() {} + + private GetNodePoolPlainArgs(GetNodePoolPlainArgs $) { + this.name = $.name; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNodePoolPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNodePoolPlainArgs $; + + public Builder() { + $ = new GetNodePoolPlainArgs(); + } + + public Builder(GetNodePoolPlainArgs defaults) { + $ = new GetNodePoolPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param name `(string)` - The name of the node pool to fetch. + * + * @return builder + * + */ + public Builder name(String name) { + $.name = name; + return this; + } + + public GetNodePoolPlainArgs build() { + $.name = Objects.requireNonNull($.name, "expected parameter 'name' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsArgs.java new file mode 100644 index 00000000..2bb8525e --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsArgs.java @@ -0,0 +1,128 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetNodePoolsArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNodePoolsArgs Empty = new GetNodePoolsArgs(); + + /** + * `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + */ + @Import(name="filter") + private @Nullable Output filter; + + /** + * @return `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + */ + public Optional> filter() { + return Optional.ofNullable(this.filter); + } + + /** + * `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + */ + @Import(name="prefix") + private @Nullable Output prefix; + + /** + * @return `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + */ + public Optional> prefix() { + return Optional.ofNullable(this.prefix); + } + + private GetNodePoolsArgs() {} + + private GetNodePoolsArgs(GetNodePoolsArgs $) { + this.filter = $.filter; + this.prefix = $.prefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNodePoolsArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNodePoolsArgs $; + + public Builder() { + $ = new GetNodePoolsArgs(); + } + + public Builder(GetNodePoolsArgs defaults) { + $ = new GetNodePoolsArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + * @return builder + * + */ + public Builder filter(@Nullable Output filter) { + $.filter = filter; + return this; + } + + /** + * @param filter `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + * @return builder + * + */ + public Builder filter(String filter) { + return filter(Output.of(filter)); + } + + /** + * @param prefix `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + * @return builder + * + */ + public Builder prefix(@Nullable Output prefix) { + $.prefix = prefix; + return this; + } + + /** + * @param prefix `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + * @return builder + * + */ + public Builder prefix(String prefix) { + return prefix(Output.of(prefix)); + } + + public GetNodePoolsArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsPlainArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsPlainArgs.java new file mode 100644 index 00000000..19f0fc5b --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetNodePoolsPlainArgs.java @@ -0,0 +1,105 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetNodePoolsPlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetNodePoolsPlainArgs Empty = new GetNodePoolsPlainArgs(); + + /** + * `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + */ + @Import(name="filter") + private @Nullable String filter; + + /** + * @return `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + */ + public Optional filter() { + return Optional.ofNullable(this.filter); + } + + /** + * `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + */ + @Import(name="prefix") + private @Nullable String prefix; + + /** + * @return `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + */ + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + + private GetNodePoolsPlainArgs() {} + + private GetNodePoolsPlainArgs(GetNodePoolsPlainArgs $) { + this.filter = $.filter; + this.prefix = $.prefix; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetNodePoolsPlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetNodePoolsPlainArgs $; + + public Builder() { + $ = new GetNodePoolsPlainArgs(); + } + + public Builder(GetNodePoolsPlainArgs defaults) { + $ = new GetNodePoolsPlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param filter `(string)` - Specifies the [expression][nomad_api_filter] used to + * filter the results. + * + * @return builder + * + */ + public Builder filter(@Nullable String filter) { + $.filter = filter; + return this; + } + + /** + * @param prefix `(string)` - Specifies a string to filter node pools based on a name + * prefix. + * + * @return builder + * + */ + public Builder prefix(@Nullable String prefix) { + $.prefix = prefix; + return this; + } + + public GetNodePoolsPlainArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariableArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariableArgs.java new file mode 100644 index 00000000..925e90bc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariableArgs.java @@ -0,0 +1,121 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVariableArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVariableArgs Empty = new GetVariableArgs(); + + /** + * `(string: "default")` - The namepsace in which the variable exists. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namepsace in which the variable exists. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(string)` - Path to the existing variable. + * + */ + @Import(name="path", required=true) + private Output path; + + /** + * @return `(string)` - Path to the existing variable. + * + */ + public Output path() { + return this.path; + } + + private GetVariableArgs() {} + + private GetVariableArgs(GetVariableArgs $) { + this.namespace = $.namespace; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVariableArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVariableArgs $; + + public Builder() { + $ = new GetVariableArgs(); + } + + public Builder(GetVariableArgs defaults) { + $ = new GetVariableArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param namespace `(string: "default")` - The namepsace in which the variable exists. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namepsace in which the variable exists. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param path `(string)` - Path to the existing variable. + * + * @return builder + * + */ + public Builder path(Output path) { + $.path = path; + return this; + } + + /** + * @param path `(string)` - Path to the existing variable. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public GetVariableArgs build() { + $.path = Objects.requireNonNull($.path, "expected parameter 'path' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariablePlainArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariablePlainArgs.java new file mode 100644 index 00000000..164a8bda --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/GetVariablePlainArgs.java @@ -0,0 +1,100 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class GetVariablePlainArgs extends com.pulumi.resources.InvokeArgs { + + public static final GetVariablePlainArgs Empty = new GetVariablePlainArgs(); + + /** + * `(string: "default")` - The namepsace in which the variable exists. + * + */ + @Import(name="namespace") + private @Nullable String namespace; + + /** + * @return `(string: "default")` - The namepsace in which the variable exists. + * + */ + public Optional namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(string)` - Path to the existing variable. + * + */ + @Import(name="path", required=true) + private String path; + + /** + * @return `(string)` - Path to the existing variable. + * + */ + public String path() { + return this.path; + } + + private GetVariablePlainArgs() {} + + private GetVariablePlainArgs(GetVariablePlainArgs $) { + this.namespace = $.namespace; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(GetVariablePlainArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private GetVariablePlainArgs $; + + public Builder() { + $ = new GetVariablePlainArgs(); + } + + public Builder(GetVariablePlainArgs defaults) { + $ = new GetVariablePlainArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param namespace `(string: "default")` - The namepsace in which the variable exists. + * + * @return builder + * + */ + public Builder namespace(@Nullable String namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param path `(string)` - Path to the existing variable. + * + * @return builder + * + */ + public Builder path(String path) { + $.path = path; + return this; + } + + public GetVariablePlainArgs build() { + $.path = Objects.requireNonNull($.path, "expected parameter 'path' to be non-null"); + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobHcl2Args.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobHcl2Args.java index 25a513b6..60021540 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobHcl2Args.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobHcl2Args.java @@ -36,18 +36,26 @@ public Optional> allowFs() { } /** - * `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ @Import(name="enabled") private @Nullable Output enabled; /** - * @return `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * @return `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ public Optional> enabled() { return Optional.ofNullable(this.enabled); } @@ -109,24 +117,32 @@ public Builder allowFs(Boolean allowFs) { } /** - * @param enabled `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * @param enabled `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. * * @return builder * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. + * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ public Builder enabled(@Nullable Output enabled) { $.enabled = enabled; return this; } /** - * @param enabled `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * @param enabled `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. * * @return builder * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. + * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ public Builder enabled(Boolean enabled) { return enabled(Output.of(enabled)); } diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobState.java index 4a7264f4..bbd552ad 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobState.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/JobState.java @@ -22,14 +22,22 @@ public final class JobState extends com.pulumi.resources.ResourceArgs { /** * The IDs for allocations associated with this job. * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ @Import(name="allocationIds") private @Nullable Output> allocationIds; /** * @return The IDs for allocations associated with this job. * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ public Optional>> allocationIds() { return Optional.ofNullable(this.allocationIds); } @@ -145,6 +153,25 @@ public Optional> detach() { return Optional.ofNullable(this.detach); } + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + @Import(name="hcl1") + private @Nullable Output hcl1; + + /** + * @return `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + */ + public Optional> hcl1() { + return Optional.ofNullable(this.hcl1); + } + /** * `(block: optional)` - Options for the HCL2 jobspec parser. * @@ -271,6 +298,25 @@ public Optional> purgeOnDestroy() { return Optional.ofNullable(this.purgeOnDestroy); } + /** + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + @Import(name="readAllocationIds") + private @Nullable Output readAllocationIds; + + /** + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Optional> readAllocationIds() { + return Optional.ofNullable(this.readAllocationIds); + } + /** * The target region for the job, as derived from the jobspec. * @@ -336,6 +382,7 @@ private JobState(JobState $) { this.deregisterOnDestroy = $.deregisterOnDestroy; this.deregisterOnIdChange = $.deregisterOnIdChange; this.detach = $.detach; + this.hcl1 = $.hcl1; this.hcl2 = $.hcl2; this.jobspec = $.jobspec; this.json = $.json; @@ -344,6 +391,7 @@ private JobState(JobState $) { this.namespace = $.namespace; this.policyOverride = $.policyOverride; this.purgeOnDestroy = $.purgeOnDestroy; + this.readAllocationIds = $.readAllocationIds; this.region = $.region; this.taskGroups = $.taskGroups; this.type = $.type; @@ -373,7 +421,11 @@ public Builder(JobState defaults) { * * @return builder * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ public Builder allocationIds(@Nullable Output> allocationIds) { $.allocationIds = allocationIds; return this; @@ -384,7 +436,11 @@ public Builder allocationIds(@Nullable Output> allocationIds) { * * @return builder * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ public Builder allocationIds(List allocationIds) { return allocationIds(Output.of(allocationIds)); } @@ -394,7 +450,11 @@ public Builder allocationIds(List allocationIds) { * * @return builder * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ public Builder allocationIds(String... allocationIds) { return allocationIds(List.of(allocationIds)); } @@ -562,6 +622,31 @@ public Builder detach(Boolean detach) { return detach(Output.of(detach)); } + /** + * @param hcl1 `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + * @return builder + * + */ + public Builder hcl1(@Nullable Output hcl1) { + $.hcl1 = hcl1; + return this; + } + + /** + * @param hcl1 `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + * + * @return builder + * + */ + public Builder hcl1(Boolean hcl1) { + return hcl1(Output.of(hcl1)); + } + /** * @param hcl2 `(block: optional)` - Options for the HCL2 jobspec parser. * @@ -736,6 +821,31 @@ public Builder purgeOnDestroy(Boolean purgeOnDestroy) { return purgeOnDestroy(Output.of(purgeOnDestroy)); } + /** + * @return builder + * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Builder readAllocationIds(@Nullable Output readAllocationIds) { + $.readAllocationIds = readAllocationIds; + return this; + } + + /** + * @return builder + * + * @deprecated + * Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + * + */ + @Deprecated /* Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ + public Builder readAllocationIds(Boolean readAllocationIds) { + return readAllocationIds(Output.of(readAllocationIds)); + } + /** * @param region The target region for the job, as derived from the jobspec. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceNodePoolConfigArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceNodePoolConfigArgs.java new file mode 100644 index 00000000..56c79ad0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceNodePoolConfigArgs.java @@ -0,0 +1,178 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NamespaceNodePoolConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final NamespaceNodePoolConfigArgs Empty = new NamespaceNodePoolConfigArgs(); + + /** + * `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + */ + @Import(name="alloweds") + private @Nullable Output> alloweds; + + /** + * @return `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + */ + public Optional>> alloweds() { + return Optional.ofNullable(this.alloweds); + } + + /** + * `(string: <optional>)` - The default node pool for jobs that don't define one. + * + */ + @Import(name="default") + private @Nullable Output default_; + + /** + * @return `(string: <optional>)` - The default node pool for jobs that don't define one. + * + */ + public Optional> default_() { + return Optional.ofNullable(this.default_); + } + + /** + * `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + */ + @Import(name="denieds") + private @Nullable Output> denieds; + + /** + * @return `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + */ + public Optional>> denieds() { + return Optional.ofNullable(this.denieds); + } + + private NamespaceNodePoolConfigArgs() {} + + private NamespaceNodePoolConfigArgs(NamespaceNodePoolConfigArgs $) { + this.alloweds = $.alloweds; + this.default_ = $.default_; + this.denieds = $.denieds; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NamespaceNodePoolConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NamespaceNodePoolConfigArgs $; + + public Builder() { + $ = new NamespaceNodePoolConfigArgs(); + } + + public Builder(NamespaceNodePoolConfigArgs defaults) { + $ = new NamespaceNodePoolConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param alloweds `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder alloweds(@Nullable Output> alloweds) { + $.alloweds = alloweds; + return this; + } + + /** + * @param alloweds `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder alloweds(List alloweds) { + return alloweds(Output.of(alloweds)); + } + + /** + * @param alloweds `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder alloweds(String... alloweds) { + return alloweds(List.of(alloweds)); + } + + /** + * @param default_ `(string: <optional>)` - The default node pool for jobs that don't define one. + * + * @return builder + * + */ + public Builder default_(@Nullable Output default_) { + $.default_ = default_; + return this; + } + + /** + * @param default_ `(string: <optional>)` - The default node pool for jobs that don't define one. + * + * @return builder + * + */ + public Builder default_(String default_) { + return default_(Output.of(default_)); + } + + /** + * @param denieds `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder denieds(@Nullable Output> denieds) { + $.denieds = denieds; + return this; + } + + /** + * @param denieds `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder denieds(List denieds) { + return denieds(Output.of(denieds)); + } + + /** + * @param denieds `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + * @return builder + * + */ + public Builder denieds(String... denieds) { + return denieds(List.of(denieds)); + } + + public NamespaceNodePoolConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceState.java index f355b9ec..5387415b 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceState.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NamespaceState.java @@ -6,6 +6,7 @@ import com.pulumi.core.Output; import com.pulumi.core.annotations.Import; import com.pulumi.nomad.inputs.NamespaceCapabilitiesArgs; +import com.pulumi.nomad.inputs.NamespaceNodePoolConfigArgs; import java.lang.String; import java.util.Map; import java.util.Objects; @@ -79,6 +80,21 @@ public Optional> name() { return Optional.ofNullable(this.name); } + /** + * `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + @Import(name="nodePoolConfig") + private @Nullable Output nodePoolConfig; + + /** + * @return `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + */ + public Optional> nodePoolConfig() { + return Optional.ofNullable(this.nodePoolConfig); + } + /** * `(string: "")` - A resource quota to attach to the namespace. * @@ -101,6 +117,7 @@ private NamespaceState(NamespaceState $) { this.description = $.description; this.meta = $.meta; this.name = $.name; + this.nodePoolConfig = $.nodePoolConfig; this.quota = $.quota; } @@ -208,6 +225,27 @@ public Builder name(String name) { return name(Output.of(name)); } + /** + * @param nodePoolConfig `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + * @return builder + * + */ + public Builder nodePoolConfig(@Nullable Output nodePoolConfig) { + $.nodePoolConfig = nodePoolConfig; + return this; + } + + /** + * @param nodePoolConfig `(block: <optional>)` - A block with node pool configuration for the namespace (Nomad Enterprise only). + * + * @return builder + * + */ + public Builder nodePoolConfig(NamespaceNodePoolConfigArgs nodePoolConfig) { + return nodePoolConfig(Output.of(nodePoolConfig)); + } + /** * @param quota `(string: "")` - A resource quota to attach to the namespace. * diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolSchedulerConfigArgs.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolSchedulerConfigArgs.java new file mode 100644 index 00000000..c8322782 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolSchedulerConfigArgs.java @@ -0,0 +1,156 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolSchedulerConfigArgs extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolSchedulerConfigArgs Empty = new NodePoolSchedulerConfigArgs(); + + /** + * `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + */ + @Import(name="memoryOversubscription") + private @Nullable Output memoryOversubscription; + + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + */ + public Optional> memoryOversubscription() { + return Optional.ofNullable(this.memoryOversubscription); + } + + /** + * `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + */ + @Import(name="schedulerAlgorithm") + private @Nullable Output schedulerAlgorithm; + + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + */ + public Optional> schedulerAlgorithm() { + return Optional.ofNullable(this.schedulerAlgorithm); + } + + private NodePoolSchedulerConfigArgs() {} + + private NodePoolSchedulerConfigArgs(NodePoolSchedulerConfigArgs $) { + this.memoryOversubscription = $.memoryOversubscription; + this.schedulerAlgorithm = $.schedulerAlgorithm; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolSchedulerConfigArgs defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolSchedulerConfigArgs $; + + public Builder() { + $ = new NodePoolSchedulerConfigArgs(); + } + + public Builder(NodePoolSchedulerConfigArgs defaults) { + $ = new NodePoolSchedulerConfigArgs(Objects.requireNonNull(defaults)); + } + + /** + * @param memoryOversubscription `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + * @return builder + * + */ + public Builder memoryOversubscription(@Nullable Output memoryOversubscription) { + $.memoryOversubscription = memoryOversubscription; + return this; + } + + /** + * @param memoryOversubscription `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + * @return builder + * + */ + public Builder memoryOversubscription(String memoryOversubscription) { + return memoryOversubscription(Output.of(memoryOversubscription)); + } + + /** + * @param schedulerAlgorithm `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + * @return builder + * + */ + public Builder schedulerAlgorithm(@Nullable Output schedulerAlgorithm) { + $.schedulerAlgorithm = schedulerAlgorithm; + return this; + } + + /** + * @param schedulerAlgorithm `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + * @return builder + * + */ + public Builder schedulerAlgorithm(String schedulerAlgorithm) { + return schedulerAlgorithm(Output.of(schedulerAlgorithm)); + } + + public NodePoolSchedulerConfigArgs build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolState.java new file mode 100644 index 00000000..b4c7ec6a --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/NodePoolState.java @@ -0,0 +1,200 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import com.pulumi.nomad.inputs.NodePoolSchedulerConfigArgs; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class NodePoolState extends com.pulumi.resources.ResourceArgs { + + public static final NodePoolState Empty = new NodePoolState(); + + /** + * `(string)` - The description of the node pool. + * + */ + @Import(name="description") + private @Nullable Output description; + + /** + * @return `(string)` - The description of the node pool. + * + */ + public Optional> description() { + return Optional.ofNullable(this.description); + } + + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + @Import(name="meta") + private @Nullable Output> meta; + + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + public Optional>> meta() { + return Optional.ofNullable(this.meta); + } + + /** + * `(string)` - The name of the node pool. + * + */ + @Import(name="name") + private @Nullable Output name; + + /** + * @return `(string)` - The name of the node pool. + * + */ + public Optional> name() { + return Optional.ofNullable(this.name); + } + + /** + * `(block)` - Scheduler configuration for the node pool. + * + */ + @Import(name="schedulerConfig") + private @Nullable Output schedulerConfig; + + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + public Optional> schedulerConfig() { + return Optional.ofNullable(this.schedulerConfig); + } + + private NodePoolState() {} + + private NodePoolState(NodePoolState $) { + this.description = $.description; + this.meta = $.meta; + this.name = $.name; + this.schedulerConfig = $.schedulerConfig; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(NodePoolState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private NodePoolState $; + + public Builder() { + $ = new NodePoolState(); + } + + public Builder(NodePoolState defaults) { + $ = new NodePoolState(Objects.requireNonNull(defaults)); + } + + /** + * @param description `(string)` - The description of the node pool. + * + * @return builder + * + */ + public Builder description(@Nullable Output description) { + $.description = description; + return this; + } + + /** + * @param description `(string)` - The description of the node pool. + * + * @return builder + * + */ + public Builder description(String description) { + return description(Output.of(description)); + } + + /** + * @param meta `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + * @return builder + * + */ + public Builder meta(@Nullable Output> meta) { + $.meta = meta; + return this; + } + + /** + * @param meta `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + * @return builder + * + */ + public Builder meta(Map meta) { + return meta(Output.of(meta)); + } + + /** + * @param name `(string)` - The name of the node pool. + * + * @return builder + * + */ + public Builder name(@Nullable Output name) { + $.name = name; + return this; + } + + /** + * @param name `(string)` - The name of the node pool. + * + * @return builder + * + */ + public Builder name(String name) { + return name(Output.of(name)); + } + + /** + * @param schedulerConfig `(block)` - Scheduler configuration for the node pool. + * + * @return builder + * + */ + public Builder schedulerConfig(@Nullable Output schedulerConfig) { + $.schedulerConfig = schedulerConfig; + return this; + } + + /** + * @param schedulerConfig `(block)` - Scheduler configuration for the node pool. + * + * @return builder + * + */ + public Builder schedulerConfig(NodePoolSchedulerConfigArgs schedulerConfig) { + return schedulerConfig(Output.of(schedulerConfig)); + } + + public NodePoolState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/inputs/VariableState.java b/sdk/java/src/main/java/com/pulumi/nomad/inputs/VariableState.java new file mode 100644 index 00000000..d34673d4 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/inputs/VariableState.java @@ -0,0 +1,159 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.inputs; + +import com.pulumi.core.Output; +import com.pulumi.core.annotations.Import; +import java.lang.Object; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + + +public final class VariableState extends com.pulumi.resources.ResourceArgs { + + public static final VariableState Empty = new VariableState(); + + /** + * `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + @Import(name="items") + private @Nullable Output> items; + + /** + * @return `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + */ + public Optional>> items() { + return Optional.ofNullable(this.items); + } + + /** + * `(string: "default")` - The namepsace to create the variable in. + * + */ + @Import(name="namespace") + private @Nullable Output namespace; + + /** + * @return `(string: "default")` - The namepsace to create the variable in. + * + */ + public Optional> namespace() { + return Optional.ofNullable(this.namespace); + } + + /** + * `(string: <required>)` - A unique path to create the variable at. + * + */ + @Import(name="path") + private @Nullable Output path; + + /** + * @return `(string: <required>)` - A unique path to create the variable at. + * + */ + public Optional> path() { + return Optional.ofNullable(this.path); + } + + private VariableState() {} + + private VariableState(VariableState $) { + this.items = $.items; + this.namespace = $.namespace; + this.path = $.path; + } + + public static Builder builder() { + return new Builder(); + } + public static Builder builder(VariableState defaults) { + return new Builder(defaults); + } + + public static final class Builder { + private VariableState $; + + public Builder() { + $ = new VariableState(); + } + + public Builder(VariableState defaults) { + $ = new VariableState(Objects.requireNonNull(defaults)); + } + + /** + * @param items `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + * @return builder + * + */ + public Builder items(@Nullable Output> items) { + $.items = items; + return this; + } + + /** + * @param items `(map[string]string: <required>)` - An arbitrary map of items to create in the variable. + * + * @return builder + * + */ + public Builder items(Map items) { + return items(Output.of(items)); + } + + /** + * @param namespace `(string: "default")` - The namepsace to create the variable in. + * + * @return builder + * + */ + public Builder namespace(@Nullable Output namespace) { + $.namespace = namespace; + return this; + } + + /** + * @param namespace `(string: "default")` - The namepsace to create the variable in. + * + * @return builder + * + */ + public Builder namespace(String namespace) { + return namespace(Output.of(namespace)); + } + + /** + * @param path `(string: <required>)` - A unique path to create the variable at. + * + * @return builder + * + */ + public Builder path(@Nullable Output path) { + $.path = path; + return this; + } + + /** + * @param path `(string: <required>)` - A unique path to create the variable at. + * + * @return builder + * + */ + public Builder path(String path) { + return path(Output.of(path)); + } + + public VariableState build() { + return $; + } + } + +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/AclPolicyJobAcl.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/AclPolicyJobAcl.java new file mode 100644 index 00000000..bdc9690f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/AclPolicyJobAcl.java @@ -0,0 +1,126 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class AclPolicyJobAcl { + /** + * @return `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + */ + private @Nullable String group; + /** + * @return `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + */ + private String jobId; + /** + * @return `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + */ + private @Nullable String namespace; + /** + * @return `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + */ + private @Nullable String task; + + private AclPolicyJobAcl() {} + /** + * @return `(string: <optional>` - The group to attach the policy. Required if + * `task` is set. + * + */ + public Optional group() { + return Optional.ofNullable(this.group); + } + /** + * @return `(string: <optional>` - The job to attach the policy. Required if + * `group` is set. + * + */ + public String jobId() { + return this.jobId; + } + /** + * @return `(string: "default")` - The namespace to attach the policy. + * Required if `job_id` is set. + * + */ + public Optional namespace() { + return Optional.ofNullable(this.namespace); + } + /** + * @return `(string: <optional>` - The task to attach the policy. + * + * [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + * + */ + public Optional task() { + return Optional.ofNullable(this.task); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(AclPolicyJobAcl defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String group; + private String jobId; + private @Nullable String namespace; + private @Nullable String task; + public Builder() {} + public Builder(AclPolicyJobAcl defaults) { + Objects.requireNonNull(defaults); + this.group = defaults.group; + this.jobId = defaults.jobId; + this.namespace = defaults.namespace; + this.task = defaults.task; + } + + @CustomType.Setter + public Builder group(@Nullable String group) { + this.group = group; + return this; + } + @CustomType.Setter + public Builder jobId(String jobId) { + this.jobId = Objects.requireNonNull(jobId); + return this; + } + @CustomType.Setter + public Builder namespace(@Nullable String namespace) { + this.namespace = namespace; + return this; + } + @CustomType.Setter + public Builder task(@Nullable String task) { + this.task = task; + return this; + } + public AclPolicyJobAcl build() { + final var o = new AclPolicyJobAcl(); + o.group = group; + o.jobId = jobId; + o.namespace = namespace; + o.task = task; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeCapability.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeCapability.java new file mode 100644 index 00000000..40400178 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeCapability.java @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class CsiVolumeCapability { + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + private String accessMode; + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + private String attachmentMode; + + private CsiVolumeCapability() {} + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + public String accessMode() { + return this.accessMode; + } + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + public String attachmentMode() { + return this.attachmentMode; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeCapability defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accessMode; + private String attachmentMode; + public Builder() {} + public Builder(CsiVolumeCapability defaults) { + Objects.requireNonNull(defaults); + this.accessMode = defaults.accessMode; + this.attachmentMode = defaults.attachmentMode; + } + + @CustomType.Setter + public Builder accessMode(String accessMode) { + this.accessMode = Objects.requireNonNull(accessMode); + return this; + } + @CustomType.Setter + public Builder attachmentMode(String attachmentMode) { + this.attachmentMode = Objects.requireNonNull(attachmentMode); + return this; + } + public CsiVolumeCapability build() { + final var o = new CsiVolumeCapability(); + o.accessMode = accessMode; + o.attachmentMode = attachmentMode; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeMountOptions.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeMountOptions.java new file mode 100644 index 00000000..0fb467e9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeMountOptions.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeMountOptions { + /** + * @return `(string: optional)` - The file system type. + * + */ + private @Nullable String fsType; + /** + * @return `[]string: optional` - The flags passed to `mount`. + * + */ + private @Nullable List mountFlags; + + private CsiVolumeMountOptions() {} + /** + * @return `(string: optional)` - The file system type. + * + */ + public Optional fsType() { + return Optional.ofNullable(this.fsType); + } + /** + * @return `[]string: optional` - The flags passed to `mount`. + * + */ + public List mountFlags() { + return this.mountFlags == null ? List.of() : this.mountFlags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeMountOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String fsType; + private @Nullable List mountFlags; + public Builder() {} + public Builder(CsiVolumeMountOptions defaults) { + Objects.requireNonNull(defaults); + this.fsType = defaults.fsType; + this.mountFlags = defaults.mountFlags; + } + + @CustomType.Setter + public Builder fsType(@Nullable String fsType) { + this.fsType = fsType; + return this; + } + @CustomType.Setter + public Builder mountFlags(@Nullable List mountFlags) { + this.mountFlags = mountFlags; + return this; + } + public Builder mountFlags(String... mountFlags) { + return mountFlags(List.of(mountFlags)); + } + public CsiVolumeMountOptions build() { + final var o = new CsiVolumeMountOptions(); + o.fsType = fsType; + o.mountFlags = mountFlags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationCapability.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationCapability.java new file mode 100644 index 00000000..e6b02b1f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationCapability.java @@ -0,0 +1,88 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class CsiVolumeRegistrationCapability { + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + private String accessMode; + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + private String attachmentMode; + + private CsiVolumeRegistrationCapability() {} + /** + * @return `(string: <required>)` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + * + */ + public String accessMode() { + return this.accessMode; + } + /** + * @return `(string: <required>)` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + * + */ + public String attachmentMode() { + return this.attachmentMode; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationCapability defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String accessMode; + private String attachmentMode; + public Builder() {} + public Builder(CsiVolumeRegistrationCapability defaults) { + Objects.requireNonNull(defaults); + this.accessMode = defaults.accessMode; + this.attachmentMode = defaults.attachmentMode; + } + + @CustomType.Setter + public Builder accessMode(String accessMode) { + this.accessMode = Objects.requireNonNull(accessMode); + return this; + } + @CustomType.Setter + public Builder attachmentMode(String attachmentMode) { + this.attachmentMode = Objects.requireNonNull(attachmentMode); + return this; + } + public CsiVolumeRegistrationCapability build() { + final var o = new CsiVolumeRegistrationCapability(); + o.accessMode = accessMode; + o.attachmentMode = attachmentMode; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationMountOptions.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationMountOptions.java new file mode 100644 index 00000000..36594b9c --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationMountOptions.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeRegistrationMountOptions { + /** + * @return `(string: <optional>)` - The file system type. + * + */ + private @Nullable String fsType; + /** + * @return `([]string: <optional>)` - The flags passed to `mount`. + * + */ + private @Nullable List mountFlags; + + private CsiVolumeRegistrationMountOptions() {} + /** + * @return `(string: <optional>)` - The file system type. + * + */ + public Optional fsType() { + return Optional.ofNullable(this.fsType); + } + /** + * @return `([]string: <optional>)` - The flags passed to `mount`. + * + */ + public List mountFlags() { + return this.mountFlags == null ? List.of() : this.mountFlags; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationMountOptions defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String fsType; + private @Nullable List mountFlags; + public Builder() {} + public Builder(CsiVolumeRegistrationMountOptions defaults) { + Objects.requireNonNull(defaults); + this.fsType = defaults.fsType; + this.mountFlags = defaults.mountFlags; + } + + @CustomType.Setter + public Builder fsType(@Nullable String fsType) { + this.fsType = fsType; + return this; + } + @CustomType.Setter + public Builder mountFlags(@Nullable List mountFlags) { + this.mountFlags = mountFlags; + return this; + } + public Builder mountFlags(String... mountFlags) { + return mountFlags(List.of(mountFlags)); + } + public CsiVolumeRegistrationMountOptions build() { + final var o = new CsiVolumeRegistrationMountOptions(); + o.fsType = fsType; + o.mountFlags = mountFlags; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopology.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopology.java new file mode 100644 index 00000000..5a46cf56 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopology.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeRegistrationTopology { + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + private @Nullable Map segments; + + private CsiVolumeRegistrationTopology() {} + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Map segments() { + return this.segments == null ? Map.of() : this.segments; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationTopology defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Map segments; + public Builder() {} + public Builder(CsiVolumeRegistrationTopology defaults) { + Objects.requireNonNull(defaults); + this.segments = defaults.segments; + } + + @CustomType.Setter + public Builder segments(@Nullable Map segments) { + this.segments = segments; + return this; + } + public CsiVolumeRegistrationTopology build() { + final var o = new CsiVolumeRegistrationTopology(); + o.segments = segments; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequest.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequest.java new file mode 100644 index 00000000..63fc4ade --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequest.java @@ -0,0 +1,56 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationTopologyRequestRequired; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeRegistrationTopologyRequest { + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + private @Nullable CsiVolumeRegistrationTopologyRequestRequired required; + + private CsiVolumeRegistrationTopologyRequest() {} + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + public Optional required() { + return Optional.ofNullable(this.required); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationTopologyRequest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CsiVolumeRegistrationTopologyRequestRequired required; + public Builder() {} + public Builder(CsiVolumeRegistrationTopologyRequest defaults) { + Objects.requireNonNull(defaults); + this.required = defaults.required; + } + + @CustomType.Setter + public Builder required(@Nullable CsiVolumeRegistrationTopologyRequestRequired required) { + this.required = required; + return this; + } + public CsiVolumeRegistrationTopologyRequest build() { + final var o = new CsiVolumeRegistrationTopologyRequest(); + o.required = required; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequired.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequired.java new file mode 100644 index 00000000..dd724b07 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequired.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class CsiVolumeRegistrationTopologyRequestRequired { + private List topologies; + + private CsiVolumeRegistrationTopologyRequestRequired() {} + public List topologies() { + return this.topologies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationTopologyRequestRequired defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List topologies; + public Builder() {} + public Builder(CsiVolumeRegistrationTopologyRequestRequired defaults) { + Objects.requireNonNull(defaults); + this.topologies = defaults.topologies; + } + + @CustomType.Setter + public Builder topologies(List topologies) { + this.topologies = Objects.requireNonNull(topologies); + return this; + } + public Builder topologies(CsiVolumeRegistrationTopologyRequestRequiredTopology... topologies) { + return topologies(List.of(topologies)); + } + public CsiVolumeRegistrationTopologyRequestRequired build() { + final var o = new CsiVolumeRegistrationTopologyRequestRequired(); + o.topologies = topologies; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.java new file mode 100644 index 00000000..1c93ac26 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeRegistrationTopologyRequestRequiredTopology.java @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class CsiVolumeRegistrationTopologyRequestRequiredTopology { + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + private Map segments; + + private CsiVolumeRegistrationTopologyRequestRequiredTopology() {} + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Map segments() { + return this.segments; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeRegistrationTopologyRequestRequiredTopology defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Map segments; + public Builder() {} + public Builder(CsiVolumeRegistrationTopologyRequestRequiredTopology defaults) { + Objects.requireNonNull(defaults); + this.segments = defaults.segments; + } + + @CustomType.Setter + public Builder segments(Map segments) { + this.segments = Objects.requireNonNull(segments); + return this; + } + public CsiVolumeRegistrationTopologyRequestRequiredTopology build() { + final var o = new CsiVolumeRegistrationTopologyRequestRequiredTopology(); + o.segments = segments; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopology.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopology.java new file mode 100644 index 00000000..2e6f9c1f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopology.java @@ -0,0 +1,62 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeTopology { + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + private @Nullable Map segments; + + private CsiVolumeTopology() {} + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Map segments() { + return this.segments == null ? Map.of() : this.segments; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopology defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable Map segments; + public Builder() {} + public Builder(CsiVolumeTopology defaults) { + Objects.requireNonNull(defaults); + this.segments = defaults.segments; + } + + @CustomType.Setter + public Builder segments(@Nullable Map segments) { + this.segments = segments; + return this; + } + public CsiVolumeTopology build() { + final var o = new CsiVolumeTopology(); + o.segments = segments; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequest.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequest.java new file mode 100644 index 00000000..f23292a7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequest.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.CsiVolumeTopologyRequestPreferred; +import com.pulumi.nomad.outputs.CsiVolumeTopologyRequestRequired; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class CsiVolumeTopologyRequest { + /** + * @return `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + */ + private @Nullable CsiVolumeTopologyRequestPreferred preferred; + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + private @Nullable CsiVolumeTopologyRequestRequired required; + + private CsiVolumeTopologyRequest() {} + /** + * @return `(``Topology``: <optional>)` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + * + */ + public Optional preferred() { + return Optional.ofNullable(this.preferred); + } + /** + * @return `(``Topology``: <optional>)` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + * + */ + public Optional required() { + return Optional.ofNullable(this.required); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopologyRequest defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable CsiVolumeTopologyRequestPreferred preferred; + private @Nullable CsiVolumeTopologyRequestRequired required; + public Builder() {} + public Builder(CsiVolumeTopologyRequest defaults) { + Objects.requireNonNull(defaults); + this.preferred = defaults.preferred; + this.required = defaults.required; + } + + @CustomType.Setter + public Builder preferred(@Nullable CsiVolumeTopologyRequestPreferred preferred) { + this.preferred = preferred; + return this; + } + @CustomType.Setter + public Builder required(@Nullable CsiVolumeTopologyRequestRequired required) { + this.required = required; + return this; + } + public CsiVolumeTopologyRequest build() { + final var o = new CsiVolumeTopologyRequest(); + o.preferred = preferred; + o.required = required; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferred.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferred.java new file mode 100644 index 00000000..3e398baf --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferred.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.CsiVolumeTopologyRequestPreferredTopology; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class CsiVolumeTopologyRequestPreferred { + private List topologies; + + private CsiVolumeTopologyRequestPreferred() {} + public List topologies() { + return this.topologies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopologyRequestPreferred defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List topologies; + public Builder() {} + public Builder(CsiVolumeTopologyRequestPreferred defaults) { + Objects.requireNonNull(defaults); + this.topologies = defaults.topologies; + } + + @CustomType.Setter + public Builder topologies(List topologies) { + this.topologies = Objects.requireNonNull(topologies); + return this; + } + public Builder topologies(CsiVolumeTopologyRequestPreferredTopology... topologies) { + return topologies(List.of(topologies)); + } + public CsiVolumeTopologyRequestPreferred build() { + final var o = new CsiVolumeTopologyRequestPreferred(); + o.topologies = topologies; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferredTopology.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferredTopology.java new file mode 100644 index 00000000..63c6605f --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestPreferredTopology.java @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class CsiVolumeTopologyRequestPreferredTopology { + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + private Map segments; + + private CsiVolumeTopologyRequestPreferredTopology() {} + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Map segments() { + return this.segments; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopologyRequestPreferredTopology defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Map segments; + public Builder() {} + public Builder(CsiVolumeTopologyRequestPreferredTopology defaults) { + Objects.requireNonNull(defaults); + this.segments = defaults.segments; + } + + @CustomType.Setter + public Builder segments(Map segments) { + this.segments = Objects.requireNonNull(segments); + return this; + } + public CsiVolumeTopologyRequestPreferredTopology build() { + final var o = new CsiVolumeTopologyRequestPreferredTopology(); + o.segments = segments; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequired.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequired.java new file mode 100644 index 00000000..e74b36e7 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequired.java @@ -0,0 +1,50 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.CsiVolumeTopologyRequestRequiredTopology; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class CsiVolumeTopologyRequestRequired { + private List topologies; + + private CsiVolumeTopologyRequestRequired() {} + public List topologies() { + return this.topologies; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopologyRequestRequired defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List topologies; + public Builder() {} + public Builder(CsiVolumeTopologyRequestRequired defaults) { + Objects.requireNonNull(defaults); + this.topologies = defaults.topologies; + } + + @CustomType.Setter + public Builder topologies(List topologies) { + this.topologies = Objects.requireNonNull(topologies); + return this; + } + public Builder topologies(CsiVolumeTopologyRequestRequiredTopology... topologies) { + return topologies(List.of(topologies)); + } + public CsiVolumeTopologyRequestRequired build() { + final var o = new CsiVolumeTopologyRequestRequired(); + o.topologies = topologies; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequiredTopology.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequiredTopology.java new file mode 100644 index 00000000..d84b822d --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/CsiVolumeTopologyRequestRequiredTopology.java @@ -0,0 +1,61 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class CsiVolumeTopologyRequestRequiredTopology { + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + private Map segments; + + private CsiVolumeTopologyRequestRequiredTopology() {} + /** + * @return `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + * + */ + public Map segments() { + return this.segments; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(CsiVolumeTopologyRequestRequiredTopology defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private Map segments; + public Builder() {} + public Builder(CsiVolumeTopologyRequestRequiredTopology defaults) { + Objects.requireNonNull(defaults); + this.segments = defaults.segments; + } + + @CustomType.Setter + public Builder segments(Map segments) { + this.segments = Objects.requireNonNull(segments); + return this; + } + public CsiVolumeTopologyRequestRequiredTopology build() { + final var o = new CsiVolumeTopologyRequestRequiredTopology(); + o.segments = segments; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsAllocation.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsAllocation.java new file mode 100644 index 00000000..ff0fd694 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsAllocation.java @@ -0,0 +1,415 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Integer; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetAllocationsAllocation { + /** + * @return `(string)` - The current client status of the allocation. + * + */ + private String clientStatus; + /** + * @return `(int)` - The Raft index in which the allocation was created. + * + */ + private Integer createIndex; + /** + * @return `(int)` - The timestamp of when the allocation was created. + * + */ + private Integer createTime; + /** + * @return `(string)` - The current desired status of the allocation. + * + */ + private String desiredStatus; + /** + * @return `(string)` - The ID of the evaluation that generated the allocation. + * + */ + private String evalId; + /** + * @return `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + * + */ + private String followupEvalId; + /** + * @return `(string)` - The ID of the allocation. + * + */ + private String id; + /** + * @return `(string)` - The ID of the job related to the allocation. + * + */ + private String jobId; + /** + * @return `(string)` - The type of the job related to the allocation. + * + */ + private String jobType; + /** + * @return `(int)` - The version of the job that generated the allocation. + * + */ + private Integer jobVersion; + /** + * @return `(int)` - The Raft index in which the allocation was last modified. + * + */ + private Integer modifyIndex; + /** + * @return `(int)` - The timestamp of when the allocation was last modified. + * + */ + private Integer modifyTime; + /** + * @return `(string)` - The name of the allocation. + * + */ + private String name; + /** + * @return `(string)` - The namespace the allocation belongs to. + * + */ + private String namespace; + /** + * @return `(string)` - The ID of the allocation that succeeds the allocation. + * + */ + private String nextAllocation; + /** + * @return `(string)` - The ID of the node to which the allocation was scheduled. + * + */ + private String nodeId; + /** + * @return `(string)` - The ID of the node to which the allocation was scheduled. + * + */ + private String nodeName; + /** + * @return `(string)` - The ID of the allocation that preempted the allocation. + * + */ + private String preemptedByAllocation; + /** + * @return `(string)` - The job task group related to the allocation. + * + */ + private String taskGroup; + + private GetAllocationsAllocation() {} + /** + * @return `(string)` - The current client status of the allocation. + * + */ + public String clientStatus() { + return this.clientStatus; + } + /** + * @return `(int)` - The Raft index in which the allocation was created. + * + */ + public Integer createIndex() { + return this.createIndex; + } + /** + * @return `(int)` - The timestamp of when the allocation was created. + * + */ + public Integer createTime() { + return this.createTime; + } + /** + * @return `(string)` - The current desired status of the allocation. + * + */ + public String desiredStatus() { + return this.desiredStatus; + } + /** + * @return `(string)` - The ID of the evaluation that generated the allocation. + * + */ + public String evalId() { + return this.evalId; + } + /** + * @return `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + * + */ + public String followupEvalId() { + return this.followupEvalId; + } + /** + * @return `(string)` - The ID of the allocation. + * + */ + public String id() { + return this.id; + } + /** + * @return `(string)` - The ID of the job related to the allocation. + * + */ + public String jobId() { + return this.jobId; + } + /** + * @return `(string)` - The type of the job related to the allocation. + * + */ + public String jobType() { + return this.jobType; + } + /** + * @return `(int)` - The version of the job that generated the allocation. + * + */ + public Integer jobVersion() { + return this.jobVersion; + } + /** + * @return `(int)` - The Raft index in which the allocation was last modified. + * + */ + public Integer modifyIndex() { + return this.modifyIndex; + } + /** + * @return `(int)` - The timestamp of when the allocation was last modified. + * + */ + public Integer modifyTime() { + return this.modifyTime; + } + /** + * @return `(string)` - The name of the allocation. + * + */ + public String name() { + return this.name; + } + /** + * @return `(string)` - The namespace the allocation belongs to. + * + */ + public String namespace() { + return this.namespace; + } + /** + * @return `(string)` - The ID of the allocation that succeeds the allocation. + * + */ + public String nextAllocation() { + return this.nextAllocation; + } + /** + * @return `(string)` - The ID of the node to which the allocation was scheduled. + * + */ + public String nodeId() { + return this.nodeId; + } + /** + * @return `(string)` - The ID of the node to which the allocation was scheduled. + * + */ + public String nodeName() { + return this.nodeName; + } + /** + * @return `(string)` - The ID of the allocation that preempted the allocation. + * + */ + public String preemptedByAllocation() { + return this.preemptedByAllocation; + } + /** + * @return `(string)` - The job task group related to the allocation. + * + */ + public String taskGroup() { + return this.taskGroup; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetAllocationsAllocation defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String clientStatus; + private Integer createIndex; + private Integer createTime; + private String desiredStatus; + private String evalId; + private String followupEvalId; + private String id; + private String jobId; + private String jobType; + private Integer jobVersion; + private Integer modifyIndex; + private Integer modifyTime; + private String name; + private String namespace; + private String nextAllocation; + private String nodeId; + private String nodeName; + private String preemptedByAllocation; + private String taskGroup; + public Builder() {} + public Builder(GetAllocationsAllocation defaults) { + Objects.requireNonNull(defaults); + this.clientStatus = defaults.clientStatus; + this.createIndex = defaults.createIndex; + this.createTime = defaults.createTime; + this.desiredStatus = defaults.desiredStatus; + this.evalId = defaults.evalId; + this.followupEvalId = defaults.followupEvalId; + this.id = defaults.id; + this.jobId = defaults.jobId; + this.jobType = defaults.jobType; + this.jobVersion = defaults.jobVersion; + this.modifyIndex = defaults.modifyIndex; + this.modifyTime = defaults.modifyTime; + this.name = defaults.name; + this.namespace = defaults.namespace; + this.nextAllocation = defaults.nextAllocation; + this.nodeId = defaults.nodeId; + this.nodeName = defaults.nodeName; + this.preemptedByAllocation = defaults.preemptedByAllocation; + this.taskGroup = defaults.taskGroup; + } + + @CustomType.Setter + public Builder clientStatus(String clientStatus) { + this.clientStatus = Objects.requireNonNull(clientStatus); + return this; + } + @CustomType.Setter + public Builder createIndex(Integer createIndex) { + this.createIndex = Objects.requireNonNull(createIndex); + return this; + } + @CustomType.Setter + public Builder createTime(Integer createTime) { + this.createTime = Objects.requireNonNull(createTime); + return this; + } + @CustomType.Setter + public Builder desiredStatus(String desiredStatus) { + this.desiredStatus = Objects.requireNonNull(desiredStatus); + return this; + } + @CustomType.Setter + public Builder evalId(String evalId) { + this.evalId = Objects.requireNonNull(evalId); + return this; + } + @CustomType.Setter + public Builder followupEvalId(String followupEvalId) { + this.followupEvalId = Objects.requireNonNull(followupEvalId); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder jobId(String jobId) { + this.jobId = Objects.requireNonNull(jobId); + return this; + } + @CustomType.Setter + public Builder jobType(String jobType) { + this.jobType = Objects.requireNonNull(jobType); + return this; + } + @CustomType.Setter + public Builder jobVersion(Integer jobVersion) { + this.jobVersion = Objects.requireNonNull(jobVersion); + return this; + } + @CustomType.Setter + public Builder modifyIndex(Integer modifyIndex) { + this.modifyIndex = Objects.requireNonNull(modifyIndex); + return this; + } + @CustomType.Setter + public Builder modifyTime(Integer modifyTime) { + this.modifyTime = Objects.requireNonNull(modifyTime); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder namespace(String namespace) { + this.namespace = Objects.requireNonNull(namespace); + return this; + } + @CustomType.Setter + public Builder nextAllocation(String nextAllocation) { + this.nextAllocation = Objects.requireNonNull(nextAllocation); + return this; + } + @CustomType.Setter + public Builder nodeId(String nodeId) { + this.nodeId = Objects.requireNonNull(nodeId); + return this; + } + @CustomType.Setter + public Builder nodeName(String nodeName) { + this.nodeName = Objects.requireNonNull(nodeName); + return this; + } + @CustomType.Setter + public Builder preemptedByAllocation(String preemptedByAllocation) { + this.preemptedByAllocation = Objects.requireNonNull(preemptedByAllocation); + return this; + } + @CustomType.Setter + public Builder taskGroup(String taskGroup) { + this.taskGroup = Objects.requireNonNull(taskGroup); + return this; + } + public GetAllocationsAllocation build() { + final var o = new GetAllocationsAllocation(); + o.clientStatus = clientStatus; + o.createIndex = createIndex; + o.createTime = createTime; + o.desiredStatus = desiredStatus; + o.evalId = evalId; + o.followupEvalId = followupEvalId; + o.id = id; + o.jobId = jobId; + o.jobType = jobType; + o.jobVersion = jobVersion; + o.modifyIndex = modifyIndex; + o.modifyTime = modifyTime; + o.name = name; + o.namespace = namespace; + o.nextAllocation = nextAllocation; + o.nodeId = nodeId; + o.nodeName = nodeName; + o.preemptedByAllocation = preemptedByAllocation; + o.taskGroup = taskGroup; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsResult.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsResult.java new file mode 100644 index 00000000..1329bfdc --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetAllocationsResult.java @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.GetAllocationsAllocation; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetAllocationsResult { + /** + * @return `(list of allocations)` - A list of allocations matching the + * search criteria. + * + */ + private List allocations; + private @Nullable String filter; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + private @Nullable String prefix; + + private GetAllocationsResult() {} + /** + * @return `(list of allocations)` - A list of allocations matching the + * search criteria. + * + */ + public List allocations() { + return this.allocations; + } + public Optional filter() { + return Optional.ofNullable(this.filter); + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetAllocationsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List allocations; + private @Nullable String filter; + private String id; + private @Nullable String prefix; + public Builder() {} + public Builder(GetAllocationsResult defaults) { + Objects.requireNonNull(defaults); + this.allocations = defaults.allocations; + this.filter = defaults.filter; + this.id = defaults.id; + this.prefix = defaults.prefix; + } + + @CustomType.Setter + public Builder allocations(List allocations) { + this.allocations = Objects.requireNonNull(allocations); + return this; + } + public Builder allocations(GetAllocationsAllocation... allocations) { + return allocations(List.of(allocations)); + } + @CustomType.Setter + public Builder filter(@Nullable String filter) { + this.filter = filter; + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; + return this; + } + public GetAllocationsResult build() { + final var o = new GetAllocationsResult(); + o.allocations = allocations; + o.filter = filter; + o.id = id; + o.prefix = prefix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceNodePoolConfig.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceNodePoolConfig.java new file mode 100644 index 00000000..62ed0fa9 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceNodePoolConfig.java @@ -0,0 +1,77 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; + +@CustomType +public final class GetNamespaceNodePoolConfig { + private List alloweds; + private String default_; + private List denieds; + + private GetNamespaceNodePoolConfig() {} + public List alloweds() { + return this.alloweds; + } + public String default_() { + return this.default_; + } + public List denieds() { + return this.denieds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNamespaceNodePoolConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private List alloweds; + private String default_; + private List denieds; + public Builder() {} + public Builder(GetNamespaceNodePoolConfig defaults) { + Objects.requireNonNull(defaults); + this.alloweds = defaults.alloweds; + this.default_ = defaults.default_; + this.denieds = defaults.denieds; + } + + @CustomType.Setter + public Builder alloweds(List alloweds) { + this.alloweds = Objects.requireNonNull(alloweds); + return this; + } + public Builder alloweds(String... alloweds) { + return alloweds(List.of(alloweds)); + } + @CustomType.Setter("default") + public Builder default_(String default_) { + this.default_ = Objects.requireNonNull(default_); + return this; + } + @CustomType.Setter + public Builder denieds(List denieds) { + this.denieds = Objects.requireNonNull(denieds); + return this; + } + public Builder denieds(String... denieds) { + return denieds(List.of(denieds)); + } + public GetNamespaceNodePoolConfig build() { + final var o = new GetNamespaceNodePoolConfig(); + o.alloweds = alloweds; + o.default_ = default_; + o.denieds = denieds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceResult.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceResult.java index 271d8484..c1d3804d 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceResult.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNamespaceResult.java @@ -5,6 +5,7 @@ import com.pulumi.core.annotations.CustomType; import com.pulumi.nomad.outputs.GetNamespaceCapability; +import com.pulumi.nomad.outputs.GetNamespaceNodePoolConfig; import java.lang.String; import java.util.List; import java.util.Map; @@ -33,6 +34,7 @@ public final class GetNamespaceResult { */ private Map meta; private String name; + private List nodePoolConfigs; /** * @return `(string)` - The quota associated with the namespace. * @@ -71,6 +73,9 @@ public Map meta() { public String name() { return this.name; } + public List nodePoolConfigs() { + return this.nodePoolConfigs; + } /** * @return `(string)` - The quota associated with the namespace. * @@ -93,6 +98,7 @@ public static final class Builder { private String id; private Map meta; private String name; + private List nodePoolConfigs; private String quota; public Builder() {} public Builder(GetNamespaceResult defaults) { @@ -102,6 +108,7 @@ public Builder(GetNamespaceResult defaults) { this.id = defaults.id; this.meta = defaults.meta; this.name = defaults.name; + this.nodePoolConfigs = defaults.nodePoolConfigs; this.quota = defaults.quota; } @@ -134,6 +141,14 @@ public Builder name(String name) { return this; } @CustomType.Setter + public Builder nodePoolConfigs(List nodePoolConfigs) { + this.nodePoolConfigs = Objects.requireNonNull(nodePoolConfigs); + return this; + } + public Builder nodePoolConfigs(GetNamespaceNodePoolConfig... nodePoolConfigs) { + return nodePoolConfigs(List.of(nodePoolConfigs)); + } + @CustomType.Setter public Builder quota(String quota) { this.quota = Objects.requireNonNull(quota); return this; @@ -145,6 +160,7 @@ public GetNamespaceResult build() { o.id = id; o.meta = meta; o.name = name; + o.nodePoolConfigs = nodePoolConfigs; o.quota = quota; return o; } diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolResult.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolResult.java new file mode 100644 index 00000000..4f99b238 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolResult.java @@ -0,0 +1,134 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.GetNodePoolSchedulerConfig; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetNodePoolResult { + /** + * @return `(string)` - The description of the node pool. + * + */ + private String description; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + private Map meta; + private String name; + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + private List schedulerConfigs; + + private GetNodePoolResult() {} + /** + * @return `(string)` - The description of the node pool. + * + */ + public String description() { + return this.description; + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + public Map meta() { + return this.meta; + } + public String name() { + return this.name; + } + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + public List schedulerConfigs() { + return this.schedulerConfigs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNodePoolResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String description; + private String id; + private Map meta; + private String name; + private List schedulerConfigs; + public Builder() {} + public Builder(GetNodePoolResult defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.id = defaults.id; + this.meta = defaults.meta; + this.name = defaults.name; + this.schedulerConfigs = defaults.schedulerConfigs; + } + + @CustomType.Setter + public Builder description(String description) { + this.description = Objects.requireNonNull(description); + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder meta(Map meta) { + this.meta = Objects.requireNonNull(meta); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder schedulerConfigs(List schedulerConfigs) { + this.schedulerConfigs = Objects.requireNonNull(schedulerConfigs); + return this; + } + public Builder schedulerConfigs(GetNodePoolSchedulerConfig... schedulerConfigs) { + return schedulerConfigs(List.of(schedulerConfigs)); + } + public GetNodePoolResult build() { + final var o = new GetNodePoolResult(); + o.description = description; + o.id = id; + o.meta = meta; + o.name = name; + o.schedulerConfigs = schedulerConfigs; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolSchedulerConfig.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolSchedulerConfig.java new file mode 100644 index 00000000..634e0bf5 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolSchedulerConfig.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetNodePoolSchedulerConfig { + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + * + */ + private String memoryOversubscription; + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + * + */ + private String schedulerAlgorithm; + + private GetNodePoolSchedulerConfig() {} + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + * + */ + public String memoryOversubscription() { + return this.memoryOversubscription; + } + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + * + */ + public String schedulerAlgorithm() { + return this.schedulerAlgorithm; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNodePoolSchedulerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String memoryOversubscription; + private String schedulerAlgorithm; + public Builder() {} + public Builder(GetNodePoolSchedulerConfig defaults) { + Objects.requireNonNull(defaults); + this.memoryOversubscription = defaults.memoryOversubscription; + this.schedulerAlgorithm = defaults.schedulerAlgorithm; + } + + @CustomType.Setter + public Builder memoryOversubscription(String memoryOversubscription) { + this.memoryOversubscription = Objects.requireNonNull(memoryOversubscription); + return this; + } + @CustomType.Setter + public Builder schedulerAlgorithm(String schedulerAlgorithm) { + this.schedulerAlgorithm = Objects.requireNonNull(schedulerAlgorithm); + return this; + } + public GetNodePoolSchedulerConfig build() { + final var o = new GetNodePoolSchedulerConfig(); + o.memoryOversubscription = memoryOversubscription; + o.schedulerAlgorithm = schedulerAlgorithm; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePool.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePool.java new file mode 100644 index 00000000..fcd1ce28 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePool.java @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.GetNodePoolsNodePoolSchedulerConfig; +import java.lang.String; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +@CustomType +public final class GetNodePoolsNodePool { + /** + * @return `(string)` - The description of the node pool. + * + */ + private String description; + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + private Map meta; + /** + * @return `(string)` - The name of the node pool. + * + */ + private String name; + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + private List schedulerConfigs; + + private GetNodePoolsNodePool() {} + /** + * @return `(string)` - The description of the node pool. + * + */ + public String description() { + return this.description; + } + /** + * @return `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + * + */ + public Map meta() { + return this.meta; + } + /** + * @return `(string)` - The name of the node pool. + * + */ + public String name() { + return this.name; + } + /** + * @return `(block)` - Scheduler configuration for the node pool. + * + */ + public List schedulerConfigs() { + return this.schedulerConfigs; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNodePoolsNodePool defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String description; + private Map meta; + private String name; + private List schedulerConfigs; + public Builder() {} + public Builder(GetNodePoolsNodePool defaults) { + Objects.requireNonNull(defaults); + this.description = defaults.description; + this.meta = defaults.meta; + this.name = defaults.name; + this.schedulerConfigs = defaults.schedulerConfigs; + } + + @CustomType.Setter + public Builder description(String description) { + this.description = Objects.requireNonNull(description); + return this; + } + @CustomType.Setter + public Builder meta(Map meta) { + this.meta = Objects.requireNonNull(meta); + return this; + } + @CustomType.Setter + public Builder name(String name) { + this.name = Objects.requireNonNull(name); + return this; + } + @CustomType.Setter + public Builder schedulerConfigs(List schedulerConfigs) { + this.schedulerConfigs = Objects.requireNonNull(schedulerConfigs); + return this; + } + public Builder schedulerConfigs(GetNodePoolsNodePoolSchedulerConfig... schedulerConfigs) { + return schedulerConfigs(List.of(schedulerConfigs)); + } + public GetNodePoolsNodePool build() { + final var o = new GetNodePoolsNodePool(); + o.description = description; + o.meta = meta; + o.name = name; + o.schedulerConfigs = schedulerConfigs; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePoolSchedulerConfig.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePoolSchedulerConfig.java new file mode 100644 index 00000000..14e29051 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsNodePoolSchedulerConfig.java @@ -0,0 +1,80 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; + +@CustomType +public final class GetNodePoolsNodePoolSchedulerConfig { + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + * + */ + private String memoryOversubscription; + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + * + */ + private String schedulerAlgorithm; + + private GetNodePoolsNodePoolSchedulerConfig() {} + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + * + */ + public String memoryOversubscription() { + return this.memoryOversubscription; + } + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + * + */ + public String schedulerAlgorithm() { + return this.schedulerAlgorithm; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNodePoolsNodePoolSchedulerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String memoryOversubscription; + private String schedulerAlgorithm; + public Builder() {} + public Builder(GetNodePoolsNodePoolSchedulerConfig defaults) { + Objects.requireNonNull(defaults); + this.memoryOversubscription = defaults.memoryOversubscription; + this.schedulerAlgorithm = defaults.schedulerAlgorithm; + } + + @CustomType.Setter + public Builder memoryOversubscription(String memoryOversubscription) { + this.memoryOversubscription = Objects.requireNonNull(memoryOversubscription); + return this; + } + @CustomType.Setter + public Builder schedulerAlgorithm(String schedulerAlgorithm) { + this.schedulerAlgorithm = Objects.requireNonNull(schedulerAlgorithm); + return this; + } + public GetNodePoolsNodePoolSchedulerConfig build() { + final var o = new GetNodePoolsNodePoolSchedulerConfig(); + o.memoryOversubscription = memoryOversubscription; + o.schedulerAlgorithm = schedulerAlgorithm; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsResult.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsResult.java new file mode 100644 index 00000000..f0ad9dda --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetNodePoolsResult.java @@ -0,0 +1,107 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import com.pulumi.nomad.outputs.GetNodePoolsNodePool; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetNodePoolsResult { + private @Nullable String filter; + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return `(list of node pools)` - A list of node pools matching the + * search criteria. + * + */ + private List nodePools; + private @Nullable String prefix; + + private GetNodePoolsResult() {} + public Optional filter() { + return Optional.ofNullable(this.filter); + } + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return `(list of node pools)` - A list of node pools matching the + * search criteria. + * + */ + public List nodePools() { + return this.nodePools; + } + public Optional prefix() { + return Optional.ofNullable(this.prefix); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetNodePoolsResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String filter; + private String id; + private List nodePools; + private @Nullable String prefix; + public Builder() {} + public Builder(GetNodePoolsResult defaults) { + Objects.requireNonNull(defaults); + this.filter = defaults.filter; + this.id = defaults.id; + this.nodePools = defaults.nodePools; + this.prefix = defaults.prefix; + } + + @CustomType.Setter + public Builder filter(@Nullable String filter) { + this.filter = filter; + return this; + } + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder nodePools(List nodePools) { + this.nodePools = Objects.requireNonNull(nodePools); + return this; + } + public Builder nodePools(GetNodePoolsNodePool... nodePools) { + return nodePools(List.of(nodePools)); + } + @CustomType.Setter + public Builder prefix(@Nullable String prefix) { + this.prefix = prefix; + return this; + } + public GetNodePoolsResult build() { + final var o = new GetNodePoolsResult(); + o.filter = filter; + o.id = id; + o.nodePools = nodePools; + o.prefix = prefix; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetVariableResult.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetVariableResult.java new file mode 100644 index 00000000..7f27a644 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/GetVariableResult.java @@ -0,0 +1,118 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.Object; +import java.lang.String; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class GetVariableResult { + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + private String id; + /** + * @return `(map[string]string)` - Map of items in the variable. + * + */ + private Map items; + /** + * @return `(string)` - The namespace in which the variable exists. + * + */ + private @Nullable String namespace; + /** + * @return `(string)` - The path at which the variable exists. + * + */ + private String path; + + private GetVariableResult() {} + /** + * @return The provider-assigned unique ID for this managed resource. + * + */ + public String id() { + return this.id; + } + /** + * @return `(map[string]string)` - Map of items in the variable. + * + */ + public Map items() { + return this.items; + } + /** + * @return `(string)` - The namespace in which the variable exists. + * + */ + public Optional namespace() { + return Optional.ofNullable(this.namespace); + } + /** + * @return `(string)` - The path at which the variable exists. + * + */ + public String path() { + return this.path; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(GetVariableResult defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private String id; + private Map items; + private @Nullable String namespace; + private String path; + public Builder() {} + public Builder(GetVariableResult defaults) { + Objects.requireNonNull(defaults); + this.id = defaults.id; + this.items = defaults.items; + this.namespace = defaults.namespace; + this.path = defaults.path; + } + + @CustomType.Setter + public Builder id(String id) { + this.id = Objects.requireNonNull(id); + return this; + } + @CustomType.Setter + public Builder items(Map items) { + this.items = Objects.requireNonNull(items); + return this; + } + @CustomType.Setter + public Builder namespace(@Nullable String namespace) { + this.namespace = namespace; + return this; + } + @CustomType.Setter + public Builder path(String path) { + this.path = Objects.requireNonNull(path); + return this; + } + public GetVariableResult build() { + final var o = new GetVariableResult(); + o.id = id; + o.items = items; + o.namespace = namespace; + o.path = path; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/JobHcl2.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/JobHcl2.java index 8f260e0d..0fc71380 100644 --- a/sdk/java/src/main/java/com/pulumi/nomad/outputs/JobHcl2.java +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/JobHcl2.java @@ -21,10 +21,14 @@ public final class JobHcl2 { */ private @Nullable Boolean allowFs; /** - * @return `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * @return `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ private @Nullable Boolean enabled; private @Nullable Map vars; @@ -38,10 +42,14 @@ public Optional allowFs() { return Optional.ofNullable(this.allowFs); } /** - * @return `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * @return `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated + * Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. * */ + @Deprecated /* Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ public Optional enabled() { return Optional.ofNullable(this.enabled); } diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/NamespaceNodePoolConfig.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/NamespaceNodePoolConfig.java new file mode 100644 index 00000000..621ee1dd --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/NamespaceNodePoolConfig.java @@ -0,0 +1,103 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NamespaceNodePoolConfig { + /** + * @return `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + */ + private @Nullable List alloweds; + /** + * @return `(string: <optional>)` - The default node pool for jobs that don't define one. + * + */ + private @Nullable String default_; + /** + * @return `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + */ + private @Nullable List denieds; + + private NamespaceNodePoolConfig() {} + /** + * @return `([]string: <optional>)` - The list of node pools that are allowed to be used in this namespace. + * + */ + public List alloweds() { + return this.alloweds == null ? List.of() : this.alloweds; + } + /** + * @return `(string: <optional>)` - The default node pool for jobs that don't define one. + * + */ + public Optional default_() { + return Optional.ofNullable(this.default_); + } + /** + * @return `([]string: <optional>)` - The list of node pools that are not allowed to be used in this namespace. + * + */ + public List denieds() { + return this.denieds == null ? List.of() : this.denieds; + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NamespaceNodePoolConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable List alloweds; + private @Nullable String default_; + private @Nullable List denieds; + public Builder() {} + public Builder(NamespaceNodePoolConfig defaults) { + Objects.requireNonNull(defaults); + this.alloweds = defaults.alloweds; + this.default_ = defaults.default_; + this.denieds = defaults.denieds; + } + + @CustomType.Setter + public Builder alloweds(@Nullable List alloweds) { + this.alloweds = alloweds; + return this; + } + public Builder alloweds(String... alloweds) { + return alloweds(List.of(alloweds)); + } + @CustomType.Setter("default") + public Builder default_(@Nullable String default_) { + this.default_ = default_; + return this; + } + @CustomType.Setter + public Builder denieds(@Nullable List denieds) { + this.denieds = denieds; + return this; + } + public Builder denieds(String... denieds) { + return denieds(List.of(denieds)); + } + public NamespaceNodePoolConfig build() { + final var o = new NamespaceNodePoolConfig(); + o.alloweds = alloweds; + o.default_ = default_; + o.denieds = denieds; + return o; + } + } +} diff --git a/sdk/java/src/main/java/com/pulumi/nomad/outputs/NodePoolSchedulerConfig.java b/sdk/java/src/main/java/com/pulumi/nomad/outputs/NodePoolSchedulerConfig.java new file mode 100644 index 00000000..4200d7b0 --- /dev/null +++ b/sdk/java/src/main/java/com/pulumi/nomad/outputs/NodePoolSchedulerConfig.java @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-java-gen. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +package com.pulumi.nomad.outputs; + +import com.pulumi.core.annotations.CustomType; +import java.lang.String; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nullable; + +@CustomType +public final class NodePoolSchedulerConfig { + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + */ + private @Nullable String memoryOversubscription; + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + */ + private @Nullable String schedulerAlgorithm; + + private NodePoolSchedulerConfig() {} + /** + * @return `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + * + */ + public Optional memoryOversubscription() { + return Optional.ofNullable(this.memoryOversubscription); + } + /** + * @return `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + * + */ + public Optional schedulerAlgorithm() { + return Optional.ofNullable(this.schedulerAlgorithm); + } + + public static Builder builder() { + return new Builder(); + } + + public static Builder builder(NodePoolSchedulerConfig defaults) { + return new Builder(defaults); + } + @CustomType.Builder + public static final class Builder { + private @Nullable String memoryOversubscription; + private @Nullable String schedulerAlgorithm; + public Builder() {} + public Builder(NodePoolSchedulerConfig defaults) { + Objects.requireNonNull(defaults); + this.memoryOversubscription = defaults.memoryOversubscription; + this.schedulerAlgorithm = defaults.schedulerAlgorithm; + } + + @CustomType.Setter + public Builder memoryOversubscription(@Nullable String memoryOversubscription) { + this.memoryOversubscription = memoryOversubscription; + return this; + } + @CustomType.Setter + public Builder schedulerAlgorithm(@Nullable String schedulerAlgorithm) { + this.schedulerAlgorithm = schedulerAlgorithm; + return this; + } + public NodePoolSchedulerConfig build() { + final var o = new NodePoolSchedulerConfig(); + o.memoryOversubscription = memoryOversubscription; + o.schedulerAlgorithm = schedulerAlgorithm; + return o; + } + } +} diff --git a/sdk/nodejs/aclBindingRule.ts b/sdk/nodejs/aclBindingRule.ts index 141eb7c4..4613790c 100644 --- a/sdk/nodejs/aclBindingRule.ts +++ b/sdk/nodejs/aclBindingRule.ts @@ -38,9 +38,11 @@ export class AclBindingRule extends pulumi.CustomResource { */ public readonly authMethod!: pulumi.Output; /** - * `(string: "")` - Target of the binding. + * `(string: )` - Target of the binding. If `bindType` is + * `role` or `policy` then `bindName` is required. If `bindType` is + * `management` than `bindName` must not be defined. */ - public readonly bindName!: pulumi.Output; + public readonly bindName!: pulumi.Output; /** * `(string: )` - Adjusts how this binding rule is applied * at login time. Valid values are `role`, `policy`, and `management`. @@ -79,9 +81,6 @@ export class AclBindingRule extends pulumi.CustomResource { if ((!args || args.authMethod === undefined) && !opts.urn) { throw new Error("Missing required property 'authMethod'"); } - if ((!args || args.bindName === undefined) && !opts.urn) { - throw new Error("Missing required property 'bindName'"); - } if ((!args || args.bindType === undefined) && !opts.urn) { throw new Error("Missing required property 'bindType'"); } @@ -106,7 +105,9 @@ export interface AclBindingRuleState { */ authMethod?: pulumi.Input; /** - * `(string: "")` - Target of the binding. + * `(string: )` - Target of the binding. If `bindType` is + * `role` or `policy` then `bindName` is required. If `bindType` is + * `management` than `bindName` must not be defined. */ bindName?: pulumi.Input; /** @@ -135,9 +136,11 @@ export interface AclBindingRuleArgs { */ authMethod: pulumi.Input; /** - * `(string: "")` - Target of the binding. + * `(string: )` - Target of the binding. If `bindType` is + * `role` or `policy` then `bindName` is required. If `bindType` is + * `management` than `bindName` must not be defined. */ - bindName: pulumi.Input; + bindName?: pulumi.Input; /** * `(string: )` - Adjusts how this binding rule is applied * at login time. Valid values are `role`, `policy`, and `management`. diff --git a/sdk/nodejs/aclPolicy.ts b/sdk/nodejs/aclPolicy.ts index 9f0d3ebe..02ac6567 100644 --- a/sdk/nodejs/aclPolicy.ts +++ b/sdk/nodejs/aclPolicy.ts @@ -2,6 +2,8 @@ // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** @@ -70,6 +72,10 @@ export class AclPolicy extends pulumi.CustomResource { * `(string: "")` - A description of the policy. */ public readonly description!: pulumi.Output; + /** + * `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + */ + public readonly jobAcl!: pulumi.Output; /** * `(string: )` - A unique name for the policy. */ @@ -94,6 +100,7 @@ export class AclPolicy extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as AclPolicyState | undefined; resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["jobAcl"] = state ? state.jobAcl : undefined; resourceInputs["name"] = state ? state.name : undefined; resourceInputs["rulesHcl"] = state ? state.rulesHcl : undefined; } else { @@ -102,6 +109,7 @@ export class AclPolicy extends pulumi.CustomResource { throw new Error("Missing required property 'rulesHcl'"); } resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["jobAcl"] = args ? args.jobAcl : undefined; resourceInputs["name"] = args ? args.name : undefined; resourceInputs["rulesHcl"] = args ? args.rulesHcl : undefined; } @@ -118,6 +126,10 @@ export interface AclPolicyState { * `(string: "")` - A description of the policy. */ description?: pulumi.Input; + /** + * `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + */ + jobAcl?: pulumi.Input; /** * `(string: )` - A unique name for the policy. */ @@ -137,6 +149,10 @@ export interface AclPolicyArgs { * `(string: "")` - A description of the policy. */ description?: pulumi.Input; + /** + * `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + */ + jobAcl?: pulumi.Input; /** * `(string: )` - A unique name for the policy. */ diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 6012e8f9..81d85b83 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -152,6 +152,17 @@ Object.defineProperty(exports, "secretId", { enumerable: true, }); +/** + * Skip TLS verification on client side. + */ +export declare const skipVerify: boolean | undefined; +Object.defineProperty(exports, "skipVerify", { + get() { + return __config.getObject("skipVerify"); + }, + enumerable: true, +}); + /** * Vault token if policies are specified in the job file. */ diff --git a/sdk/nodejs/csiVolume.ts b/sdk/nodejs/csiVolume.ts new file mode 100644 index 00000000..08c1b641 --- /dev/null +++ b/sdk/nodejs/csiVolume.ts @@ -0,0 +1,399 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * Creating a volume: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const ebs = nomad.getPlugin({ + * pluginId: "aws-ebs0", + * waitForHealthy: true, + * }); + * const mysqlVolume = new nomad.CsiVolume("mysqlVolume", { + * pluginId: "aws-ebs0", + * volumeId: "mysql_volume", + * capacityMin: "10GiB", + * capacityMax: "20GiB", + * capabilities: [{ + * accessMode: "single-node-writer", + * attachmentMode: "file-system", + * }], + * mountOptions: { + * fsType: "ext4", + * }, + * topologyRequest: { + * required: { + * topologies: [ + * { + * segments: { + * rack: "R1", + * zone: "us-east-1a", + * }, + * }, + * { + * segments: { + * rack: "R2", + * }, + * }, + * ], + * }, + * }, + * }, { + * dependsOn: [ebs], + * }); + * ``` + */ +export class CsiVolume extends pulumi.CustomResource { + /** + * Get an existing CsiVolume resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CsiVolumeState, opts?: pulumi.CustomResourceOptions): CsiVolume { + return new CsiVolume(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nomad:index/csiVolume:CsiVolume'; + + /** + * Returns true if the given object is an instance of CsiVolume. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CsiVolume { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CsiVolume.__pulumiType; + } + + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + public readonly capabilities!: pulumi.Output; + /** + * `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + */ + public readonly capacityMax!: pulumi.Output; + /** + * `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + */ + public readonly capacityMin!: pulumi.Output; + /** + * `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + */ + public readonly cloneId!: pulumi.Output; + /** + * `(boolean)` + */ + public /*out*/ readonly controllerRequired!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly controllersExpected!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly controllersHealthy!: pulumi.Output; + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + public readonly mountOptions!: pulumi.Output; + /** + * `(string: )` - The display name for the volume. + */ + public readonly name!: pulumi.Output; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + public readonly namespace!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly nodesExpected!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly nodesHealthy!: pulumi.Output; + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + public readonly parameters!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + public readonly pluginId!: pulumi.Output; + /** + * `(string)` + */ + public /*out*/ readonly pluginProvider!: pulumi.Output; + /** + * `(string)` + */ + public /*out*/ readonly pluginProviderVersion!: pulumi.Output; + /** + * `(boolean)` + */ + public /*out*/ readonly schedulable!: pulumi.Output; + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + public readonly secrets!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + */ + public readonly snapshotId!: pulumi.Output; + /** + * `(List of topologies)` + */ + public /*out*/ readonly topologies!: pulumi.Output; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + public readonly topologyRequest!: pulumi.Output; + /** + * `(string: )` - The unique ID of the volume. + */ + public readonly volumeId!: pulumi.Output; + + /** + * Create a CsiVolume resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: CsiVolumeArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CsiVolumeArgs | CsiVolumeState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CsiVolumeState | undefined; + resourceInputs["capabilities"] = state ? state.capabilities : undefined; + resourceInputs["capacityMax"] = state ? state.capacityMax : undefined; + resourceInputs["capacityMin"] = state ? state.capacityMin : undefined; + resourceInputs["cloneId"] = state ? state.cloneId : undefined; + resourceInputs["controllerRequired"] = state ? state.controllerRequired : undefined; + resourceInputs["controllersExpected"] = state ? state.controllersExpected : undefined; + resourceInputs["controllersHealthy"] = state ? state.controllersHealthy : undefined; + resourceInputs["mountOptions"] = state ? state.mountOptions : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["nodesExpected"] = state ? state.nodesExpected : undefined; + resourceInputs["nodesHealthy"] = state ? state.nodesHealthy : undefined; + resourceInputs["parameters"] = state ? state.parameters : undefined; + resourceInputs["pluginId"] = state ? state.pluginId : undefined; + resourceInputs["pluginProvider"] = state ? state.pluginProvider : undefined; + resourceInputs["pluginProviderVersion"] = state ? state.pluginProviderVersion : undefined; + resourceInputs["schedulable"] = state ? state.schedulable : undefined; + resourceInputs["secrets"] = state ? state.secrets : undefined; + resourceInputs["snapshotId"] = state ? state.snapshotId : undefined; + resourceInputs["topologies"] = state ? state.topologies : undefined; + resourceInputs["topologyRequest"] = state ? state.topologyRequest : undefined; + resourceInputs["volumeId"] = state ? state.volumeId : undefined; + } else { + const args = argsOrState as CsiVolumeArgs | undefined; + if ((!args || args.capabilities === undefined) && !opts.urn) { + throw new Error("Missing required property 'capabilities'"); + } + if ((!args || args.pluginId === undefined) && !opts.urn) { + throw new Error("Missing required property 'pluginId'"); + } + if ((!args || args.volumeId === undefined) && !opts.urn) { + throw new Error("Missing required property 'volumeId'"); + } + resourceInputs["capabilities"] = args ? args.capabilities : undefined; + resourceInputs["capacityMax"] = args ? args.capacityMax : undefined; + resourceInputs["capacityMin"] = args ? args.capacityMin : undefined; + resourceInputs["cloneId"] = args ? args.cloneId : undefined; + resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["parameters"] = args ? args.parameters : undefined; + resourceInputs["pluginId"] = args ? args.pluginId : undefined; + resourceInputs["secrets"] = args?.secrets ? pulumi.secret(args.secrets) : undefined; + resourceInputs["snapshotId"] = args ? args.snapshotId : undefined; + resourceInputs["topologyRequest"] = args ? args.topologyRequest : undefined; + resourceInputs["volumeId"] = args ? args.volumeId : undefined; + resourceInputs["controllerRequired"] = undefined /*out*/; + resourceInputs["controllersExpected"] = undefined /*out*/; + resourceInputs["controllersHealthy"] = undefined /*out*/; + resourceInputs["nodesExpected"] = undefined /*out*/; + resourceInputs["nodesHealthy"] = undefined /*out*/; + resourceInputs["pluginProvider"] = undefined /*out*/; + resourceInputs["pluginProviderVersion"] = undefined /*out*/; + resourceInputs["schedulable"] = undefined /*out*/; + resourceInputs["topologies"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["secrets"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(CsiVolume.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CsiVolume resources. + */ +export interface CsiVolumeState { + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + capabilities?: pulumi.Input[]>; + /** + * `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + */ + capacityMax?: pulumi.Input; + /** + * `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + */ + capacityMin?: pulumi.Input; + /** + * `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + */ + cloneId?: pulumi.Input; + /** + * `(boolean)` + */ + controllerRequired?: pulumi.Input; + /** + * `(integer)` + */ + controllersExpected?: pulumi.Input; + /** + * `(integer)` + */ + controllersHealthy?: pulumi.Input; + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + mountOptions?: pulumi.Input; + /** + * `(string: )` - The display name for the volume. + */ + name?: pulumi.Input; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + namespace?: pulumi.Input; + /** + * `(integer)` + */ + nodesExpected?: pulumi.Input; + /** + * `(integer)` + */ + nodesHealthy?: pulumi.Input; + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + pluginId?: pulumi.Input; + /** + * `(string)` + */ + pluginProvider?: pulumi.Input; + /** + * `(string)` + */ + pluginProviderVersion?: pulumi.Input; + /** + * `(boolean)` + */ + schedulable?: pulumi.Input; + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + secrets?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + */ + snapshotId?: pulumi.Input; + /** + * `(List of topologies)` + */ + topologies?: pulumi.Input[]>; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + topologyRequest?: pulumi.Input; + /** + * `(string: )` - The unique ID of the volume. + */ + volumeId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CsiVolume resource. + */ +export interface CsiVolumeArgs { + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + capabilities: pulumi.Input[]>; + /** + * `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + */ + capacityMax?: pulumi.Input; + /** + * `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + */ + capacityMin?: pulumi.Input; + /** + * `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshotId`. + */ + cloneId?: pulumi.Input; + /** + * `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + mountOptions?: pulumi.Input; + /** + * `(string: )` - The display name for the volume. + */ + name?: pulumi.Input; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + namespace?: pulumi.Input; + /** + * `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + pluginId: pulumi.Input; + /** + * `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + secrets?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `cloneId`. + */ + snapshotId?: pulumi.Input; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + topologyRequest?: pulumi.Input; + /** + * `(string: )` - The unique ID of the volume. + */ + volumeId: pulumi.Input; +} diff --git a/sdk/nodejs/csiVolumeRegistration.ts b/sdk/nodejs/csiVolumeRegistration.ts new file mode 100644 index 00000000..bc1892ca --- /dev/null +++ b/sdk/nodejs/csiVolumeRegistration.ts @@ -0,0 +1,384 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * Registering a volume: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const ebs = nomad.getPlugin({ + * pluginId: "aws-ebs0", + * waitForHealthy: true, + * }); + * const mysqlVolume = new nomad.Volume("mysqlVolume", { + * pluginId: "aws-ebs0", + * volumeId: "mysql_volume", + * externalId: module.hashistack.ebs_test_volume_id, + * capabilities: [{ + * accessMode: "single-node-writer", + * attachmentMode: "file-system", + * }], + * mountOptions: { + * fsType: "ext4", + * }, + * topologyRequest: { + * required: { + * topologies: [ + * { + * segments: { + * rack: "R1", + * zone: "us-east-1a", + * }, + * }, + * { + * segments: { + * rack: "R2", + * }, + * }, + * ], + * }, + * }, + * }, { + * dependsOn: [ebs], + * }); + * ``` + */ +export class CsiVolumeRegistration extends pulumi.CustomResource { + /** + * Get an existing CsiVolumeRegistration resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: CsiVolumeRegistrationState, opts?: pulumi.CustomResourceOptions): CsiVolumeRegistration { + return new CsiVolumeRegistration(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nomad:index/csiVolumeRegistration:CsiVolumeRegistration'; + + /** + * Returns true if the given object is an instance of CsiVolumeRegistration. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is CsiVolumeRegistration { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === CsiVolumeRegistration.__pulumiType; + } + + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + public readonly capabilities!: pulumi.Output; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + */ + public readonly context!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(boolean)` + */ + public /*out*/ readonly controllerRequired!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly controllersExpected!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly controllersHealthy!: pulumi.Output; + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + */ + public readonly deregisterOnDestroy!: pulumi.Output; + /** + * `(string: )` - The ID of the physical volume from the storage provider. + */ + public readonly externalId!: pulumi.Output; + /** + * `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + public readonly mountOptions!: pulumi.Output; + /** + * `(string: )` - The display name for the volume. + */ + public readonly name!: pulumi.Output; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + public readonly namespace!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly nodesExpected!: pulumi.Output; + /** + * `(integer)` + */ + public /*out*/ readonly nodesHealthy!: pulumi.Output; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + public readonly parameters!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + public readonly pluginId!: pulumi.Output; + /** + * `(string)` + */ + public /*out*/ readonly pluginProvider!: pulumi.Output; + /** + * `(string)` + */ + public /*out*/ readonly pluginProviderVersion!: pulumi.Output; + /** + * `(boolean)` + */ + public /*out*/ readonly schedulable!: pulumi.Output; + /** + * `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + public readonly secrets!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(List of topologies)` + */ + public /*out*/ readonly topologies!: pulumi.Output; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + public readonly topologyRequest!: pulumi.Output; + /** + * `(string: )` - The unique ID of the volume. + */ + public readonly volumeId!: pulumi.Output; + + /** + * Create a CsiVolumeRegistration resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: CsiVolumeRegistrationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: CsiVolumeRegistrationArgs | CsiVolumeRegistrationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as CsiVolumeRegistrationState | undefined; + resourceInputs["capabilities"] = state ? state.capabilities : undefined; + resourceInputs["context"] = state ? state.context : undefined; + resourceInputs["controllerRequired"] = state ? state.controllerRequired : undefined; + resourceInputs["controllersExpected"] = state ? state.controllersExpected : undefined; + resourceInputs["controllersHealthy"] = state ? state.controllersHealthy : undefined; + resourceInputs["deregisterOnDestroy"] = state ? state.deregisterOnDestroy : undefined; + resourceInputs["externalId"] = state ? state.externalId : undefined; + resourceInputs["mountOptions"] = state ? state.mountOptions : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["nodesExpected"] = state ? state.nodesExpected : undefined; + resourceInputs["nodesHealthy"] = state ? state.nodesHealthy : undefined; + resourceInputs["parameters"] = state ? state.parameters : undefined; + resourceInputs["pluginId"] = state ? state.pluginId : undefined; + resourceInputs["pluginProvider"] = state ? state.pluginProvider : undefined; + resourceInputs["pluginProviderVersion"] = state ? state.pluginProviderVersion : undefined; + resourceInputs["schedulable"] = state ? state.schedulable : undefined; + resourceInputs["secrets"] = state ? state.secrets : undefined; + resourceInputs["topologies"] = state ? state.topologies : undefined; + resourceInputs["topologyRequest"] = state ? state.topologyRequest : undefined; + resourceInputs["volumeId"] = state ? state.volumeId : undefined; + } else { + const args = argsOrState as CsiVolumeRegistrationArgs | undefined; + if ((!args || args.externalId === undefined) && !opts.urn) { + throw new Error("Missing required property 'externalId'"); + } + if ((!args || args.pluginId === undefined) && !opts.urn) { + throw new Error("Missing required property 'pluginId'"); + } + if ((!args || args.volumeId === undefined) && !opts.urn) { + throw new Error("Missing required property 'volumeId'"); + } + resourceInputs["capabilities"] = args ? args.capabilities : undefined; + resourceInputs["context"] = args ? args.context : undefined; + resourceInputs["deregisterOnDestroy"] = args ? args.deregisterOnDestroy : undefined; + resourceInputs["externalId"] = args ? args.externalId : undefined; + resourceInputs["mountOptions"] = args ? args.mountOptions : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["parameters"] = args ? args.parameters : undefined; + resourceInputs["pluginId"] = args ? args.pluginId : undefined; + resourceInputs["secrets"] = args?.secrets ? pulumi.secret(args.secrets) : undefined; + resourceInputs["topologyRequest"] = args ? args.topologyRequest : undefined; + resourceInputs["volumeId"] = args ? args.volumeId : undefined; + resourceInputs["controllerRequired"] = undefined /*out*/; + resourceInputs["controllersExpected"] = undefined /*out*/; + resourceInputs["controllersHealthy"] = undefined /*out*/; + resourceInputs["nodesExpected"] = undefined /*out*/; + resourceInputs["nodesHealthy"] = undefined /*out*/; + resourceInputs["pluginProvider"] = undefined /*out*/; + resourceInputs["pluginProviderVersion"] = undefined /*out*/; + resourceInputs["schedulable"] = undefined /*out*/; + resourceInputs["topologies"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["secrets"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(CsiVolumeRegistration.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering CsiVolumeRegistration resources. + */ +export interface CsiVolumeRegistrationState { + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + capabilities?: pulumi.Input[]>; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + */ + context?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(boolean)` + */ + controllerRequired?: pulumi.Input; + /** + * `(integer)` + */ + controllersExpected?: pulumi.Input; + /** + * `(integer)` + */ + controllersHealthy?: pulumi.Input; + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + */ + deregisterOnDestroy?: pulumi.Input; + /** + * `(string: )` - The ID of the physical volume from the storage provider. + */ + externalId?: pulumi.Input; + /** + * `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + mountOptions?: pulumi.Input; + /** + * `(string: )` - The display name for the volume. + */ + name?: pulumi.Input; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + namespace?: pulumi.Input; + /** + * `(integer)` + */ + nodesExpected?: pulumi.Input; + /** + * `(integer)` + */ + nodesHealthy?: pulumi.Input; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + pluginId?: pulumi.Input; + /** + * `(string)` + */ + pluginProvider?: pulumi.Input; + /** + * `(string)` + */ + pluginProviderVersion?: pulumi.Input; + /** + * `(boolean)` + */ + schedulable?: pulumi.Input; + /** + * `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + secrets?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(List of topologies)` + */ + topologies?: pulumi.Input[]>; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + topologyRequest?: pulumi.Input; + /** + * `(string: )` - The unique ID of the volume. + */ + volumeId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a CsiVolumeRegistration resource. + */ +export interface CsiVolumeRegistrationArgs { + /** + * `(``Capability``: )` - Options for validating the capability of a volume. + */ + capabilities?: pulumi.Input[]>; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + */ + context?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(boolean: false)` - If true, the volume will be deregistered on destroy. + */ + deregisterOnDestroy?: pulumi.Input; + /** + * `(string: )` - The ID of the physical volume from the storage provider. + */ + externalId: pulumi.Input; + /** + * `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + */ + mountOptions?: pulumi.Input; + /** + * `(string: )` - The display name for the volume. + */ + name?: pulumi.Input; + /** + * `(string: "default")` - The namespace in which to register the volume. + */ + namespace?: pulumi.Input; + /** + * `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + */ + parameters?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string: )` - The ID of the Nomad plugin for registering this volume. + */ + pluginId: pulumi.Input; + /** + * `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + */ + secrets?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + */ + topologyRequest?: pulumi.Input; + /** + * `(string: )` - The unique ID of the volume. + */ + volumeId: pulumi.Input; +} diff --git a/sdk/nodejs/getAllocations.ts b/sdk/nodejs/getAllocations.ts new file mode 100644 index 00000000..41763998 --- /dev/null +++ b/sdk/nodejs/getAllocations.ts @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = nomad.getAllocations({ + * filter: "JobID == \"example\"", + * }); + * ``` + */ +export function getAllocations(args?: GetAllocationsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("nomad:index/getAllocations:getAllocations", { + "filter": args.filter, + "prefix": args.prefix, + }, opts); +} + +/** + * A collection of arguments for invoking getAllocations. + */ +export interface GetAllocationsArgs { + /** + * `(string: )` - Specifies the + * [expression][nomadApiFilter] used to filter the results. + */ + filter?: string; + /** + * `(string: )` - Specifies a string to filter allocations + * based on an ID prefix. + */ + prefix?: string; +} + +/** + * A collection of values returned by getAllocations. + */ +export interface GetAllocationsResult { + /** + * `(list of allocations)` - A list of allocations matching the + * search criteria. + */ + readonly allocations: outputs.GetAllocationsAllocation[]; + readonly filter?: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + readonly prefix?: string; +} +/** + * Retrieve a list of allocations from Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = nomad.getAllocations({ + * filter: "JobID == \"example\"", + * }); + * ``` + */ +export function getAllocationsOutput(args?: GetAllocationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getAllocations(a, opts)) +} + +/** + * A collection of arguments for invoking getAllocations. + */ +export interface GetAllocationsOutputArgs { + /** + * `(string: )` - Specifies the + * [expression][nomadApiFilter] used to filter the results. + */ + filter?: pulumi.Input; + /** + * `(string: )` - Specifies a string to filter allocations + * based on an ID prefix. + */ + prefix?: pulumi.Input; +} diff --git a/sdk/nodejs/getDeployments.ts b/sdk/nodejs/getDeployments.ts index 9a6b2bef..3e4dc08a 100644 --- a/sdk/nodejs/getDeployments.ts +++ b/sdk/nodejs/getDeployments.ts @@ -36,3 +36,18 @@ export interface GetDeploymentsResult { */ readonly id: string; } +/** + * Retrieve a list of deployments in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = nomad.getDeployments({}); + * ``` + */ +export function getDeploymentsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(getDeployments(opts)) +} diff --git a/sdk/nodejs/getNamespace.ts b/sdk/nodejs/getNamespace.ts index 7d98fc76..c6a348bb 100644 --- a/sdk/nodejs/getNamespace.ts +++ b/sdk/nodejs/getNamespace.ts @@ -59,6 +59,7 @@ export interface GetNamespaceResult { */ readonly meta: {[key: string]: string}; readonly name: string; + readonly nodePoolConfigs: outputs.GetNamespaceNodePoolConfig[]; /** * `(string)` - The quota associated with the namespace. */ diff --git a/sdk/nodejs/getNamespaces.ts b/sdk/nodejs/getNamespaces.ts index 23a89742..eaf285c0 100644 --- a/sdk/nodejs/getNamespaces.ts +++ b/sdk/nodejs/getNamespaces.ts @@ -6,6 +6,27 @@ import * as utilities from "./utilities"; /** * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * export = async () => { + * const namespaces = await nomad.getNamespaces({}); + * const namespace: nomad.AclPolicy[] = []; + * for (const range = {value: 0}; range.value < namespaces.namespaces.length; range.value++) { + * namespace.push(new nomad.AclPolicy(`namespace-${range.value}`, { + * description: `Write to the namespace ${namespaces[range.value]}`, + * rulesHcl: `namespace "${namespaces[range.value]}" { + * policy = "write" + * } + * `, + * })); + * } + * } + * ``` */ export function getNamespaces(opts?: pulumi.InvokeOptions): Promise { @@ -27,3 +48,30 @@ export interface GetNamespacesResult { */ readonly namespaces: string[]; } +/** + * Retrieve a list of namespaces available in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * export = async () => { + * const namespaces = await nomad.getNamespaces({}); + * const namespace: nomad.AclPolicy[] = []; + * for (const range = {value: 0}; range.value < namespaces.namespaces.length; range.value++) { + * namespace.push(new nomad.AclPolicy(`namespace-${range.value}`, { + * description: `Write to the namespace ${namespaces[range.value]}`, + * rulesHcl: `namespace "${namespaces[range.value]}" { + * policy = "write" + * } + * `, + * })); + * } + * } + * ``` + */ +export function getNamespacesOutput(opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(getNamespaces(opts)) +} diff --git a/sdk/nodejs/getNodePool.ts b/sdk/nodejs/getNodePool.ts new file mode 100644 index 00000000..d9e72961 --- /dev/null +++ b/sdk/nodejs/getNodePool.ts @@ -0,0 +1,90 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Get information about a node pool in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const dev = nomad.getNodePool({ + * name: "dev", + * }); + * ``` + */ +export function getNodePool(args: GetNodePoolArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("nomad:index/getNodePool:getNodePool", { + "name": args.name, + }, opts); +} + +/** + * A collection of arguments for invoking getNodePool. + */ +export interface GetNodePoolArgs { + /** + * `(string)` - The name of the node pool to fetch. + */ + name: string; +} + +/** + * A collection of values returned by getNodePool. + */ +export interface GetNodePoolResult { + /** + * `(string)` - The description of the node pool. + */ + readonly description: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + */ + readonly meta: {[key: string]: string}; + readonly name: string; + /** + * `(block)` - Scheduler configuration for the node pool. + */ + readonly schedulerConfigs: outputs.GetNodePoolSchedulerConfig[]; +} +/** + * Get information about a node pool in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const dev = nomad.getNodePool({ + * name: "dev", + * }); + * ``` + */ +export function getNodePoolOutput(args: GetNodePoolOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNodePool(a, opts)) +} + +/** + * A collection of arguments for invoking getNodePool. + */ +export interface GetNodePoolOutputArgs { + /** + * `(string)` - The name of the node pool to fetch. + */ + name: pulumi.Input; +} diff --git a/sdk/nodejs/getNodePools.ts b/sdk/nodejs/getNodePools.ts new file mode 100644 index 00000000..2010395b --- /dev/null +++ b/sdk/nodejs/getNodePools.ts @@ -0,0 +1,97 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Retrieve a list of node pools available in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const prod = nomad.getNodePools({ + * filter: "Meta.env == \"prod\"", + * }); + * ``` + */ +export function getNodePools(args?: GetNodePoolsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("nomad:index/getNodePools:getNodePools", { + "filter": args.filter, + "prefix": args.prefix, + }, opts); +} + +/** + * A collection of arguments for invoking getNodePools. + */ +export interface GetNodePoolsArgs { + /** + * `(string)` - Specifies the [expression][nomadApiFilter] used to + * filter the results. + */ + filter?: string; + /** + * `(string)` - Specifies a string to filter node pools based on a name + * prefix. + */ + prefix?: string; +} + +/** + * A collection of values returned by getNodePools. + */ +export interface GetNodePoolsResult { + readonly filter?: string; + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * `(list of node pools)` - A list of node pools matching the + * search criteria. + */ + readonly nodePools: outputs.GetNodePoolsNodePool[]; + readonly prefix?: string; +} +/** + * Retrieve a list of node pools available in Nomad. + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const prod = nomad.getNodePools({ + * filter: "Meta.env == \"prod\"", + * }); + * ``` + */ +export function getNodePoolsOutput(args?: GetNodePoolsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getNodePools(a, opts)) +} + +/** + * A collection of arguments for invoking getNodePools. + */ +export interface GetNodePoolsOutputArgs { + /** + * `(string)` - Specifies the [expression][nomadApiFilter] used to + * filter the results. + */ + filter?: pulumi.Input; + /** + * `(string)` - Specifies a string to filter node pools based on a name + * prefix. + */ + prefix?: pulumi.Input; +} diff --git a/sdk/nodejs/getRegions.ts b/sdk/nodejs/getRegions.ts index d9ff087c..e720efb3 100644 --- a/sdk/nodejs/getRegions.ts +++ b/sdk/nodejs/getRegions.ts @@ -27,3 +27,9 @@ export interface GetRegionsResult { */ readonly regions: string[]; } +/** + * Retrieve a list of regions available in Nomad. + */ +export function getRegionsOutput(opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(getRegions(opts)) +} diff --git a/sdk/nodejs/getSchedulerPolicy.ts b/sdk/nodejs/getSchedulerPolicy.ts index 0715df3a..ca3db2d8 100644 --- a/sdk/nodejs/getSchedulerPolicy.ts +++ b/sdk/nodejs/getSchedulerPolicy.ts @@ -44,3 +44,18 @@ export interface GetSchedulerPolicyResult { */ readonly schedulerAlgorithm: string; } +/** + * Retrieve the cluster's [scheduler configuration](https://www.nomadproject.io/api-docs/operator#sample-response-3). + * + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const global = nomad.getSchedulerPolicy({}); + * ``` + */ +export function getSchedulerPolicyOutput(opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(getSchedulerPolicy(opts)) +} diff --git a/sdk/nodejs/getVariable.ts b/sdk/nodejs/getVariable.ts new file mode 100644 index 00000000..9fca7a8d --- /dev/null +++ b/sdk/nodejs/getVariable.ts @@ -0,0 +1,87 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = new nomad.Variable("example", {path: "path/of/existing/variable"}); + * ``` + */ +export function getVariable(args: GetVariableArgs, opts?: pulumi.InvokeOptions): Promise { + + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("nomad:index/getVariable:getVariable", { + "namespace": args.namespace, + "path": args.path, + }, opts); +} + +/** + * A collection of arguments for invoking getVariable. + */ +export interface GetVariableArgs { + /** + * `(string: "default")` - The namepsace in which the variable exists. + */ + namespace?: string; + /** + * `(string)` - Path to the existing variable. + */ + path: string; +} + +/** + * A collection of values returned by getVariable. + */ +export interface GetVariableResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * `(map[string]string)` - Map of items in the variable. + */ + readonly items: {[key: string]: any}; + /** + * `(string)` - The namespace in which the variable exists. + */ + readonly namespace?: string; + /** + * `(string)` - The path at which the variable exists. + */ + readonly path: string; +} +/** + * ## Example Usage + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = new nomad.Variable("example", {path: "path/of/existing/variable"}); + * ``` + */ +export function getVariableOutput(args: GetVariableOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output { + return pulumi.output(args).apply((a: any) => getVariable(a, opts)) +} + +/** + * A collection of arguments for invoking getVariable. + */ +export interface GetVariableOutputArgs { + /** + * `(string: "default")` - The namepsace in which the variable exists. + */ + namespace?: pulumi.Input; + /** + * `(string)` - Path to the existing variable. + */ + path: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 229d4060..2b28deef 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -30,6 +30,16 @@ export type AclToken = import("./aclToken").AclToken; export const AclToken: typeof import("./aclToken").AclToken = null as any; utilities.lazyLoad(exports, ["AclToken"], () => require("./aclToken")); +export { CsiVolumeArgs, CsiVolumeState } from "./csiVolume"; +export type CsiVolume = import("./csiVolume").CsiVolume; +export const CsiVolume: typeof import("./csiVolume").CsiVolume = null as any; +utilities.lazyLoad(exports, ["CsiVolume"], () => require("./csiVolume")); + +export { CsiVolumeRegistrationArgs, CsiVolumeRegistrationState } from "./csiVolumeRegistration"; +export type CsiVolumeRegistration = import("./csiVolumeRegistration").CsiVolumeRegistration; +export const CsiVolumeRegistration: typeof import("./csiVolumeRegistration").CsiVolumeRegistration = null as any; +utilities.lazyLoad(exports, ["CsiVolumeRegistration"], () => require("./csiVolumeRegistration")); + export { ExternalVolumeArgs, ExternalVolumeState } from "./externalVolume"; export type ExternalVolume = import("./externalVolume").ExternalVolume; export const ExternalVolume: typeof import("./externalVolume").ExternalVolume = null as any; @@ -65,6 +75,11 @@ export const getAclTokens: typeof import("./getAclTokens").getAclTokens = null a export const getAclTokensOutput: typeof import("./getAclTokens").getAclTokensOutput = null as any; utilities.lazyLoad(exports, ["getAclTokens","getAclTokensOutput"], () => require("./getAclTokens")); +export { GetAllocationsArgs, GetAllocationsResult, GetAllocationsOutputArgs } from "./getAllocations"; +export const getAllocations: typeof import("./getAllocations").getAllocations = null as any; +export const getAllocationsOutput: typeof import("./getAllocations").getAllocationsOutput = null as any; +utilities.lazyLoad(exports, ["getAllocations","getAllocationsOutput"], () => require("./getAllocations")); + export { GetDatacentersArgs, GetDatacentersResult, GetDatacentersOutputArgs } from "./getDatacenters"; export const getDatacenters: typeof import("./getDatacenters").getDatacenters = null as any; export const getDatacentersOutput: typeof import("./getDatacenters").getDatacentersOutput = null as any; @@ -72,7 +87,8 @@ utilities.lazyLoad(exports, ["getDatacenters","getDatacentersOutput"], () => req export { GetDeploymentsResult } from "./getDeployments"; export const getDeployments: typeof import("./getDeployments").getDeployments = null as any; -utilities.lazyLoad(exports, ["getDeployments"], () => require("./getDeployments")); +export const getDeploymentsOutput: typeof import("./getDeployments").getDeploymentsOutput = null as any; +utilities.lazyLoad(exports, ["getDeployments","getDeploymentsOutput"], () => require("./getDeployments")); export { GetJobArgs, GetJobResult, GetJobOutputArgs } from "./getJob"; export const getJob: typeof import("./getJob").getJob = null as any; @@ -91,7 +107,18 @@ utilities.lazyLoad(exports, ["getNamespace","getNamespaceOutput"], () => require export { GetNamespacesResult } from "./getNamespaces"; export const getNamespaces: typeof import("./getNamespaces").getNamespaces = null as any; -utilities.lazyLoad(exports, ["getNamespaces"], () => require("./getNamespaces")); +export const getNamespacesOutput: typeof import("./getNamespaces").getNamespacesOutput = null as any; +utilities.lazyLoad(exports, ["getNamespaces","getNamespacesOutput"], () => require("./getNamespaces")); + +export { GetNodePoolArgs, GetNodePoolResult, GetNodePoolOutputArgs } from "./getNodePool"; +export const getNodePool: typeof import("./getNodePool").getNodePool = null as any; +export const getNodePoolOutput: typeof import("./getNodePool").getNodePoolOutput = null as any; +utilities.lazyLoad(exports, ["getNodePool","getNodePoolOutput"], () => require("./getNodePool")); + +export { GetNodePoolsArgs, GetNodePoolsResult, GetNodePoolsOutputArgs } from "./getNodePools"; +export const getNodePools: typeof import("./getNodePools").getNodePools = null as any; +export const getNodePoolsOutput: typeof import("./getNodePools").getNodePoolsOutput = null as any; +utilities.lazyLoad(exports, ["getNodePools","getNodePoolsOutput"], () => require("./getNodePools")); export { GetPluginArgs, GetPluginResult, GetPluginOutputArgs } from "./getPlugin"; export const getPlugin: typeof import("./getPlugin").getPlugin = null as any; @@ -105,7 +132,8 @@ utilities.lazyLoad(exports, ["getPlugins","getPluginsOutput"], () => require("./ export { GetRegionsResult } from "./getRegions"; export const getRegions: typeof import("./getRegions").getRegions = null as any; -utilities.lazyLoad(exports, ["getRegions"], () => require("./getRegions")); +export const getRegionsOutput: typeof import("./getRegions").getRegionsOutput = null as any; +utilities.lazyLoad(exports, ["getRegions","getRegionsOutput"], () => require("./getRegions")); export { GetScalingPoliciesArgs, GetScalingPoliciesResult, GetScalingPoliciesOutputArgs } from "./getScalingPolicies"; export const getScalingPolicies: typeof import("./getScalingPolicies").getScalingPolicies = null as any; @@ -119,7 +147,13 @@ utilities.lazyLoad(exports, ["getScalingPolicy","getScalingPolicyOutput"], () => export { GetSchedulerPolicyResult } from "./getSchedulerPolicy"; export const getSchedulerPolicy: typeof import("./getSchedulerPolicy").getSchedulerPolicy = null as any; -utilities.lazyLoad(exports, ["getSchedulerPolicy"], () => require("./getSchedulerPolicy")); +export const getSchedulerPolicyOutput: typeof import("./getSchedulerPolicy").getSchedulerPolicyOutput = null as any; +utilities.lazyLoad(exports, ["getSchedulerPolicy","getSchedulerPolicyOutput"], () => require("./getSchedulerPolicy")); + +export { GetVariableArgs, GetVariableResult, GetVariableOutputArgs } from "./getVariable"; +export const getVariable: typeof import("./getVariable").getVariable = null as any; +export const getVariableOutput: typeof import("./getVariable").getVariableOutput = null as any; +utilities.lazyLoad(exports, ["getVariable","getVariableOutput"], () => require("./getVariable")); export { GetVolumesArgs, GetVolumesResult, GetVolumesOutputArgs } from "./getVolumes"; export const getVolumes: typeof import("./getVolumes").getVolumes = null as any; @@ -136,6 +170,11 @@ export type Namespace = import("./namespace").Namespace; export const Namespace: typeof import("./namespace").Namespace = null as any; utilities.lazyLoad(exports, ["Namespace"], () => require("./namespace")); +export { NodePoolArgs, NodePoolState } from "./nodePool"; +export type NodePool = import("./nodePool").NodePool; +export const NodePool: typeof import("./nodePool").NodePool = null as any; +utilities.lazyLoad(exports, ["NodePool"], () => require("./nodePool")); + export { ProviderArgs } from "./provider"; export type Provider = import("./provider").Provider; export const Provider: typeof import("./provider").Provider = null as any; @@ -156,6 +195,11 @@ export type SentinelPolicy = import("./sentinelPolicy").SentinelPolicy; export const SentinelPolicy: typeof import("./sentinelPolicy").SentinelPolicy = null as any; utilities.lazyLoad(exports, ["SentinelPolicy"], () => require("./sentinelPolicy")); +export { VariableArgs, VariableState } from "./variable"; +export type Variable = import("./variable").Variable; +export const Variable: typeof import("./variable").Variable = null as any; +utilities.lazyLoad(exports, ["Variable"], () => require("./variable")); + export { VolumeArgs, VolumeState } from "./volume"; export type Volume = import("./volume").Volume; export const Volume: typeof import("./volume").Volume = null as any; @@ -185,18 +229,26 @@ const _module = { return new AclRole(name, undefined, { urn }) case "nomad:index/aclToken:AclToken": return new AclToken(name, undefined, { urn }) + case "nomad:index/csiVolume:CsiVolume": + return new CsiVolume(name, undefined, { urn }) + case "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": + return new CsiVolumeRegistration(name, undefined, { urn }) case "nomad:index/externalVolume:ExternalVolume": return new ExternalVolume(name, undefined, { urn }) case "nomad:index/job:Job": return new Job(name, undefined, { urn }) case "nomad:index/namespace:Namespace": return new Namespace(name, undefined, { urn }) + case "nomad:index/nodePool:NodePool": + return new NodePool(name, undefined, { urn }) case "nomad:index/quoteSpecification:QuoteSpecification": return new QuoteSpecification(name, undefined, { urn }) case "nomad:index/schedulerConfig:SchedulerConfig": return new SchedulerConfig(name, undefined, { urn }) case "nomad:index/sentinelPolicy:SentinelPolicy": return new SentinelPolicy(name, undefined, { urn }) + case "nomad:index/variable:Variable": + return new Variable(name, undefined, { urn }) case "nomad:index/volume:Volume": return new Volume(name, undefined, { urn }) default: @@ -209,12 +261,16 @@ pulumi.runtime.registerResourceModule("nomad", "index/aclBindingRule", _module) pulumi.runtime.registerResourceModule("nomad", "index/aclPolicy", _module) pulumi.runtime.registerResourceModule("nomad", "index/aclRole", _module) pulumi.runtime.registerResourceModule("nomad", "index/aclToken", _module) +pulumi.runtime.registerResourceModule("nomad", "index/csiVolume", _module) +pulumi.runtime.registerResourceModule("nomad", "index/csiVolumeRegistration", _module) pulumi.runtime.registerResourceModule("nomad", "index/externalVolume", _module) pulumi.runtime.registerResourceModule("nomad", "index/job", _module) pulumi.runtime.registerResourceModule("nomad", "index/namespace", _module) +pulumi.runtime.registerResourceModule("nomad", "index/nodePool", _module) pulumi.runtime.registerResourceModule("nomad", "index/quoteSpecification", _module) pulumi.runtime.registerResourceModule("nomad", "index/schedulerConfig", _module) pulumi.runtime.registerResourceModule("nomad", "index/sentinelPolicy", _module) +pulumi.runtime.registerResourceModule("nomad", "index/variable", _module) pulumi.runtime.registerResourceModule("nomad", "index/volume", _module) pulumi.runtime.registerResourcePackage("nomad", { version: utilities.getVersion(), diff --git a/sdk/nodejs/job.ts b/sdk/nodejs/job.ts index c9d9f829..a26549f7 100644 --- a/sdk/nodejs/job.ts +++ b/sdk/nodejs/job.ts @@ -36,6 +36,8 @@ export class Job extends pulumi.CustomResource { /** * The IDs for allocations associated with this job. + * + * @deprecated Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ public /*out*/ readonly allocationIds!: pulumi.Output; /** @@ -69,6 +71,12 @@ export class Job extends pulumi.CustomResource { * after creating or updating, instead of monitoring. */ public readonly detach!: pulumi.Output; + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + */ + public readonly hcl1!: pulumi.Output; /** * `(block: optional)` - Options for the HCL2 jobspec parser. */ @@ -104,6 +112,10 @@ export class Job extends pulumi.CustomResource { * be purged when the resource is destroyed. */ public readonly purgeOnDestroy!: pulumi.Output; + /** + * @deprecated Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + */ + public readonly readAllocationIds!: pulumi.Output; /** * The target region for the job, as derived from the jobspec. */ @@ -140,6 +152,7 @@ export class Job extends pulumi.CustomResource { resourceInputs["deregisterOnDestroy"] = state ? state.deregisterOnDestroy : undefined; resourceInputs["deregisterOnIdChange"] = state ? state.deregisterOnIdChange : undefined; resourceInputs["detach"] = state ? state.detach : undefined; + resourceInputs["hcl1"] = state ? state.hcl1 : undefined; resourceInputs["hcl2"] = state ? state.hcl2 : undefined; resourceInputs["jobspec"] = state ? state.jobspec : undefined; resourceInputs["json"] = state ? state.json : undefined; @@ -148,6 +161,7 @@ export class Job extends pulumi.CustomResource { resourceInputs["namespace"] = state ? state.namespace : undefined; resourceInputs["policyOverride"] = state ? state.policyOverride : undefined; resourceInputs["purgeOnDestroy"] = state ? state.purgeOnDestroy : undefined; + resourceInputs["readAllocationIds"] = state ? state.readAllocationIds : undefined; resourceInputs["region"] = state ? state.region : undefined; resourceInputs["taskGroups"] = state ? state.taskGroups : undefined; resourceInputs["type"] = state ? state.type : undefined; @@ -161,11 +175,13 @@ export class Job extends pulumi.CustomResource { resourceInputs["deregisterOnDestroy"] = args ? args.deregisterOnDestroy : undefined; resourceInputs["deregisterOnIdChange"] = args ? args.deregisterOnIdChange : undefined; resourceInputs["detach"] = args ? args.detach : undefined; + resourceInputs["hcl1"] = args ? args.hcl1 : undefined; resourceInputs["hcl2"] = args ? args.hcl2 : undefined; resourceInputs["jobspec"] = args ? args.jobspec : undefined; resourceInputs["json"] = args ? args.json : undefined; resourceInputs["policyOverride"] = args ? args.policyOverride : undefined; resourceInputs["purgeOnDestroy"] = args ? args.purgeOnDestroy : undefined; + resourceInputs["readAllocationIds"] = args ? args.readAllocationIds : undefined; resourceInputs["vaultToken"] = args?.vaultToken ? pulumi.secret(args.vaultToken) : undefined; resourceInputs["allocationIds"] = undefined /*out*/; resourceInputs["datacenters"] = undefined /*out*/; @@ -191,6 +207,8 @@ export class Job extends pulumi.CustomResource { export interface JobState { /** * The IDs for allocations associated with this job. + * + * @deprecated Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. */ allocationIds?: pulumi.Input[]>; /** @@ -224,6 +242,12 @@ export interface JobState { * after creating or updating, instead of monitoring. */ detach?: pulumi.Input; + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + */ + hcl1?: pulumi.Input; /** * `(block: optional)` - Options for the HCL2 jobspec parser. */ @@ -259,6 +283,10 @@ export interface JobState { * be purged when the resource is destroyed. */ purgeOnDestroy?: pulumi.Input; + /** + * @deprecated Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + */ + readAllocationIds?: pulumi.Input; /** * The target region for the job, as derived from the jobspec. */ @@ -298,6 +326,12 @@ export interface JobArgs { * after creating or updating, instead of monitoring. */ detach?: pulumi.Input; + /** + * `(boolean: false)` - Set this to `true` to use the previous HCL1 + * parser. This option is provided for backwards compatibility only and should + * not be used unless absolutely necessary. + */ + hcl1?: pulumi.Input; /** * `(block: optional)` - Options for the HCL2 jobspec parser. */ @@ -321,6 +355,10 @@ export interface JobArgs { * be purged when the resource is destroyed. */ purgeOnDestroy?: pulumi.Input; + /** + * @deprecated Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead. + */ + readAllocationIds?: pulumi.Input; /** * `(string: )` - Vault token used when registering this job. * Will fallback to the value declared in Nomad provider configuration, if any. diff --git a/sdk/nodejs/namespace.ts b/sdk/nodejs/namespace.ts index 6719fe96..f9423ddb 100644 --- a/sdk/nodejs/namespace.ts +++ b/sdk/nodejs/namespace.ts @@ -83,7 +83,7 @@ export class Namespace extends pulumi.CustomResource { } /** - * `(block: )` - A block of capabilities for the namespace. Can't + * `(block: )` - A block of capabilities for the namespace. Can't * be repeated. See below for the structure of this block. */ public readonly capabilities!: pulumi.Output; @@ -99,6 +99,10 @@ export class Namespace extends pulumi.CustomResource { * `(string: )` - A unique name for the namespace. */ public readonly name!: pulumi.Output; + /** + * `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + */ + public readonly nodePoolConfig!: pulumi.Output; /** * `(string: "")` - A resource quota to attach to the namespace. */ @@ -121,6 +125,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["description"] = state ? state.description : undefined; resourceInputs["meta"] = state ? state.meta : undefined; resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["nodePoolConfig"] = state ? state.nodePoolConfig : undefined; resourceInputs["quota"] = state ? state.quota : undefined; } else { const args = argsOrState as NamespaceArgs | undefined; @@ -128,6 +133,7 @@ export class Namespace extends pulumi.CustomResource { resourceInputs["description"] = args ? args.description : undefined; resourceInputs["meta"] = args ? args.meta : undefined; resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["nodePoolConfig"] = args ? args.nodePoolConfig : undefined; resourceInputs["quota"] = args ? args.quota : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -140,7 +146,7 @@ export class Namespace extends pulumi.CustomResource { */ export interface NamespaceState { /** - * `(block: )` - A block of capabilities for the namespace. Can't + * `(block: )` - A block of capabilities for the namespace. Can't * be repeated. See below for the structure of this block. */ capabilities?: pulumi.Input; @@ -156,6 +162,10 @@ export interface NamespaceState { * `(string: )` - A unique name for the namespace. */ name?: pulumi.Input; + /** + * `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + */ + nodePoolConfig?: pulumi.Input; /** * `(string: "")` - A resource quota to attach to the namespace. */ @@ -167,7 +177,7 @@ export interface NamespaceState { */ export interface NamespaceArgs { /** - * `(block: )` - A block of capabilities for the namespace. Can't + * `(block: )` - A block of capabilities for the namespace. Can't * be repeated. See below for the structure of this block. */ capabilities?: pulumi.Input; @@ -183,6 +193,10 @@ export interface NamespaceArgs { * `(string: )` - A unique name for the namespace. */ name?: pulumi.Input; + /** + * `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + */ + nodePoolConfig?: pulumi.Input; /** * `(string: "")` - A resource quota to attach to the namespace. */ diff --git a/sdk/nodejs/nodePool.ts b/sdk/nodejs/nodePool.ts new file mode 100644 index 00000000..4a2da890 --- /dev/null +++ b/sdk/nodejs/nodePool.ts @@ -0,0 +1,148 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Provisions a node pool within a Nomad cluster. + * + * ## Example Usage + * + * Registering a node pool: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const dev = new nomad.NodePool("dev", { + * description: "Nodes for the development environment.", + * meta: { + * department: "Engineering", + * env: "dev", + * }, + * }); + * ``` + */ +export class NodePool extends pulumi.CustomResource { + /** + * Get an existing NodePool resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: NodePoolState, opts?: pulumi.CustomResourceOptions): NodePool { + return new NodePool(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nomad:index/nodePool:NodePool'; + + /** + * Returns true if the given object is an instance of NodePool. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is NodePool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NodePool.__pulumiType; + } + + /** + * `(string)` - The description of the node pool. + */ + public readonly description!: pulumi.Output; + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + */ + public readonly meta!: pulumi.Output<{[key: string]: string} | undefined>; + /** + * `(string)` - The name of the node pool. + */ + public readonly name!: pulumi.Output; + /** + * `(block)` - Scheduler configuration for the node pool. + */ + public readonly schedulerConfig!: pulumi.Output; + + /** + * Create a NodePool resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args?: NodePoolArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NodePoolArgs | NodePoolState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NodePoolState | undefined; + resourceInputs["description"] = state ? state.description : undefined; + resourceInputs["meta"] = state ? state.meta : undefined; + resourceInputs["name"] = state ? state.name : undefined; + resourceInputs["schedulerConfig"] = state ? state.schedulerConfig : undefined; + } else { + const args = argsOrState as NodePoolArgs | undefined; + resourceInputs["description"] = args ? args.description : undefined; + resourceInputs["meta"] = args ? args.meta : undefined; + resourceInputs["name"] = args ? args.name : undefined; + resourceInputs["schedulerConfig"] = args ? args.schedulerConfig : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(NodePool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering NodePool resources. + */ +export interface NodePoolState { + /** + * `(string)` - The description of the node pool. + */ + description?: pulumi.Input; + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + */ + meta?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string)` - The name of the node pool. + */ + name?: pulumi.Input; + /** + * `(block)` - Scheduler configuration for the node pool. + */ + schedulerConfig?: pulumi.Input; +} + +/** + * The set of arguments for constructing a NodePool resource. + */ +export interface NodePoolArgs { + /** + * `(string)` - The description of the node pool. + */ + description?: pulumi.Input; + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + */ + meta?: pulumi.Input<{[key: string]: pulumi.Input}>; + /** + * `(string)` - The name of the node pool. + */ + name?: pulumi.Input; + /** + * `(block)` - Scheduler configuration for the node pool. + */ + schedulerConfig?: pulumi.Input; +} diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index 2dd1b1c3..d1ccd2c3 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -10,8 +10,7 @@ "repository": "https://github.com/pulumi/pulumi-nomad", "license": "Apache-2.0", "scripts": { - "build": "tsc", - "install": "node scripts/install-pulumi-plugin.js resource nomad ${VERSION}" + "build": "tsc" }, "dependencies": { "@pulumi/pulumi": "^3.0.0" diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 5d833b2c..797490c4 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -24,7 +24,7 @@ export class Provider extends pulumi.ProviderResource { if (obj === undefined || obj === null) { return false; } - return obj['__pulumiType'] === Provider.__pulumiType; + return obj['__pulumiType'] === "pulumi:providers:" + Provider.__pulumiType; } /** @@ -103,6 +103,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["keyPem"] = args ? args.keyPem : undefined; resourceInputs["region"] = args ? args.region : undefined; resourceInputs["secretId"] = args ? args.secretId : undefined; + resourceInputs["skipVerify"] = pulumi.output(args ? args.skipVerify : undefined).apply(JSON.stringify); resourceInputs["vaultToken"] = args?.vaultToken ? pulumi.secret(args.vaultToken) : undefined; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -168,6 +169,10 @@ export interface ProviderArgs { * ACL token secret for API requests. */ secretId?: pulumi.Input; + /** + * Skip TLS verification on client side. + */ + skipVerify?: pulumi.Input; /** * Vault token if policies are specified in the job file. */ diff --git a/sdk/nodejs/scripts/install-pulumi-plugin.js b/sdk/nodejs/scripts/install-pulumi-plugin.js deleted file mode 100644 index fefc6e0e..00000000 --- a/sdk/nodejs/scripts/install-pulumi-plugin.js +++ /dev/null @@ -1,26 +0,0 @@ -"use strict"; -var childProcess = require("child_process"); - -var args = process.argv.slice(2); - -if (args.indexOf("${VERSION}") !== -1) { - process.exit(0); -} - -var res = childProcess.spawnSync("pulumi", ["plugin", "install"].concat(args), { - stdio: ["ignore", "inherit", "inherit"] -}); - -if (res.error && res.error.code === "ENOENT") { - console.error("\nThere was an error installing the resource provider plugin. " + - "It looks like `pulumi` is not installed on your system. " + - "Please visit https://pulumi.com/ to install the Pulumi CLI.\n" + - "You may try manually installing the plugin by running " + - "`pulumi plugin install " + args.join(" ") + "`"); -} else if (res.error || res.status !== 0) { - console.error("\nThere was an error installing the resource provider plugin. " + - "You may try to manually installing the plugin by running " + - "`pulumi plugin install " + args.join(" ") + "`"); -} - -process.exit(0); diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 3b12db67..49b0d1a0 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -20,6 +20,8 @@ "aclToken.ts", "config/index.ts", "config/vars.ts", + "csiVolume.ts", + "csiVolumeRegistration.ts", "externalVolume.ts", "getAclPolicies.ts", "getAclPolicy.ts", @@ -27,22 +29,27 @@ "getAclRoles.ts", "getAclToken.ts", "getAclTokens.ts", + "getAllocations.ts", "getDatacenters.ts", "getDeployments.ts", "getJob.ts", "getJobParser.ts", "getNamespace.ts", "getNamespaces.ts", + "getNodePool.ts", + "getNodePools.ts", "getPlugin.ts", "getPlugins.ts", "getRegions.ts", "getScalingPolicies.ts", "getScalingPolicy.ts", "getSchedulerPolicy.ts", + "getVariable.ts", "getVolumes.ts", "index.ts", "job.ts", "namespace.ts", + "nodePool.ts", "provider.ts", "quoteSpecification.ts", "schedulerConfig.ts", @@ -51,6 +58,7 @@ "types/input.ts", "types/output.ts", "utilities.ts", + "variable.ts", "volume.ts" ] } diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 7825df98..20793904 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -18,6 +18,30 @@ export interface AclAuthMethodConfig { signingAlgs?: pulumi.Input[]>; } +export interface AclPolicyJobAcl { + /** + * `(string: ` - The group to attach the policy. Required if + * `task` is set. + */ + group?: pulumi.Input; + /** + * `(string: ` - The job to attach the policy. Required if + * `group` is set. + */ + jobId: pulumi.Input; + /** + * `(string: "default")` - The namespace to attach the policy. + * Required if `jobId` is set. + */ + namespace?: pulumi.Input; + /** + * `(string: ` - The task to attach the policy. + * + * [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + */ + task?: pulumi.Input; +} + export interface AclRolePolicy { /** * `(string: )` - A human-friendly name for this ACL Role. @@ -33,6 +57,144 @@ export interface AclTokenRole { name?: pulumi.Input; } +export interface CsiVolumeCapability { + /** + * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + */ + accessMode: pulumi.Input; + /** + * `(string: )` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + */ + attachmentMode: pulumi.Input; +} + +export interface CsiVolumeMountOptions { + /** + * `(string: optional)` - The file system type. + */ + fsType?: pulumi.Input; + /** + * `[]string: optional` - The flags passed to `mount`. + */ + mountFlags?: pulumi.Input[]>; +} + +export interface CsiVolumeRegistrationCapability { + /** + * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + */ + accessMode: pulumi.Input; + /** + * `(string: )` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + */ + attachmentMode: pulumi.Input; +} + +export interface CsiVolumeRegistrationMountOptions { + /** + * `(string: )` - The file system type. + */ + fsType?: pulumi.Input; + /** + * `([]string: )` - The flags passed to `mount`. + */ + mountFlags?: pulumi.Input[]>; +} + +export interface CsiVolumeRegistrationTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +export interface CsiVolumeRegistrationTopologyRequest { + /** + * `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + */ + required?: pulumi.Input; +} + +export interface CsiVolumeRegistrationTopologyRequestRequired { + topologies: pulumi.Input[]>; +} + +export interface CsiVolumeRegistrationTopologyRequestRequiredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +export interface CsiVolumeTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments?: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +export interface CsiVolumeTopologyRequest { + /** + * `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + */ + preferred?: pulumi.Input; + /** + * `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + */ + required?: pulumi.Input; +} + +export interface CsiVolumeTopologyRequestPreferred { + topologies: pulumi.Input[]>; +} + +export interface CsiVolumeTopologyRequestPreferredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: pulumi.Input<{[key: string]: pulumi.Input}>; +} + +export interface CsiVolumeTopologyRequestRequired { + topologies: pulumi.Input[]>; +} + +export interface CsiVolumeTopologyRequestRequiredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: pulumi.Input<{[key: string]: pulumi.Input}>; +} + export interface ExternalVolumeCapability { /** * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: @@ -118,8 +280,10 @@ export interface JobHcl2 { */ allowFs?: pulumi.Input; /** - * `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ enabled?: pulumi.Input; vars?: pulumi.Input<{[key: string]: any}>; @@ -164,6 +328,41 @@ export interface NamespaceCapabilities { enabledTaskDrivers?: pulumi.Input[]>; } +export interface NamespaceNodePoolConfig { + /** + * `([]string: )` - The list of node pools that are allowed to be used in this namespace. + */ + alloweds?: pulumi.Input[]>; + /** + * `(string: )` - The default node pool for jobs that don't define one. + */ + default?: pulumi.Input; + /** + * `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + */ + denieds?: pulumi.Input[]>; +} + +export interface NodePoolSchedulerConfig { + /** + * `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + */ + memoryOversubscription?: pulumi.Input; + /** + * `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + */ + schedulerAlgorithm?: pulumi.Input; +} + export interface ProviderHeader { name: pulumi.Input; value: pulumi.Input; diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 5c45c5d7..3ec183aa 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -18,6 +18,30 @@ export interface AclAuthMethodConfig { signingAlgs?: string[]; } +export interface AclPolicyJobAcl { + /** + * `(string: ` - The group to attach the policy. Required if + * `task` is set. + */ + group?: string; + /** + * `(string: ` - The job to attach the policy. Required if + * `group` is set. + */ + jobId: string; + /** + * `(string: "default")` - The namespace to attach the policy. + * Required if `jobId` is set. + */ + namespace?: string; + /** + * `(string: ` - The task to attach the policy. + * + * [nomadDocsWi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + */ + task?: string; +} + export interface AclRolePolicy { /** * `(string: )` - A human-friendly name for this ACL Role. @@ -33,6 +57,144 @@ export interface AclTokenRole { name: string; } +export interface CsiVolumeCapability { + /** + * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + */ + accessMode: string; + /** + * `(string: )` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + */ + attachmentMode: string; +} + +export interface CsiVolumeMountOptions { + /** + * `(string: optional)` - The file system type. + */ + fsType?: string; + /** + * `[]string: optional` - The flags passed to `mount`. + */ + mountFlags?: string[]; +} + +export interface CsiVolumeRegistrationCapability { + /** + * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + * - `single-node-reader-only` + * - `single-node-writer` + * - `multi-node-reader-only` + * - `multi-node-single-writer` + * - `multi-node-multi-writer` + */ + accessMode: string; + /** + * `(string: )` - The storage API that will be used by the volume. Possible values are: + * - `block-device` + * - `file-system` + */ + attachmentMode: string; +} + +export interface CsiVolumeRegistrationMountOptions { + /** + * `(string: )` - The file system type. + */ + fsType?: string; + /** + * `([]string: )` - The flags passed to `mount`. + */ + mountFlags?: string[]; +} + +export interface CsiVolumeRegistrationTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: {[key: string]: string}; +} + +export interface CsiVolumeRegistrationTopologyRequest { + /** + * `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + */ + required?: outputs.CsiVolumeRegistrationTopologyRequestRequired; +} + +export interface CsiVolumeRegistrationTopologyRequestRequired { + topologies: outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology[]; +} + +export interface CsiVolumeRegistrationTopologyRequestRequiredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: {[key: string]: string}; +} + +export interface CsiVolumeTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: {[key: string]: string}; +} + +export interface CsiVolumeTopologyRequest { + /** + * `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + */ + preferred?: outputs.CsiVolumeTopologyRequestPreferred; + /** + * `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + */ + required?: outputs.CsiVolumeTopologyRequestRequired; +} + +export interface CsiVolumeTopologyRequestPreferred { + topologies: outputs.CsiVolumeTopologyRequestPreferredTopology[]; +} + +export interface CsiVolumeTopologyRequestPreferredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: {[key: string]: string}; +} + +export interface CsiVolumeTopologyRequestRequired { + topologies: outputs.CsiVolumeTopologyRequestRequiredTopology[]; +} + +export interface CsiVolumeTopologyRequestRequiredTopology { + /** + * `(map[string]string)` - Define the attributes for the topology request. + * + * In addition to the above arguments, the following attributes are exported and + * can be referenced: + */ + segments: {[key: string]: string}; +} + export interface ExternalVolumeCapability { /** * `(string: )` - Defines whether a volume should be available concurrently. Possible values are: @@ -208,6 +370,85 @@ export interface GetAclTokensAclTokenRole { name: string; } +export interface GetAllocationsAllocation { + /** + * `(string)` - The current client status of the allocation. + */ + clientStatus: string; + /** + * `(int)` - The Raft index in which the allocation was created. + */ + createIndex: number; + /** + * `(int)` - The timestamp of when the allocation was created. + */ + createTime: number; + /** + * `(string)` - The current desired status of the allocation. + */ + desiredStatus: string; + /** + * `(string)` - The ID of the evaluation that generated the allocation. + */ + evalId: string; + /** + * `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + */ + followupEvalId: string; + /** + * `(string)` - The ID of the allocation. + */ + id: string; + /** + * `(string)` - The ID of the job related to the allocation. + */ + jobId: string; + /** + * `(string)` - The type of the job related to the allocation. + */ + jobType: string; + /** + * `(int)` - The version of the job that generated the allocation. + */ + jobVersion: number; + /** + * `(int)` - The Raft index in which the allocation was last modified. + */ + modifyIndex: number; + /** + * `(int)` - The timestamp of when the allocation was last modified. + */ + modifyTime: number; + /** + * `(string)` - The name of the allocation. + */ + name: string; + /** + * `(string)` - The namespace the allocation belongs to. + */ + namespace: string; + /** + * `(string)` - The ID of the allocation that succeeds the allocation. + */ + nextAllocation: string; + /** + * `(string)` - The ID of the node to which the allocation was scheduled. + */ + nodeId: string; + /** + * `(string)` - The ID of the node to which the allocation was scheduled. + */ + nodeName: string; + /** + * `(string)` - The ID of the allocation that preempted the allocation. + */ + preemptedByAllocation: string; + /** + * `(string)` - The job task group related to the allocation. + */ + taskGroup: string; +} + export interface GetJobConstraint { /** * `(string)` Attribute being constrained. @@ -297,6 +538,60 @@ export interface GetNamespaceCapability { enabledTaskDrivers?: string[]; } +export interface GetNamespaceNodePoolConfig { + alloweds: string[]; + default: string; + denieds: string[]; +} + +export interface GetNodePoolSchedulerConfig { + /** + * `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + */ + memoryOversubscription: string; + /** + * `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + */ + schedulerAlgorithm: string; +} + +export interface GetNodePoolsNodePool { + /** + * `(string)` - The description of the node pool. + */ + description: string; + /** + * `(map[string]string)` - Arbitrary KV metadata associated with the + * node pool. + */ + meta: {[key: string]: string}; + /** + * `(string)` - The name of the node pool. + */ + name: string; + /** + * `(block)` - Scheduler configuration for the node pool. + */ + schedulerConfigs: outputs.GetNodePoolsNodePoolSchedulerConfig[]; +} + +export interface GetNodePoolsNodePoolSchedulerConfig { + /** + * `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. If empty or not defined the + * global cluster configuration is used. + */ + memoryOversubscription: string; + /** + * `(string)` - The scheduler algorithm used in the node + * pool. If empty or not defined the global cluster configuration is used. + */ + schedulerAlgorithm: string; +} + export interface GetPluginNode { healthy: boolean; healthyDescription: string; @@ -329,8 +624,10 @@ export interface JobHcl2 { */ allowFs?: boolean; /** - * `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - * format instead of the default HCL. + * `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + * HCL2 by default. + * + * @deprecated Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing. */ enabled?: boolean; vars?: {[key: string]: any}; @@ -375,6 +672,41 @@ export interface NamespaceCapabilities { enabledTaskDrivers?: string[]; } +export interface NamespaceNodePoolConfig { + /** + * `([]string: )` - The list of node pools that are allowed to be used in this namespace. + */ + alloweds?: string[]; + /** + * `(string: )` - The default node pool for jobs that don't define one. + */ + default: string; + /** + * `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + */ + denieds?: string[]; +} + +export interface NodePoolSchedulerConfig { + /** + * `(string)` - Whether or not memory + * oversubscription is enabled in the node pool. Possible values are + * `"enabled"` or `"disabled"`. If not defined the global cluster + * configuration is used. + * + * > This option differs from Nomad, where it's represented as a boolean, to + * allow distinguishing between memory oversubscription being disabled in the + * node pool and this property not being set. + */ + memoryOversubscription?: string; + /** + * `(string)` - The scheduler algorithm used in the node + * pool. Possible values are `binpack` or `spread`. If not defined the global + * cluster configuration is used. + */ + schedulerAlgorithm?: string; +} + export interface QuoteSpecificationLimit { /** * `(string: )` - The region these limits should apply to. diff --git a/sdk/nodejs/variable.ts b/sdk/nodejs/variable.ts new file mode 100644 index 00000000..216a7090 --- /dev/null +++ b/sdk/nodejs/variable.ts @@ -0,0 +1,150 @@ +// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * ## Example Usage + * + * Creating a variable in the default namespace: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const example = new nomad.Variable("example", { + * items: { + * example_key: "example_value", + * }, + * path: "some/path/of/your/choosing", + * }); + * ``` + * + * Creating a variable in a custom namespace: + * + * ```typescript + * import * as pulumi from "@pulumi/pulumi"; + * import * as nomad from "@pulumi/nomad"; + * + * const exampleNamespace = new nomad.Namespace("exampleNamespace", {description: "Example namespace."}); + * const exampleVariable = new nomad.Variable("exampleVariable", { + * path: "some/path/of/your/choosing", + * namespace: exampleNamespace.name, + * items: { + * example_key: "example_value", + * }, + * }); + * ``` + */ +export class Variable extends pulumi.CustomResource { + /** + * Get an existing Variable resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: VariableState, opts?: pulumi.CustomResourceOptions): Variable { + return new Variable(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'nomad:index/variable:Variable'; + + /** + * Returns true if the given object is an instance of Variable. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is Variable { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Variable.__pulumiType; + } + + /** + * `(map[string]string: )` - An arbitrary map of items to create in the variable. + */ + public readonly items!: pulumi.Output<{[key: string]: any}>; + /** + * `(string: "default")` - The namepsace to create the variable in. + */ + public readonly namespace!: pulumi.Output; + /** + * `(string: )` - A unique path to create the variable at. + */ + public readonly path!: pulumi.Output; + + /** + * Create a Variable resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: VariableArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VariableArgs | VariableState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VariableState | undefined; + resourceInputs["items"] = state ? state.items : undefined; + resourceInputs["namespace"] = state ? state.namespace : undefined; + resourceInputs["path"] = state ? state.path : undefined; + } else { + const args = argsOrState as VariableArgs | undefined; + if ((!args || args.items === undefined) && !opts.urn) { + throw new Error("Missing required property 'items'"); + } + if ((!args || args.path === undefined) && !opts.urn) { + throw new Error("Missing required property 'path'"); + } + resourceInputs["items"] = args?.items ? pulumi.secret(args.items) : undefined; + resourceInputs["namespace"] = args ? args.namespace : undefined; + resourceInputs["path"] = args ? args.path : undefined; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["items"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Variable.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Variable resources. + */ +export interface VariableState { + /** + * `(map[string]string: )` - An arbitrary map of items to create in the variable. + */ + items?: pulumi.Input<{[key: string]: any}>; + /** + * `(string: "default")` - The namepsace to create the variable in. + */ + namespace?: pulumi.Input; + /** + * `(string: )` - A unique path to create the variable at. + */ + path?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Variable resource. + */ +export interface VariableArgs { + /** + * `(map[string]string: )` - An arbitrary map of items to create in the variable. + */ + items: pulumi.Input<{[key: string]: any}>; + /** + * `(string: "default")` - The namepsace to create the variable in. + */ + namespace?: pulumi.Input; + /** + * `(string: )` - A unique path to create the variable at. + */ + path: pulumi.Input; +} diff --git a/sdk/python/pulumi_nomad/__init__.py b/sdk/python/pulumi_nomad/__init__.py index 1a277b9c..19908c2b 100644 --- a/sdk/python/pulumi_nomad/__init__.py +++ b/sdk/python/pulumi_nomad/__init__.py @@ -10,6 +10,8 @@ from .acl_policy import * from .acl_role import * from .acl_token import * +from .csi_volume import * +from .csi_volume_registration import * from .external_volume import * from .get_acl_policies import * from .get_acl_policy import * @@ -17,25 +19,31 @@ from .get_acl_roles import * from .get_acl_token import * from .get_acl_tokens import * +from .get_allocations import * from .get_datacenters import * from .get_deployments import * from .get_job import * from .get_job_parser import * from .get_namespace import * from .get_namespaces import * +from .get_node_pool import * +from .get_node_pools import * from .get_plugin import * from .get_plugins import * from .get_regions import * from .get_scaling_policies import * from .get_scaling_policy import * from .get_scheduler_policy import * +from .get_variable import * from .get_volumes import * from .job import * from .namespace import * +from .node_pool import * from .provider import * from .quote_specification import * from .scheduler_config import * from .sentinel_policy import * +from .variable import * from .volume import * from ._inputs import * from . import outputs @@ -90,6 +98,22 @@ "nomad:index/aclToken:AclToken": "AclToken" } }, + { + "pkg": "nomad", + "mod": "index/csiVolume", + "fqn": "pulumi_nomad", + "classes": { + "nomad:index/csiVolume:CsiVolume": "CsiVolume" + } + }, + { + "pkg": "nomad", + "mod": "index/csiVolumeRegistration", + "fqn": "pulumi_nomad", + "classes": { + "nomad:index/csiVolumeRegistration:CsiVolumeRegistration": "CsiVolumeRegistration" + } + }, { "pkg": "nomad", "mod": "index/externalVolume", @@ -114,6 +138,14 @@ "nomad:index/namespace:Namespace": "Namespace" } }, + { + "pkg": "nomad", + "mod": "index/nodePool", + "fqn": "pulumi_nomad", + "classes": { + "nomad:index/nodePool:NodePool": "NodePool" + } + }, { "pkg": "nomad", "mod": "index/quoteSpecification", @@ -138,6 +170,14 @@ "nomad:index/sentinelPolicy:SentinelPolicy": "SentinelPolicy" } }, + { + "pkg": "nomad", + "mod": "index/variable", + "fqn": "pulumi_nomad", + "classes": { + "nomad:index/variable:Variable": "Variable" + } + }, { "pkg": "nomad", "mod": "index/volume", diff --git a/sdk/python/pulumi_nomad/_inputs.py b/sdk/python/pulumi_nomad/_inputs.py index f03cb804..5c148133 100644 --- a/sdk/python/pulumi_nomad/_inputs.py +++ b/sdk/python/pulumi_nomad/_inputs.py @@ -11,8 +11,23 @@ __all__ = [ 'AclAuthMethodConfigArgs', + 'AclPolicyJobAclArgs', 'AclRolePolicyArgs', 'AclTokenRoleArgs', + 'CsiVolumeCapabilityArgs', + 'CsiVolumeMountOptionsArgs', + 'CsiVolumeRegistrationCapabilityArgs', + 'CsiVolumeRegistrationMountOptionsArgs', + 'CsiVolumeRegistrationTopologyArgs', + 'CsiVolumeRegistrationTopologyRequestArgs', + 'CsiVolumeRegistrationTopologyRequestRequiredArgs', + 'CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs', + 'CsiVolumeTopologyArgs', + 'CsiVolumeTopologyRequestArgs', + 'CsiVolumeTopologyRequestPreferredArgs', + 'CsiVolumeTopologyRequestPreferredTopologyArgs', + 'CsiVolumeTopologyRequestRequiredArgs', + 'CsiVolumeTopologyRequestRequiredTopologyArgs', 'ExternalVolumeCapabilityArgs', 'ExternalVolumeMountOptionsArgs', 'ExternalVolumeTopologyArgs', @@ -27,6 +42,8 @@ 'JobTaskGroupTaskVolumeMountArgs', 'JobTaskGroupVolumeArgs', 'NamespaceCapabilitiesArgs', + 'NamespaceNodePoolConfigArgs', + 'NodePoolSchedulerConfigArgs', 'ProviderHeaderArgs', 'QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitRegionLimitArgs', @@ -159,6 +176,86 @@ def signing_algs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]] pulumi.set(self, "signing_algs", value) +@pulumi.input_type +class AclPolicyJobAclArgs: + def __init__(__self__, *, + job_id: pulumi.Input[str], + group: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + task: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] job_id: `(string: ` - The job to attach the policy. Required if + `group` is set. + :param pulumi.Input[str] group: `(string: ` - The group to attach the policy. Required if + `task` is set. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace to attach the policy. + Required if `job_id` is set. + :param pulumi.Input[str] task: `(string: ` - The task to attach the policy. + + [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + """ + pulumi.set(__self__, "job_id", job_id) + if group is not None: + pulumi.set(__self__, "group", group) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if task is not None: + pulumi.set(__self__, "task", task) + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> pulumi.Input[str]: + """ + `(string: ` - The job to attach the policy. Required if + `group` is set. + """ + return pulumi.get(self, "job_id") + + @job_id.setter + def job_id(self, value: pulumi.Input[str]): + pulumi.set(self, "job_id", value) + + @property + @pulumi.getter + def group(self) -> Optional[pulumi.Input[str]]: + """ + `(string: ` - The group to attach the policy. Required if + `task` is set. + """ + return pulumi.get(self, "group") + + @group.setter + def group(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "group", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namespace to attach the policy. + Required if `job_id` is set. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def task(self) -> Optional[pulumi.Input[str]]: + """ + `(string: ` - The task to attach the policy. + + [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + """ + return pulumi.get(self, "task") + + @task.setter + def task(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "task", value) + + @pulumi.input_type class AclRolePolicyArgs: def __init__(__self__, *, @@ -215,6 +312,438 @@ def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) +@pulumi.input_type +class CsiVolumeCapabilityArgs: + def __init__(__self__, *, + access_mode: pulumi.Input[str], + attachment_mode: pulumi.Input[str]): + """ + :param pulumi.Input[str] access_mode: `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + :param pulumi.Input[str] attachment_mode: `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + pulumi.set(__self__, "access_mode", access_mode) + pulumi.set(__self__, "attachment_mode", attachment_mode) + + @property + @pulumi.getter(name="accessMode") + def access_mode(self) -> pulumi.Input[str]: + """ + `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + """ + return pulumi.get(self, "access_mode") + + @access_mode.setter + def access_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "access_mode", value) + + @property + @pulumi.getter(name="attachmentMode") + def attachment_mode(self) -> pulumi.Input[str]: + """ + `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + return pulumi.get(self, "attachment_mode") + + @attachment_mode.setter + def attachment_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "attachment_mode", value) + + +@pulumi.input_type +class CsiVolumeMountOptionsArgs: + def __init__(__self__, *, + fs_type: Optional[pulumi.Input[str]] = None, + mount_flags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] fs_type: `(string: optional)` - The file system type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_flags: `[]string: optional` - The flags passed to `mount`. + """ + if fs_type is not None: + pulumi.set(__self__, "fs_type", fs_type) + if mount_flags is not None: + pulumi.set(__self__, "mount_flags", mount_flags) + + @property + @pulumi.getter(name="fsType") + def fs_type(self) -> Optional[pulumi.Input[str]]: + """ + `(string: optional)` - The file system type. + """ + return pulumi.get(self, "fs_type") + + @fs_type.setter + def fs_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fs_type", value) + + @property + @pulumi.getter(name="mountFlags") + def mount_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + `[]string: optional` - The flags passed to `mount`. + """ + return pulumi.get(self, "mount_flags") + + @mount_flags.setter + def mount_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "mount_flags", value) + + +@pulumi.input_type +class CsiVolumeRegistrationCapabilityArgs: + def __init__(__self__, *, + access_mode: pulumi.Input[str], + attachment_mode: pulumi.Input[str]): + """ + :param pulumi.Input[str] access_mode: `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + :param pulumi.Input[str] attachment_mode: `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + pulumi.set(__self__, "access_mode", access_mode) + pulumi.set(__self__, "attachment_mode", attachment_mode) + + @property + @pulumi.getter(name="accessMode") + def access_mode(self) -> pulumi.Input[str]: + """ + `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + """ + return pulumi.get(self, "access_mode") + + @access_mode.setter + def access_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "access_mode", value) + + @property + @pulumi.getter(name="attachmentMode") + def attachment_mode(self) -> pulumi.Input[str]: + """ + `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + return pulumi.get(self, "attachment_mode") + + @attachment_mode.setter + def attachment_mode(self, value: pulumi.Input[str]): + pulumi.set(self, "attachment_mode", value) + + +@pulumi.input_type +class CsiVolumeRegistrationMountOptionsArgs: + def __init__(__self__, *, + fs_type: Optional[pulumi.Input[str]] = None, + mount_flags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[str] fs_type: `(string: )` - The file system type. + :param pulumi.Input[Sequence[pulumi.Input[str]]] mount_flags: `([]string: )` - The flags passed to `mount`. + """ + if fs_type is not None: + pulumi.set(__self__, "fs_type", fs_type) + if mount_flags is not None: + pulumi.set(__self__, "mount_flags", mount_flags) + + @property + @pulumi.getter(name="fsType") + def fs_type(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The file system type. + """ + return pulumi.get(self, "fs_type") + + @fs_type.setter + def fs_type(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "fs_type", value) + + @property + @pulumi.getter(name="mountFlags") + def mount_flags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + `([]string: )` - The flags passed to `mount`. + """ + return pulumi.get(self, "mount_flags") + + @mount_flags.setter + def mount_flags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "mount_flags", value) + + +@pulumi.input_type +class CsiVolumeRegistrationTopologyArgs: + def __init__(__self__, *, + segments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + if segments is not None: + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + @segments.setter + def segments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "segments", value) + + +@pulumi.input_type +class CsiVolumeRegistrationTopologyRequestArgs: + def __init__(__self__, *, + required: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredArgs']] = None): + """ + :param pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredArgs'] required: `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + if required is not None: + pulumi.set(__self__, "required", required) + + @property + @pulumi.getter + def required(self) -> Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredArgs']]: + """ + `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + return pulumi.get(self, "required") + + @required.setter + def required(self, value: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredArgs']]): + pulumi.set(self, "required", value) + + +@pulumi.input_type +class CsiVolumeRegistrationTopologyRequestRequiredArgs: + def __init__(__self__, *, + topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]]): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]]: + return pulumi.get(self, "topologies") + + @topologies.setter + def topologies(self, value: pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]]): + pulumi.set(self, "topologies", value) + + +@pulumi.input_type +class CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs: + def __init__(__self__, *, + segments: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + """ + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + @segments.setter + def segments(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "segments", value) + + +@pulumi.input_type +class CsiVolumeTopologyArgs: + def __init__(__self__, *, + segments: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + if segments is not None: + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + @segments.setter + def segments(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "segments", value) + + +@pulumi.input_type +class CsiVolumeTopologyRequestArgs: + def __init__(__self__, *, + preferred: Optional[pulumi.Input['CsiVolumeTopologyRequestPreferredArgs']] = None, + required: Optional[pulumi.Input['CsiVolumeTopologyRequestRequiredArgs']] = None): + """ + :param pulumi.Input['CsiVolumeTopologyRequestPreferredArgs'] preferred: `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + :param pulumi.Input['CsiVolumeTopologyRequestRequiredArgs'] required: `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + if preferred is not None: + pulumi.set(__self__, "preferred", preferred) + if required is not None: + pulumi.set(__self__, "required", required) + + @property + @pulumi.getter + def preferred(self) -> Optional[pulumi.Input['CsiVolumeTopologyRequestPreferredArgs']]: + """ + `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + """ + return pulumi.get(self, "preferred") + + @preferred.setter + def preferred(self, value: Optional[pulumi.Input['CsiVolumeTopologyRequestPreferredArgs']]): + pulumi.set(self, "preferred", value) + + @property + @pulumi.getter + def required(self) -> Optional[pulumi.Input['CsiVolumeTopologyRequestRequiredArgs']]: + """ + `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + return pulumi.get(self, "required") + + @required.setter + def required(self, value: Optional[pulumi.Input['CsiVolumeTopologyRequestRequiredArgs']]): + pulumi.set(self, "required", value) + + +@pulumi.input_type +class CsiVolumeTopologyRequestPreferredArgs: + def __init__(__self__, *, + topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]]): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]]: + return pulumi.get(self, "topologies") + + @topologies.setter + def topologies(self, value: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]]): + pulumi.set(self, "topologies", value) + + +@pulumi.input_type +class CsiVolumeTopologyRequestPreferredTopologyArgs: + def __init__(__self__, *, + segments: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + """ + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + @segments.setter + def segments(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "segments", value) + + +@pulumi.input_type +class CsiVolumeTopologyRequestRequiredArgs: + def __init__(__self__, *, + topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]]): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]]: + return pulumi.get(self, "topologies") + + @topologies.setter + def topologies(self, value: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]]): + pulumi.set(self, "topologies", value) + + +@pulumi.input_type +class CsiVolumeTopologyRequestRequiredTopologyArgs: + def __init__(__self__, *, + segments: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + """ + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> pulumi.Input[Mapping[str, pulumi.Input[str]]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + @segments.setter + def segments(self, value: pulumi.Input[Mapping[str, pulumi.Input[str]]]): + pulumi.set(self, "segments", value) + + @pulumi.input_type class ExternalVolumeCapabilityArgs: def __init__(__self__, *, @@ -470,11 +999,14 @@ def __init__(__self__, *, """ :param pulumi.Input[bool] allow_fs: `(boolean: false)` - Set this to `true` to be able to use HCL2 filesystem functions - :param pulumi.Input[bool] enabled: `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - format instead of the default HCL. + :param pulumi.Input[bool] enabled: `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + HCL2 by default. """ if allow_fs is not None: pulumi.set(__self__, "allow_fs", allow_fs) + if enabled is not None: + warnings.warn("""Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""", DeprecationWarning) + pulumi.log.warn("""enabled is deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""") if enabled is not None: pulumi.set(__self__, "enabled", enabled) if vars is not None: @@ -497,9 +1029,12 @@ def allow_fs(self, value: Optional[pulumi.Input[bool]]): @pulumi.getter def enabled(self) -> Optional[pulumi.Input[bool]]: """ - `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - format instead of the default HCL. + `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + HCL2 by default. """ + warnings.warn("""Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""", DeprecationWarning) + pulumi.log.warn("""enabled is deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""") + return pulumi.get(self, "enabled") @enabled.setter @@ -767,6 +1302,118 @@ def enabled_task_drivers(self, value: Optional[pulumi.Input[Sequence[pulumi.Inpu pulumi.set(self, "enabled_task_drivers", value) +@pulumi.input_type +class NamespaceNodePoolConfigArgs: + def __init__(__self__, *, + alloweds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, + default: Optional[pulumi.Input[str]] = None, + denieds: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[str]]] alloweds: `([]string: )` - The list of node pools that are allowed to be used in this namespace. + :param pulumi.Input[str] default: `(string: )` - The default node pool for jobs that don't define one. + :param pulumi.Input[Sequence[pulumi.Input[str]]] denieds: `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + """ + if alloweds is not None: + pulumi.set(__self__, "alloweds", alloweds) + if default is not None: + pulumi.set(__self__, "default", default) + if denieds is not None: + pulumi.set(__self__, "denieds", denieds) + + @property + @pulumi.getter + def alloweds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + `([]string: )` - The list of node pools that are allowed to be used in this namespace. + """ + return pulumi.get(self, "alloweds") + + @alloweds.setter + def alloweds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "alloweds", value) + + @property + @pulumi.getter + def default(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The default node pool for jobs that don't define one. + """ + return pulumi.get(self, "default") + + @default.setter + def default(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "default", value) + + @property + @pulumi.getter + def denieds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: + """ + `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + """ + return pulumi.get(self, "denieds") + + @denieds.setter + def denieds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]): + pulumi.set(self, "denieds", value) + + +@pulumi.input_type +class NodePoolSchedulerConfigArgs: + def __init__(__self__, *, + memory_oversubscription: Optional[pulumi.Input[str]] = None, + scheduler_algorithm: Optional[pulumi.Input[str]] = None): + """ + :param pulumi.Input[str] memory_oversubscription: `(string)` - Whether or not memory + oversubscription is enabled in the node pool. Possible values are + `"enabled"` or `"disabled"`. If not defined the global cluster + configuration is used. + + > This option differs from Nomad, where it's represented as a boolean, to + allow distinguishing between memory oversubscription being disabled in the + node pool and this property not being set. + :param pulumi.Input[str] scheduler_algorithm: `(string)` - The scheduler algorithm used in the node + pool. Possible values are `binpack` or `spread`. If not defined the global + cluster configuration is used. + """ + if memory_oversubscription is not None: + pulumi.set(__self__, "memory_oversubscription", memory_oversubscription) + if scheduler_algorithm is not None: + pulumi.set(__self__, "scheduler_algorithm", scheduler_algorithm) + + @property + @pulumi.getter(name="memoryOversubscription") + def memory_oversubscription(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - Whether or not memory + oversubscription is enabled in the node pool. Possible values are + `"enabled"` or `"disabled"`. If not defined the global cluster + configuration is used. + + > This option differs from Nomad, where it's represented as a boolean, to + allow distinguishing between memory oversubscription being disabled in the + node pool and this property not being set. + """ + return pulumi.get(self, "memory_oversubscription") + + @memory_oversubscription.setter + def memory_oversubscription(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "memory_oversubscription", value) + + @property + @pulumi.getter(name="schedulerAlgorithm") + def scheduler_algorithm(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - The scheduler algorithm used in the node + pool. Possible values are `binpack` or `spread`. If not defined the global + cluster configuration is used. + """ + return pulumi.get(self, "scheduler_algorithm") + + @scheduler_algorithm.setter + def scheduler_algorithm(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "scheduler_algorithm", value) + + @pulumi.input_type class ProviderHeaderArgs: def __init__(__self__, *, diff --git a/sdk/python/pulumi_nomad/acl_binding_rule.py b/sdk/python/pulumi_nomad/acl_binding_rule.py index 72c4a6fc..aac010cb 100644 --- a/sdk/python/pulumi_nomad/acl_binding_rule.py +++ b/sdk/python/pulumi_nomad/acl_binding_rule.py @@ -15,24 +15,27 @@ class AclBindingRuleArgs: def __init__(__self__, *, auth_method: pulumi.Input[str], - bind_name: pulumi.Input[str], bind_type: pulumi.Input[str], + bind_name: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, selector: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a AclBindingRule resource. :param pulumi.Input[str] auth_method: `(string: )` - Name of the auth method for which this rule applies to. - :param pulumi.Input[str] bind_name: `(string: "")` - Target of the binding. :param pulumi.Input[str] bind_type: `(string: )` - Adjusts how this binding rule is applied at login time. Valid values are `role`, `policy`, and `management`. + :param pulumi.Input[str] bind_name: `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. :param pulumi.Input[str] description: `(string: "")` - Description for this ACL binding rule. :param pulumi.Input[str] selector: `(string: "")` - A boolean expression that matches against verified identity attributes returned from the auth method during login. """ pulumi.set(__self__, "auth_method", auth_method) - pulumi.set(__self__, "bind_name", bind_name) pulumi.set(__self__, "bind_type", bind_type) + if bind_name is not None: + pulumi.set(__self__, "bind_name", bind_name) if description is not None: pulumi.set(__self__, "description", description) if selector is not None: @@ -51,18 +54,6 @@ def auth_method(self) -> pulumi.Input[str]: def auth_method(self, value: pulumi.Input[str]): pulumi.set(self, "auth_method", value) - @property - @pulumi.getter(name="bindName") - def bind_name(self) -> pulumi.Input[str]: - """ - `(string: "")` - Target of the binding. - """ - return pulumi.get(self, "bind_name") - - @bind_name.setter - def bind_name(self, value: pulumi.Input[str]): - pulumi.set(self, "bind_name", value) - @property @pulumi.getter(name="bindType") def bind_type(self) -> pulumi.Input[str]: @@ -76,6 +67,20 @@ def bind_type(self) -> pulumi.Input[str]: def bind_type(self, value: pulumi.Input[str]): pulumi.set(self, "bind_type", value) + @property + @pulumi.getter(name="bindName") + def bind_name(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. + """ + return pulumi.get(self, "bind_name") + + @bind_name.setter + def bind_name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "bind_name", value) + @property @pulumi.getter def description(self) -> Optional[pulumi.Input[str]]: @@ -114,7 +119,9 @@ def __init__(__self__, *, Input properties used for looking up and filtering AclBindingRule resources. :param pulumi.Input[str] auth_method: `(string: )` - Name of the auth method for which this rule applies to. - :param pulumi.Input[str] bind_name: `(string: "")` - Target of the binding. + :param pulumi.Input[str] bind_name: `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. :param pulumi.Input[str] bind_type: `(string: )` - Adjusts how this binding rule is applied at login time. Valid values are `role`, `policy`, and `management`. :param pulumi.Input[str] description: `(string: "")` - Description for this ACL binding rule. @@ -149,7 +156,9 @@ def auth_method(self, value: Optional[pulumi.Input[str]]): @pulumi.getter(name="bindName") def bind_name(self) -> Optional[pulumi.Input[str]]: """ - `(string: "")` - Target of the binding. + `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. """ return pulumi.get(self, "bind_name") @@ -213,7 +222,9 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] auth_method: `(string: )` - Name of the auth method for which this rule applies to. - :param pulumi.Input[str] bind_name: `(string: "")` - Target of the binding. + :param pulumi.Input[str] bind_name: `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. :param pulumi.Input[str] bind_type: `(string: )` - Adjusts how this binding rule is applied at login time. Valid values are `role`, `policy`, and `management`. :param pulumi.Input[str] description: `(string: "")` - Description for this ACL binding rule. @@ -260,8 +271,6 @@ def _internal_init(__self__, if auth_method is None and not opts.urn: raise TypeError("Missing required property 'auth_method'") __props__.__dict__["auth_method"] = auth_method - if bind_name is None and not opts.urn: - raise TypeError("Missing required property 'bind_name'") __props__.__dict__["bind_name"] = bind_name if bind_type is None and not opts.urn: raise TypeError("Missing required property 'bind_type'") @@ -292,7 +301,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] auth_method: `(string: )` - Name of the auth method for which this rule applies to. - :param pulumi.Input[str] bind_name: `(string: "")` - Target of the binding. + :param pulumi.Input[str] bind_name: `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. :param pulumi.Input[str] bind_type: `(string: )` - Adjusts how this binding rule is applied at login time. Valid values are `role`, `policy`, and `management`. :param pulumi.Input[str] description: `(string: "")` - Description for this ACL binding rule. @@ -321,9 +332,11 @@ def auth_method(self) -> pulumi.Output[str]: @property @pulumi.getter(name="bindName") - def bind_name(self) -> pulumi.Output[str]: + def bind_name(self) -> pulumi.Output[Optional[str]]: """ - `(string: "")` - Target of the binding. + `(string: )` - Target of the binding. If `bind_type` is + `role` or `policy` then `bind_name` is required. If `bind_type` is + `management` than `bind_name` must not be defined. """ return pulumi.get(self, "bind_name") diff --git a/sdk/python/pulumi_nomad/acl_policy.py b/sdk/python/pulumi_nomad/acl_policy.py index b5ea7da6..36107b1e 100644 --- a/sdk/python/pulumi_nomad/acl_policy.py +++ b/sdk/python/pulumi_nomad/acl_policy.py @@ -8,6 +8,8 @@ import pulumi.runtime from typing import Any, Mapping, Optional, Sequence, Union, overload from . import _utilities +from . import outputs +from ._inputs import * __all__ = ['AclPolicyArgs', 'AclPolicy'] @@ -16,17 +18,21 @@ class AclPolicyArgs: def __init__(__self__, *, rules_hcl: pulumi.Input[str], description: Optional[pulumi.Input[str]] = None, + job_acl: Optional[pulumi.Input['AclPolicyJobAclArgs']] = None, name: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a AclPolicy resource. :param pulumi.Input[str] rules_hcl: `(string: )` - The contents of the policy to register, as HCL or JSON. :param pulumi.Input[str] description: `(string: "")` - A description of the policy. + :param pulumi.Input['AclPolicyJobAclArgs'] job_acl: `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. :param pulumi.Input[str] name: `(string: )` - A unique name for the policy. """ pulumi.set(__self__, "rules_hcl", rules_hcl) if description is not None: pulumi.set(__self__, "description", description) + if job_acl is not None: + pulumi.set(__self__, "job_acl", job_acl) if name is not None: pulumi.set(__self__, "name", name) @@ -55,6 +61,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="jobAcl") + def job_acl(self) -> Optional[pulumi.Input['AclPolicyJobAclArgs']]: + """ + `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + """ + return pulumi.get(self, "job_acl") + + @job_acl.setter + def job_acl(self, value: Optional[pulumi.Input['AclPolicyJobAclArgs']]): + pulumi.set(self, "job_acl", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -72,17 +90,21 @@ def name(self, value: Optional[pulumi.Input[str]]): class _AclPolicyState: def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, + job_acl: Optional[pulumi.Input['AclPolicyJobAclArgs']] = None, name: Optional[pulumi.Input[str]] = None, rules_hcl: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering AclPolicy resources. :param pulumi.Input[str] description: `(string: "")` - A description of the policy. + :param pulumi.Input['AclPolicyJobAclArgs'] job_acl: `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. :param pulumi.Input[str] name: `(string: )` - A unique name for the policy. :param pulumi.Input[str] rules_hcl: `(string: )` - The contents of the policy to register, as HCL or JSON. """ if description is not None: pulumi.set(__self__, "description", description) + if job_acl is not None: + pulumi.set(__self__, "job_acl", job_acl) if name is not None: pulumi.set(__self__, "name", name) if rules_hcl is not None: @@ -100,6 +122,18 @@ def description(self) -> Optional[pulumi.Input[str]]: def description(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "description", value) + @property + @pulumi.getter(name="jobAcl") + def job_acl(self) -> Optional[pulumi.Input['AclPolicyJobAclArgs']]: + """ + `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + """ + return pulumi.get(self, "job_acl") + + @job_acl.setter + def job_acl(self, value: Optional[pulumi.Input['AclPolicyJobAclArgs']]): + pulumi.set(self, "job_acl", value) + @property @pulumi.getter def name(self) -> Optional[pulumi.Input[str]]: @@ -132,6 +166,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + job_acl: Optional[pulumi.Input[pulumi.InputType['AclPolicyJobAclArgs']]] = None, name: Optional[pulumi.Input[str]] = None, rules_hcl: Optional[pulumi.Input[str]] = None, __props__=None): @@ -169,6 +204,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: `(string: "")` - A description of the policy. + :param pulumi.Input[pulumi.InputType['AclPolicyJobAclArgs']] job_acl: `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. :param pulumi.Input[str] name: `(string: )` - A unique name for the policy. :param pulumi.Input[str] rules_hcl: `(string: )` - The contents of the policy to register, as HCL or JSON. @@ -226,6 +262,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + job_acl: Optional[pulumi.Input[pulumi.InputType['AclPolicyJobAclArgs']]] = None, name: Optional[pulumi.Input[str]] = None, rules_hcl: Optional[pulumi.Input[str]] = None, __props__=None): @@ -238,6 +275,7 @@ def _internal_init(__self__, __props__ = AclPolicyArgs.__new__(AclPolicyArgs) __props__.__dict__["description"] = description + __props__.__dict__["job_acl"] = job_acl __props__.__dict__["name"] = name if rules_hcl is None and not opts.urn: raise TypeError("Missing required property 'rules_hcl'") @@ -253,6 +291,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[str]] = None, + job_acl: Optional[pulumi.Input[pulumi.InputType['AclPolicyJobAclArgs']]] = None, name: Optional[pulumi.Input[str]] = None, rules_hcl: Optional[pulumi.Input[str]] = None) -> 'AclPolicy': """ @@ -263,6 +302,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[str] description: `(string: "")` - A description of the policy. + :param pulumi.Input[pulumi.InputType['AclPolicyJobAclArgs']] job_acl: `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. :param pulumi.Input[str] name: `(string: )` - A unique name for the policy. :param pulumi.Input[str] rules_hcl: `(string: )` - The contents of the policy to register, as HCL or JSON. @@ -272,6 +312,7 @@ def get(resource_name: str, __props__ = _AclPolicyState.__new__(_AclPolicyState) __props__.__dict__["description"] = description + __props__.__dict__["job_acl"] = job_acl __props__.__dict__["name"] = name __props__.__dict__["rules_hcl"] = rules_hcl return AclPolicy(resource_name, opts=opts, __props__=__props__) @@ -284,6 +325,14 @@ def description(self) -> pulumi.Output[Optional[str]]: """ return pulumi.get(self, "description") + @property + @pulumi.getter(name="jobAcl") + def job_acl(self) -> pulumi.Output[Optional['outputs.AclPolicyJobAcl']]: + """ + `(``JobACL``: )` - Options for assigning the ACL rules to a job, group, or task. + """ + return pulumi.get(self, "job_acl") + @property @pulumi.getter def name(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_nomad/config/__init__.pyi b/sdk/python/pulumi_nomad/config/__init__.pyi index 91faa76d..da5214ca 100644 --- a/sdk/python/pulumi_nomad/config/__init__.pyi +++ b/sdk/python/pulumi_nomad/config/__init__.pyi @@ -75,6 +75,11 @@ secretId: Optional[str] ACL token secret for API requests. """ +skipVerify: Optional[bool] +""" +Skip TLS verification on client side. +""" + vaultToken: Optional[str] """ Vault token if policies are specified in the job file. diff --git a/sdk/python/pulumi_nomad/config/vars.py b/sdk/python/pulumi_nomad/config/vars.py index ea1dcd0b..ae82cd8c 100644 --- a/sdk/python/pulumi_nomad/config/vars.py +++ b/sdk/python/pulumi_nomad/config/vars.py @@ -107,6 +107,13 @@ def secret_id(self) -> Optional[str]: """ return __config__.get('secretId') + @property + def skip_verify(self) -> Optional[bool]: + """ + Skip TLS verification on client side. + """ + return __config__.get_bool('skipVerify') + @property def vault_token(self) -> Optional[str]: """ diff --git a/sdk/python/pulumi_nomad/csi_volume.py b/sdk/python/pulumi_nomad/csi_volume.py new file mode 100644 index 00000000..62562d8b --- /dev/null +++ b/sdk/python/pulumi_nomad/csi_volume.py @@ -0,0 +1,1048 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CsiVolumeArgs', 'CsiVolume'] + +@pulumi.input_type +class CsiVolumeArgs: + def __init__(__self__, *, + capabilities: pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]], + plugin_id: pulumi.Input[str], + volume_id: pulumi.Input[str], + capacity_max: Optional[pulumi.Input[str]] = None, + capacity_min: Optional[pulumi.Input[str]] = None, + clone_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input['CsiVolumeMountOptionsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + topology_request: Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']] = None): + """ + The set of arguments for constructing a CsiVolume resource. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + :param pulumi.Input[str] capacity_max: `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] capacity_min: `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] clone_id: `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + :param pulumi.Input['CsiVolumeMountOptionsArgs'] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[str] snapshot_id: `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + :param pulumi.Input['CsiVolumeTopologyRequestArgs'] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + pulumi.set(__self__, "capabilities", capabilities) + pulumi.set(__self__, "plugin_id", plugin_id) + pulumi.set(__self__, "volume_id", volume_id) + if capacity_max is not None: + pulumi.set(__self__, "capacity_max", capacity_max) + if capacity_min is not None: + pulumi.set(__self__, "capacity_min", capacity_min) + if clone_id is not None: + pulumi.set(__self__, "clone_id", clone_id) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + if topology_request is not None: + pulumi.set(__self__, "topology_request", topology_request) + + @property + @pulumi.getter + def capabilities(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @capabilities.setter + def capabilities(self, value: pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]]): + pulumi.set(self, "capabilities", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Input[str]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @plugin_id.setter + def plugin_id(self, value: pulumi.Input[str]): + pulumi.set(self, "plugin_id", value) + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> pulumi.Input[str]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + + @volume_id.setter + def volume_id(self, value: pulumi.Input[str]): + pulumi.set(self, "volume_id", value) + + @property + @pulumi.getter(name="capacityMax") + def capacity_max(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_max") + + @capacity_max.setter + def capacity_max(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_max", value) + + @property + @pulumi.getter(name="capacityMin") + def capacity_min(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_min") + + @capacity_min.setter + def capacity_min(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_min", value) + + @property + @pulumi.getter(name="cloneId") + def clone_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + """ + return pulumi.get(self, "clone_id") + + @clone_id.setter + def clone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "clone_id", value) + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[pulumi.Input['CsiVolumeMountOptionsArgs']]: + """ + `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @mount_options.setter + def mount_options(self, value: Optional[pulumi.Input['CsiVolumeMountOptionsArgs']]): + pulumi.set(self, "mount_options", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + """ + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @topology_request.setter + def topology_request(self, value: Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']]): + pulumi.set(self, "topology_request", value) + + +@pulumi.input_type +class _CsiVolumeState: + def __init__(__self__, *, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]]] = None, + capacity_max: Optional[pulumi.Input[str]] = None, + capacity_min: Optional[pulumi.Input[str]] = None, + clone_id: Optional[pulumi.Input[str]] = None, + controller_required: Optional[pulumi.Input[bool]] = None, + controllers_expected: Optional[pulumi.Input[int]] = None, + controllers_healthy: Optional[pulumi.Input[int]] = None, + mount_options: Optional[pulumi.Input['CsiVolumeMountOptionsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + nodes_expected: Optional[pulumi.Input[int]] = None, + nodes_healthy: Optional[pulumi.Input[int]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + plugin_provider: Optional[pulumi.Input[str]] = None, + plugin_provider_version: Optional[pulumi.Input[str]] = None, + schedulable: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + topologies: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyArgs']]]] = None, + topology_request: Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']] = None, + volume_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CsiVolume resources. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[str] capacity_max: `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] capacity_min: `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] clone_id: `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + :param pulumi.Input[bool] controller_required: `(boolean)` + :param pulumi.Input[int] controllers_expected: `(integer)` + :param pulumi.Input[int] controllers_healthy: `(integer)` + :param pulumi.Input['CsiVolumeMountOptionsArgs'] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[int] nodes_expected: `(integer)` + :param pulumi.Input[int] nodes_healthy: `(integer)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] plugin_provider: `(string)` + :param pulumi.Input[str] plugin_provider_version: `(string)` + :param pulumi.Input[bool] schedulable: `(boolean)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[str] snapshot_id: `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyArgs']]] topologies: `(List of topologies)` + :param pulumi.Input['CsiVolumeTopologyRequestArgs'] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + if capabilities is not None: + pulumi.set(__self__, "capabilities", capabilities) + if capacity_max is not None: + pulumi.set(__self__, "capacity_max", capacity_max) + if capacity_min is not None: + pulumi.set(__self__, "capacity_min", capacity_min) + if clone_id is not None: + pulumi.set(__self__, "clone_id", clone_id) + if controller_required is not None: + pulumi.set(__self__, "controller_required", controller_required) + if controllers_expected is not None: + pulumi.set(__self__, "controllers_expected", controllers_expected) + if controllers_healthy is not None: + pulumi.set(__self__, "controllers_healthy", controllers_healthy) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if nodes_expected is not None: + pulumi.set(__self__, "nodes_expected", nodes_expected) + if nodes_healthy is not None: + pulumi.set(__self__, "nodes_healthy", nodes_healthy) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if plugin_id is not None: + pulumi.set(__self__, "plugin_id", plugin_id) + if plugin_provider is not None: + pulumi.set(__self__, "plugin_provider", plugin_provider) + if plugin_provider_version is not None: + pulumi.set(__self__, "plugin_provider_version", plugin_provider_version) + if schedulable is not None: + pulumi.set(__self__, "schedulable", schedulable) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if snapshot_id is not None: + pulumi.set(__self__, "snapshot_id", snapshot_id) + if topologies is not None: + pulumi.set(__self__, "topologies", topologies) + if topology_request is not None: + pulumi.set(__self__, "topology_request", topology_request) + if volume_id is not None: + pulumi.set(__self__, "volume_id", volume_id) + + @property + @pulumi.getter + def capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]]]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @capabilities.setter + def capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeCapabilityArgs']]]]): + pulumi.set(self, "capabilities", value) + + @property + @pulumi.getter(name="capacityMax") + def capacity_max(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_max") + + @capacity_max.setter + def capacity_max(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_max", value) + + @property + @pulumi.getter(name="capacityMin") + def capacity_min(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_min") + + @capacity_min.setter + def capacity_min(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "capacity_min", value) + + @property + @pulumi.getter(name="cloneId") + def clone_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + """ + return pulumi.get(self, "clone_id") + + @clone_id.setter + def clone_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "clone_id", value) + + @property + @pulumi.getter(name="controllerRequired") + def controller_required(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean)` + """ + return pulumi.get(self, "controller_required") + + @controller_required.setter + def controller_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "controller_required", value) + + @property + @pulumi.getter(name="controllersExpected") + def controllers_expected(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_expected") + + @controllers_expected.setter + def controllers_expected(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "controllers_expected", value) + + @property + @pulumi.getter(name="controllersHealthy") + def controllers_healthy(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_healthy") + + @controllers_healthy.setter + def controllers_healthy(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "controllers_healthy", value) + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[pulumi.Input['CsiVolumeMountOptionsArgs']]: + """ + `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @mount_options.setter + def mount_options(self, value: Optional[pulumi.Input['CsiVolumeMountOptionsArgs']]): + pulumi.set(self, "mount_options", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="nodesExpected") + def nodes_expected(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_expected") + + @nodes_expected.setter + def nodes_expected(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nodes_expected", value) + + @property + @pulumi.getter(name="nodesHealthy") + def nodes_healthy(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_healthy") + + @nodes_healthy.setter + def nodes_healthy(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nodes_healthy", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @plugin_id.setter + def plugin_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_id", value) + + @property + @pulumi.getter(name="pluginProvider") + def plugin_provider(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider") + + @plugin_provider.setter + def plugin_provider(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_provider", value) + + @property + @pulumi.getter(name="pluginProviderVersion") + def plugin_provider_version(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider_version") + + @plugin_provider_version.setter + def plugin_provider_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_provider_version", value) + + @property + @pulumi.getter + def schedulable(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean)` + """ + return pulumi.get(self, "schedulable") + + @schedulable.setter + def schedulable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "schedulable", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + """ + return pulumi.get(self, "snapshot_id") + + @snapshot_id.setter + def snapshot_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "snapshot_id", value) + + @property + @pulumi.getter + def topologies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyArgs']]]]: + """ + `(List of topologies)` + """ + return pulumi.get(self, "topologies") + + @topologies.setter + def topologies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyArgs']]]]): + pulumi.set(self, "topologies", value) + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @topology_request.setter + def topology_request(self, value: Optional[pulumi.Input['CsiVolumeTopologyRequestArgs']]): + pulumi.set(self, "topology_request", value) + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + + @volume_id.setter + def volume_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "volume_id", value) + + +class CsiVolume(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeCapabilityArgs']]]]] = None, + capacity_max: Optional[pulumi.Input[str]] = None, + capacity_min: Optional[pulumi.Input[str]] = None, + clone_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + Creating a volume: + + ```python + import pulumi + import pulumi_nomad as nomad + + ebs = nomad.get_plugin(plugin_id="aws-ebs0", + wait_for_healthy=True) + mysql_volume = nomad.CsiVolume("mysqlVolume", + plugin_id="aws-ebs0", + volume_id="mysql_volume", + capacity_min="10GiB", + capacity_max="20GiB", + capabilities=[nomad.CsiVolumeCapabilityArgs( + access_mode="single-node-writer", + attachment_mode="file-system", + )], + mount_options=nomad.CsiVolumeMountOptionsArgs( + fs_type="ext4", + ), + topology_request=nomad.CsiVolumeTopologyRequestArgs( + required=nomad.CsiVolumeTopologyRequestRequiredArgs( + topologies=[ + nomad.CsiVolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R1", + "zone": "us-east-1a", + }, + ), + nomad.CsiVolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R2", + }, + ), + ], + ), + ), + opts=pulumi.ResourceOptions(depends_on=[ebs])) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeCapabilityArgs']]]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[str] capacity_max: `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] capacity_min: `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] clone_id: `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + :param pulumi.Input[pulumi.InputType['CsiVolumeMountOptionsArgs']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[str] snapshot_id: `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + :param pulumi.Input[pulumi.InputType['CsiVolumeTopologyRequestArgs']] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CsiVolumeArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + Creating a volume: + + ```python + import pulumi + import pulumi_nomad as nomad + + ebs = nomad.get_plugin(plugin_id="aws-ebs0", + wait_for_healthy=True) + mysql_volume = nomad.CsiVolume("mysqlVolume", + plugin_id="aws-ebs0", + volume_id="mysql_volume", + capacity_min="10GiB", + capacity_max="20GiB", + capabilities=[nomad.CsiVolumeCapabilityArgs( + access_mode="single-node-writer", + attachment_mode="file-system", + )], + mount_options=nomad.CsiVolumeMountOptionsArgs( + fs_type="ext4", + ), + topology_request=nomad.CsiVolumeTopologyRequestArgs( + required=nomad.CsiVolumeTopologyRequestRequiredArgs( + topologies=[ + nomad.CsiVolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R1", + "zone": "us-east-1a", + }, + ), + nomad.CsiVolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R2", + }, + ), + ], + ), + ), + opts=pulumi.ResourceOptions(depends_on=[ebs])) + ``` + + :param str resource_name: The name of the resource. + :param CsiVolumeArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CsiVolumeArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeCapabilityArgs']]]]] = None, + capacity_max: Optional[pulumi.Input[str]] = None, + capacity_min: Optional[pulumi.Input[str]] = None, + clone_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CsiVolumeArgs.__new__(CsiVolumeArgs) + + if capabilities is None and not opts.urn: + raise TypeError("Missing required property 'capabilities'") + __props__.__dict__["capabilities"] = capabilities + __props__.__dict__["capacity_max"] = capacity_max + __props__.__dict__["capacity_min"] = capacity_min + __props__.__dict__["clone_id"] = clone_id + __props__.__dict__["mount_options"] = mount_options + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["parameters"] = parameters + if plugin_id is None and not opts.urn: + raise TypeError("Missing required property 'plugin_id'") + __props__.__dict__["plugin_id"] = plugin_id + __props__.__dict__["secrets"] = None if secrets is None else pulumi.Output.secret(secrets) + __props__.__dict__["snapshot_id"] = snapshot_id + __props__.__dict__["topology_request"] = topology_request + if volume_id is None and not opts.urn: + raise TypeError("Missing required property 'volume_id'") + __props__.__dict__["volume_id"] = volume_id + __props__.__dict__["controller_required"] = None + __props__.__dict__["controllers_expected"] = None + __props__.__dict__["controllers_healthy"] = None + __props__.__dict__["nodes_expected"] = None + __props__.__dict__["nodes_healthy"] = None + __props__.__dict__["plugin_provider"] = None + __props__.__dict__["plugin_provider_version"] = None + __props__.__dict__["schedulable"] = None + __props__.__dict__["topologies"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secrets"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(CsiVolume, __self__).__init__( + 'nomad:index/csiVolume:CsiVolume', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeCapabilityArgs']]]]] = None, + capacity_max: Optional[pulumi.Input[str]] = None, + capacity_min: Optional[pulumi.Input[str]] = None, + clone_id: Optional[pulumi.Input[str]] = None, + controller_required: Optional[pulumi.Input[bool]] = None, + controllers_expected: Optional[pulumi.Input[int]] = None, + controllers_healthy: Optional[pulumi.Input[int]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + nodes_expected: Optional[pulumi.Input[int]] = None, + nodes_healthy: Optional[pulumi.Input[int]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + plugin_provider: Optional[pulumi.Input[str]] = None, + plugin_provider_version: Optional[pulumi.Input[str]] = None, + schedulable: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + snapshot_id: Optional[pulumi.Input[str]] = None, + topologies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeTopologyArgs']]]]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None) -> 'CsiVolume': + """ + Get an existing CsiVolume resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeCapabilityArgs']]]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[str] capacity_max: `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] capacity_min: `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + :param pulumi.Input[str] clone_id: `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + :param pulumi.Input[bool] controller_required: `(boolean)` + :param pulumi.Input[int] controllers_expected: `(integer)` + :param pulumi.Input[int] controllers_healthy: `(integer)` + :param pulumi.Input[pulumi.InputType['CsiVolumeMountOptionsArgs']] mount_options: `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[int] nodes_expected: `(integer)` + :param pulumi.Input[int] nodes_healthy: `(integer)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] plugin_provider: `(string)` + :param pulumi.Input[str] plugin_provider_version: `(string)` + :param pulumi.Input[bool] schedulable: `(boolean)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[str] snapshot_id: `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeTopologyArgs']]]] topologies: `(List of topologies)` + :param pulumi.Input[pulumi.InputType['CsiVolumeTopologyRequestArgs']] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CsiVolumeState.__new__(_CsiVolumeState) + + __props__.__dict__["capabilities"] = capabilities + __props__.__dict__["capacity_max"] = capacity_max + __props__.__dict__["capacity_min"] = capacity_min + __props__.__dict__["clone_id"] = clone_id + __props__.__dict__["controller_required"] = controller_required + __props__.__dict__["controllers_expected"] = controllers_expected + __props__.__dict__["controllers_healthy"] = controllers_healthy + __props__.__dict__["mount_options"] = mount_options + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["nodes_expected"] = nodes_expected + __props__.__dict__["nodes_healthy"] = nodes_healthy + __props__.__dict__["parameters"] = parameters + __props__.__dict__["plugin_id"] = plugin_id + __props__.__dict__["plugin_provider"] = plugin_provider + __props__.__dict__["plugin_provider_version"] = plugin_provider_version + __props__.__dict__["schedulable"] = schedulable + __props__.__dict__["secrets"] = secrets + __props__.__dict__["snapshot_id"] = snapshot_id + __props__.__dict__["topologies"] = topologies + __props__.__dict__["topology_request"] = topology_request + __props__.__dict__["volume_id"] = volume_id + return CsiVolume(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def capabilities(self) -> pulumi.Output[Sequence['outputs.CsiVolumeCapability']]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @property + @pulumi.getter(name="capacityMax") + def capacity_max(self) -> pulumi.Output[Optional[str]]: + """ + `(string: )` - Option to signal a maximum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_max") + + @property + @pulumi.getter(name="capacityMin") + def capacity_min(self) -> pulumi.Output[Optional[str]]: + """ + `(string: )` - Option to signal a minimum volume size. This may not be supported by all storage providers. + """ + return pulumi.get(self, "capacity_min") + + @property + @pulumi.getter(name="cloneId") + def clone_id(self) -> pulumi.Output[Optional[str]]: + """ + `(string: )` - The external ID of an existing volume to restore. If ommited, the volume will be created from scratch. Conflicts with `snapshot_id`. + """ + return pulumi.get(self, "clone_id") + + @property + @pulumi.getter(name="controllerRequired") + def controller_required(self) -> pulumi.Output[bool]: + """ + `(boolean)` + """ + return pulumi.get(self, "controller_required") + + @property + @pulumi.getter(name="controllersExpected") + def controllers_expected(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_expected") + + @property + @pulumi.getter(name="controllersHealthy") + def controllers_healthy(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_healthy") + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> pulumi.Output[Optional['outputs.CsiVolumeMountOptions']]: + """ + `(block: optional)` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[Optional[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="nodesExpected") + def nodes_expected(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_expected") + + @property + @pulumi.getter(name="nodesHealthy") + def nodes_healthy(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_healthy") + + @property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Output[str]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @property + @pulumi.getter(name="pluginProvider") + def plugin_provider(self) -> pulumi.Output[str]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider") + + @property + @pulumi.getter(name="pluginProviderVersion") + def plugin_provider_version(self) -> pulumi.Output[str]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider_version") + + @property + @pulumi.getter + def schedulable(self) -> pulumi.Output[bool]: + """ + `(boolean)` + """ + return pulumi.get(self, "schedulable") + + @property + @pulumi.getter + def secrets(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string: optional)` An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @property + @pulumi.getter(name="snapshotId") + def snapshot_id(self) -> pulumi.Output[Optional[str]]: + """ + `(string: )` - The external ID of a snapshot to restore. If ommited, the volume will be created from scratch. Conflicts with `clone_id`. + """ + return pulumi.get(self, "snapshot_id") + + @property + @pulumi.getter + def topologies(self) -> pulumi.Output[Sequence['outputs.CsiVolumeTopology']]: + """ + `(List of topologies)` + """ + return pulumi.get(self, "topologies") + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> pulumi.Output[Optional['outputs.CsiVolumeTopologyRequest']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> pulumi.Output[str]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + diff --git a/sdk/python/pulumi_nomad/csi_volume_registration.py b/sdk/python/pulumi_nomad/csi_volume_registration.py new file mode 100644 index 00000000..868f0af4 --- /dev/null +++ b/sdk/python/pulumi_nomad/csi_volume_registration.py @@ -0,0 +1,999 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['CsiVolumeRegistrationArgs', 'CsiVolumeRegistration'] + +@pulumi.input_type +class CsiVolumeRegistrationArgs: + def __init__(__self__, *, + external_id: pulumi.Input[str], + plugin_id: pulumi.Input[str], + volume_id: pulumi.Input[str], + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]] = None, + context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deregister_on_destroy: Optional[pulumi.Input[bool]] = None, + mount_options: Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + topology_request: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']] = None): + """ + The set of arguments for constructing a CsiVolumeRegistration resource. + :param pulumi.Input[str] external_id: `(string: )` - The ID of the physical volume from the storage provider. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] context: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + :param pulumi.Input[bool] deregister_on_destroy: `(boolean: false)` - If true, the volume will be deregistered on destroy. + :param pulumi.Input['CsiVolumeRegistrationMountOptionsArgs'] mount_options: `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs'] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + pulumi.set(__self__, "external_id", external_id) + pulumi.set(__self__, "plugin_id", plugin_id) + pulumi.set(__self__, "volume_id", volume_id) + if capabilities is not None: + pulumi.set(__self__, "capabilities", capabilities) + if context is not None: + pulumi.set(__self__, "context", context) + if deregister_on_destroy is not None: + pulumi.set(__self__, "deregister_on_destroy", deregister_on_destroy) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if topology_request is not None: + pulumi.set(__self__, "topology_request", topology_request) + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> pulumi.Input[str]: + """ + `(string: )` - The ID of the physical volume from the storage provider. + """ + return pulumi.get(self, "external_id") + + @external_id.setter + def external_id(self, value: pulumi.Input[str]): + pulumi.set(self, "external_id", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Input[str]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @plugin_id.setter + def plugin_id(self, value: pulumi.Input[str]): + pulumi.set(self, "plugin_id", value) + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> pulumi.Input[str]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + + @volume_id.setter + def volume_id(self, value: pulumi.Input[str]): + pulumi.set(self, "volume_id", value) + + @property + @pulumi.getter + def capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @capabilities.setter + def capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]]): + pulumi.set(self, "capabilities", value) + + @property + @pulumi.getter + def context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + """ + return pulumi.get(self, "context") + + @context.setter + def context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "context", value) + + @property + @pulumi.getter(name="deregisterOnDestroy") + def deregister_on_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean: false)` - If true, the volume will be deregistered on destroy. + """ + return pulumi.get(self, "deregister_on_destroy") + + @deregister_on_destroy.setter + def deregister_on_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deregister_on_destroy", value) + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']]: + """ + `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @mount_options.setter + def mount_options(self, value: Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']]): + pulumi.set(self, "mount_options", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @topology_request.setter + def topology_request(self, value: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']]): + pulumi.set(self, "topology_request", value) + + +@pulumi.input_type +class _CsiVolumeRegistrationState: + def __init__(__self__, *, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]] = None, + context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + controller_required: Optional[pulumi.Input[bool]] = None, + controllers_expected: Optional[pulumi.Input[int]] = None, + controllers_healthy: Optional[pulumi.Input[int]] = None, + deregister_on_destroy: Optional[pulumi.Input[bool]] = None, + external_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + nodes_expected: Optional[pulumi.Input[int]] = None, + nodes_healthy: Optional[pulumi.Input[int]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + plugin_provider: Optional[pulumi.Input[str]] = None, + plugin_provider_version: Optional[pulumi.Input[str]] = None, + schedulable: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + topologies: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyArgs']]]] = None, + topology_request: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']] = None, + volume_id: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering CsiVolumeRegistration resources. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] context: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + :param pulumi.Input[bool] controller_required: `(boolean)` + :param pulumi.Input[int] controllers_expected: `(integer)` + :param pulumi.Input[int] controllers_healthy: `(integer)` + :param pulumi.Input[bool] deregister_on_destroy: `(boolean: false)` - If true, the volume will be deregistered on destroy. + :param pulumi.Input[str] external_id: `(string: )` - The ID of the physical volume from the storage provider. + :param pulumi.Input['CsiVolumeRegistrationMountOptionsArgs'] mount_options: `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[int] nodes_expected: `(integer)` + :param pulumi.Input[int] nodes_healthy: `(integer)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] plugin_provider: `(string)` + :param pulumi.Input[str] plugin_provider_version: `(string)` + :param pulumi.Input[bool] schedulable: `(boolean)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyArgs']]] topologies: `(List of topologies)` + :param pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs'] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + if capabilities is not None: + pulumi.set(__self__, "capabilities", capabilities) + if context is not None: + pulumi.set(__self__, "context", context) + if controller_required is not None: + pulumi.set(__self__, "controller_required", controller_required) + if controllers_expected is not None: + pulumi.set(__self__, "controllers_expected", controllers_expected) + if controllers_healthy is not None: + pulumi.set(__self__, "controllers_healthy", controllers_healthy) + if deregister_on_destroy is not None: + pulumi.set(__self__, "deregister_on_destroy", deregister_on_destroy) + if external_id is not None: + pulumi.set(__self__, "external_id", external_id) + if mount_options is not None: + pulumi.set(__self__, "mount_options", mount_options) + if name is not None: + pulumi.set(__self__, "name", name) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if nodes_expected is not None: + pulumi.set(__self__, "nodes_expected", nodes_expected) + if nodes_healthy is not None: + pulumi.set(__self__, "nodes_healthy", nodes_healthy) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if plugin_id is not None: + pulumi.set(__self__, "plugin_id", plugin_id) + if plugin_provider is not None: + pulumi.set(__self__, "plugin_provider", plugin_provider) + if plugin_provider_version is not None: + pulumi.set(__self__, "plugin_provider_version", plugin_provider_version) + if schedulable is not None: + pulumi.set(__self__, "schedulable", schedulable) + if secrets is not None: + pulumi.set(__self__, "secrets", secrets) + if topologies is not None: + pulumi.set(__self__, "topologies", topologies) + if topology_request is not None: + pulumi.set(__self__, "topology_request", topology_request) + if volume_id is not None: + pulumi.set(__self__, "volume_id", volume_id) + + @property + @pulumi.getter + def capabilities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @capabilities.setter + def capabilities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationCapabilityArgs']]]]): + pulumi.set(self, "capabilities", value) + + @property + @pulumi.getter + def context(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + """ + return pulumi.get(self, "context") + + @context.setter + def context(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "context", value) + + @property + @pulumi.getter(name="controllerRequired") + def controller_required(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean)` + """ + return pulumi.get(self, "controller_required") + + @controller_required.setter + def controller_required(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "controller_required", value) + + @property + @pulumi.getter(name="controllersExpected") + def controllers_expected(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_expected") + + @controllers_expected.setter + def controllers_expected(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "controllers_expected", value) + + @property + @pulumi.getter(name="controllersHealthy") + def controllers_healthy(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_healthy") + + @controllers_healthy.setter + def controllers_healthy(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "controllers_healthy", value) + + @property + @pulumi.getter(name="deregisterOnDestroy") + def deregister_on_destroy(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean: false)` - If true, the volume will be deregistered on destroy. + """ + return pulumi.get(self, "deregister_on_destroy") + + @deregister_on_destroy.setter + def deregister_on_destroy(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "deregister_on_destroy", value) + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The ID of the physical volume from the storage provider. + """ + return pulumi.get(self, "external_id") + + @external_id.setter + def external_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "external_id", value) + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']]: + """ + `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @mount_options.setter + def mount_options(self, value: Optional[pulumi.Input['CsiVolumeRegistrationMountOptionsArgs']]): + pulumi.set(self, "mount_options", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter(name="nodesExpected") + def nodes_expected(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_expected") + + @nodes_expected.setter + def nodes_expected(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nodes_expected", value) + + @property + @pulumi.getter(name="nodesHealthy") + def nodes_healthy(self) -> Optional[pulumi.Input[int]]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_healthy") + + @nodes_healthy.setter + def nodes_healthy(self, value: Optional[pulumi.Input[int]]): + pulumi.set(self, "nodes_healthy", value) + + @property + @pulumi.getter + def parameters(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @parameters.setter + def parameters(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "parameters", value) + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @plugin_id.setter + def plugin_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_id", value) + + @property + @pulumi.getter(name="pluginProvider") + def plugin_provider(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider") + + @plugin_provider.setter + def plugin_provider(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_provider", value) + + @property + @pulumi.getter(name="pluginProviderVersion") + def plugin_provider_version(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider_version") + + @plugin_provider_version.setter + def plugin_provider_version(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "plugin_provider_version", value) + + @property + @pulumi.getter + def schedulable(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean)` + """ + return pulumi.get(self, "schedulable") + + @schedulable.setter + def schedulable(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "schedulable", value) + + @property + @pulumi.getter + def secrets(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @secrets.setter + def secrets(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "secrets", value) + + @property + @pulumi.getter + def topologies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyArgs']]]]: + """ + `(List of topologies)` + """ + return pulumi.get(self, "topologies") + + @topologies.setter + def topologies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyArgs']]]]): + pulumi.set(self, "topologies", value) + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @topology_request.setter + def topology_request(self, value: Optional[pulumi.Input['CsiVolumeRegistrationTopologyRequestArgs']]): + pulumi.set(self, "topology_request", value) + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + + @volume_id.setter + def volume_id(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "volume_id", value) + + +class CsiVolumeRegistration(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationCapabilityArgs']]]]] = None, + context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deregister_on_destroy: Optional[pulumi.Input[bool]] = None, + external_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + Registering a volume: + + ```python + import pulumi + import pulumi_nomad as nomad + + ebs = nomad.get_plugin(plugin_id="aws-ebs0", + wait_for_healthy=True) + mysql_volume = nomad.Volume("mysqlVolume", + plugin_id="aws-ebs0", + volume_id="mysql_volume", + external_id=module["hashistack"]["ebs_test_volume_id"], + capabilities=[nomad.VolumeCapabilityArgs( + access_mode="single-node-writer", + attachment_mode="file-system", + )], + mount_options=nomad.VolumeMountOptionsArgs( + fs_type="ext4", + ), + topology_request=nomad.VolumeTopologyRequestArgs( + required=nomad.VolumeTopologyRequestRequiredArgs( + topologies=[ + nomad.VolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R1", + "zone": "us-east-1a", + }, + ), + nomad.VolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R2", + }, + ), + ], + ), + ), + opts=pulumi.ResourceOptions(depends_on=[ebs])) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationCapabilityArgs']]]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] context: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + :param pulumi.Input[bool] deregister_on_destroy: `(boolean: false)` - If true, the volume will be deregistered on destroy. + :param pulumi.Input[str] external_id: `(string: )` - The ID of the physical volume from the storage provider. + :param pulumi.Input[pulumi.InputType['CsiVolumeRegistrationMountOptionsArgs']] mount_options: `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyRequestArgs']] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: CsiVolumeRegistrationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + Registering a volume: + + ```python + import pulumi + import pulumi_nomad as nomad + + ebs = nomad.get_plugin(plugin_id="aws-ebs0", + wait_for_healthy=True) + mysql_volume = nomad.Volume("mysqlVolume", + plugin_id="aws-ebs0", + volume_id="mysql_volume", + external_id=module["hashistack"]["ebs_test_volume_id"], + capabilities=[nomad.VolumeCapabilityArgs( + access_mode="single-node-writer", + attachment_mode="file-system", + )], + mount_options=nomad.VolumeMountOptionsArgs( + fs_type="ext4", + ), + topology_request=nomad.VolumeTopologyRequestArgs( + required=nomad.VolumeTopologyRequestRequiredArgs( + topologies=[ + nomad.VolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R1", + "zone": "us-east-1a", + }, + ), + nomad.VolumeTopologyRequestRequiredTopologyArgs( + segments={ + "rack": "R2", + }, + ), + ], + ), + ), + opts=pulumi.ResourceOptions(depends_on=[ebs])) + ``` + + :param str resource_name: The name of the resource. + :param CsiVolumeRegistrationArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(CsiVolumeRegistrationArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationCapabilityArgs']]]]] = None, + context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + deregister_on_destroy: Optional[pulumi.Input[bool]] = None, + external_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = CsiVolumeRegistrationArgs.__new__(CsiVolumeRegistrationArgs) + + __props__.__dict__["capabilities"] = capabilities + __props__.__dict__["context"] = context + __props__.__dict__["deregister_on_destroy"] = deregister_on_destroy + if external_id is None and not opts.urn: + raise TypeError("Missing required property 'external_id'") + __props__.__dict__["external_id"] = external_id + __props__.__dict__["mount_options"] = mount_options + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["parameters"] = parameters + if plugin_id is None and not opts.urn: + raise TypeError("Missing required property 'plugin_id'") + __props__.__dict__["plugin_id"] = plugin_id + __props__.__dict__["secrets"] = None if secrets is None else pulumi.Output.secret(secrets) + __props__.__dict__["topology_request"] = topology_request + if volume_id is None and not opts.urn: + raise TypeError("Missing required property 'volume_id'") + __props__.__dict__["volume_id"] = volume_id + __props__.__dict__["controller_required"] = None + __props__.__dict__["controllers_expected"] = None + __props__.__dict__["controllers_healthy"] = None + __props__.__dict__["nodes_expected"] = None + __props__.__dict__["nodes_healthy"] = None + __props__.__dict__["plugin_provider"] = None + __props__.__dict__["plugin_provider_version"] = None + __props__.__dict__["schedulable"] = None + __props__.__dict__["topologies"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["secrets"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(CsiVolumeRegistration, __self__).__init__( + 'nomad:index/csiVolumeRegistration:CsiVolumeRegistration', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationCapabilityArgs']]]]] = None, + context: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + controller_required: Optional[pulumi.Input[bool]] = None, + controllers_expected: Optional[pulumi.Input[int]] = None, + controllers_healthy: Optional[pulumi.Input[int]] = None, + deregister_on_destroy: Optional[pulumi.Input[bool]] = None, + external_id: Optional[pulumi.Input[str]] = None, + mount_options: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationMountOptionsArgs']]] = None, + name: Optional[pulumi.Input[str]] = None, + namespace: Optional[pulumi.Input[str]] = None, + nodes_expected: Optional[pulumi.Input[int]] = None, + nodes_healthy: Optional[pulumi.Input[int]] = None, + parameters: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + plugin_id: Optional[pulumi.Input[str]] = None, + plugin_provider: Optional[pulumi.Input[str]] = None, + plugin_provider_version: Optional[pulumi.Input[str]] = None, + schedulable: Optional[pulumi.Input[bool]] = None, + secrets: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + topologies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyArgs']]]]] = None, + topology_request: Optional[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyRequestArgs']]] = None, + volume_id: Optional[pulumi.Input[str]] = None) -> 'CsiVolumeRegistration': + """ + Get an existing CsiVolumeRegistration resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationCapabilityArgs']]]] capabilities: `(``Capability``: )` - Options for validating the capability of a volume. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] context: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + :param pulumi.Input[bool] controller_required: `(boolean)` + :param pulumi.Input[int] controllers_expected: `(integer)` + :param pulumi.Input[int] controllers_healthy: `(integer)` + :param pulumi.Input[bool] deregister_on_destroy: `(boolean: false)` - If true, the volume will be deregistered on destroy. + :param pulumi.Input[str] external_id: `(string: )` - The ID of the physical volume from the storage provider. + :param pulumi.Input[pulumi.InputType['CsiVolumeRegistrationMountOptionsArgs']] mount_options: `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + :param pulumi.Input[str] name: `(string: )` - The display name for the volume. + :param pulumi.Input[str] namespace: `(string: "default")` - The namespace in which to register the volume. + :param pulumi.Input[int] nodes_expected: `(integer)` + :param pulumi.Input[int] nodes_healthy: `(integer)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] parameters: `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + :param pulumi.Input[str] plugin_id: `(string: )` - The ID of the Nomad plugin for registering this volume. + :param pulumi.Input[str] plugin_provider: `(string)` + :param pulumi.Input[str] plugin_provider_version: `(string)` + :param pulumi.Input[bool] schedulable: `(boolean)` + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] secrets: `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyArgs']]]] topologies: `(List of topologies)` + :param pulumi.Input[pulumi.InputType['CsiVolumeRegistrationTopologyRequestArgs']] topology_request: `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + :param pulumi.Input[str] volume_id: `(string: )` - The unique ID of the volume. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _CsiVolumeRegistrationState.__new__(_CsiVolumeRegistrationState) + + __props__.__dict__["capabilities"] = capabilities + __props__.__dict__["context"] = context + __props__.__dict__["controller_required"] = controller_required + __props__.__dict__["controllers_expected"] = controllers_expected + __props__.__dict__["controllers_healthy"] = controllers_healthy + __props__.__dict__["deregister_on_destroy"] = deregister_on_destroy + __props__.__dict__["external_id"] = external_id + __props__.__dict__["mount_options"] = mount_options + __props__.__dict__["name"] = name + __props__.__dict__["namespace"] = namespace + __props__.__dict__["nodes_expected"] = nodes_expected + __props__.__dict__["nodes_healthy"] = nodes_healthy + __props__.__dict__["parameters"] = parameters + __props__.__dict__["plugin_id"] = plugin_id + __props__.__dict__["plugin_provider"] = plugin_provider + __props__.__dict__["plugin_provider_version"] = plugin_provider_version + __props__.__dict__["schedulable"] = schedulable + __props__.__dict__["secrets"] = secrets + __props__.__dict__["topologies"] = topologies + __props__.__dict__["topology_request"] = topology_request + __props__.__dict__["volume_id"] = volume_id + return CsiVolumeRegistration(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def capabilities(self) -> pulumi.Output[Optional[Sequence['outputs.CsiVolumeRegistrationCapability']]]: + """ + `(``Capability``: )` - Options for validating the capability of a volume. + """ + return pulumi.get(self, "capabilities") + + @property + @pulumi.getter + def context(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to validate the volume. + """ + return pulumi.get(self, "context") + + @property + @pulumi.getter(name="controllerRequired") + def controller_required(self) -> pulumi.Output[bool]: + """ + `(boolean)` + """ + return pulumi.get(self, "controller_required") + + @property + @pulumi.getter(name="controllersExpected") + def controllers_expected(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_expected") + + @property + @pulumi.getter(name="controllersHealthy") + def controllers_healthy(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "controllers_healthy") + + @property + @pulumi.getter(name="deregisterOnDestroy") + def deregister_on_destroy(self) -> pulumi.Output[Optional[bool]]: + """ + `(boolean: false)` - If true, the volume will be deregistered on destroy. + """ + return pulumi.get(self, "deregister_on_destroy") + + @property + @pulumi.getter(name="externalId") + def external_id(self) -> pulumi.Output[str]: + """ + `(string: )` - The ID of the physical volume from the storage provider. + """ + return pulumi.get(self, "external_id") + + @property + @pulumi.getter(name="mountOptions") + def mount_options(self) -> pulumi.Output[Optional['outputs.CsiVolumeRegistrationMountOptions']]: + """ + `(block: )` Options for mounting `block-device` volumes without a pre-formatted file system. + """ + return pulumi.get(self, "mount_options") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + `(string: )` - The display name for the volume. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[Optional[str]]: + """ + `(string: "default")` - The namespace in which to register the volume. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="nodesExpected") + def nodes_expected(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_expected") + + @property + @pulumi.getter(name="nodesHealthy") + def nodes_healthy(self) -> pulumi.Output[int]: + """ + `(integer)` + """ + return pulumi.get(self, "nodes_healthy") + + @property + @pulumi.getter + def parameters(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string: )` - An optional key-value map of strings passed directly to the CSI plugin to configure the volume. + """ + return pulumi.get(self, "parameters") + + @property + @pulumi.getter(name="pluginId") + def plugin_id(self) -> pulumi.Output[str]: + """ + `(string: )` - The ID of the Nomad plugin for registering this volume. + """ + return pulumi.get(self, "plugin_id") + + @property + @pulumi.getter(name="pluginProvider") + def plugin_provider(self) -> pulumi.Output[str]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider") + + @property + @pulumi.getter(name="pluginProviderVersion") + def plugin_provider_version(self) -> pulumi.Output[str]: + """ + `(string)` + """ + return pulumi.get(self, "plugin_provider_version") + + @property + @pulumi.getter + def schedulable(self) -> pulumi.Output[bool]: + """ + `(boolean)` + """ + return pulumi.get(self, "schedulable") + + @property + @pulumi.getter + def secrets(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string: )` - An optional key-value map of strings used as credentials for publishing and unpublishing volumes. + """ + return pulumi.get(self, "secrets") + + @property + @pulumi.getter + def topologies(self) -> pulumi.Output[Sequence['outputs.CsiVolumeRegistrationTopology']]: + """ + `(List of topologies)` + """ + return pulumi.get(self, "topologies") + + @property + @pulumi.getter(name="topologyRequest") + def topology_request(self) -> pulumi.Output[Optional['outputs.CsiVolumeRegistrationTopologyRequest']]: + """ + `(``TopologyRequest``: )` - Specify locations (region, zone, rack, etc.) where the provisioned volume is accessible from. + """ + return pulumi.get(self, "topology_request") + + @property + @pulumi.getter(name="volumeId") + def volume_id(self) -> pulumi.Output[str]: + """ + `(string: )` - The unique ID of the volume. + """ + return pulumi.get(self, "volume_id") + diff --git a/sdk/python/pulumi_nomad/get_acl_policies.py b/sdk/python/pulumi_nomad/get_acl_policies.py index 37fd25cd..2abb8c1f 100644 --- a/sdk/python/pulumi_nomad/get_acl_policies.py +++ b/sdk/python/pulumi_nomad/get_acl_policies.py @@ -89,9 +89,9 @@ def get_acl_policies(prefix: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclPolicies:getAclPolicies', __args__, opts=opts, typ=GetAclPoliciesResult).value return AwaitableGetAclPoliciesResult( - id=__ret__.id, - policies=__ret__.policies, - prefix=__ret__.prefix) + id=pulumi.get(__ret__, 'id'), + policies=pulumi.get(__ret__, 'policies'), + prefix=pulumi.get(__ret__, 'prefix')) @_utilities.lift_output_func(get_acl_policies) diff --git a/sdk/python/pulumi_nomad/get_acl_policy.py b/sdk/python/pulumi_nomad/get_acl_policy.py index 9f743ef6..cec279b4 100644 --- a/sdk/python/pulumi_nomad/get_acl_policy.py +++ b/sdk/python/pulumi_nomad/get_acl_policy.py @@ -103,10 +103,10 @@ def get_acl_policy(name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclPolicy:getAclPolicy', __args__, opts=opts, typ=GetAclPolicyResult).value return AwaitableGetAclPolicyResult( - description=__ret__.description, - id=__ret__.id, - name=__ret__.name, - rules=__ret__.rules) + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + rules=pulumi.get(__ret__, 'rules')) @_utilities.lift_output_func(get_acl_policy) diff --git a/sdk/python/pulumi_nomad/get_acl_role.py b/sdk/python/pulumi_nomad/get_acl_role.py index c06b9441..fbf4ba4f 100644 --- a/sdk/python/pulumi_nomad/get_acl_role.py +++ b/sdk/python/pulumi_nomad/get_acl_role.py @@ -104,10 +104,10 @@ def get_acl_role(id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclRole:getAclRole', __args__, opts=opts, typ=GetAclRoleResult).value return AwaitableGetAclRoleResult( - description=__ret__.description, - id=__ret__.id, - name=__ret__.name, - policies=__ret__.policies) + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + policies=pulumi.get(__ret__, 'policies')) @_utilities.lift_output_func(get_acl_role) diff --git a/sdk/python/pulumi_nomad/get_acl_roles.py b/sdk/python/pulumi_nomad/get_acl_roles.py index d04050c5..c7c84201 100644 --- a/sdk/python/pulumi_nomad/get_acl_roles.py +++ b/sdk/python/pulumi_nomad/get_acl_roles.py @@ -87,9 +87,9 @@ def get_acl_roles(prefix: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclRoles:getAclRoles', __args__, opts=opts, typ=GetAclRolesResult).value return AwaitableGetAclRolesResult( - acl_roles=__ret__.acl_roles, - id=__ret__.id, - prefix=__ret__.prefix) + acl_roles=pulumi.get(__ret__, 'acl_roles'), + id=pulumi.get(__ret__, 'id'), + prefix=pulumi.get(__ret__, 'prefix')) @_utilities.lift_output_func(get_acl_roles) diff --git a/sdk/python/pulumi_nomad/get_acl_token.py b/sdk/python/pulumi_nomad/get_acl_token.py index 61187574..3be25924 100644 --- a/sdk/python/pulumi_nomad/get_acl_token.py +++ b/sdk/python/pulumi_nomad/get_acl_token.py @@ -189,17 +189,17 @@ def get_acl_token(accessor_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclToken:getAclToken', __args__, opts=opts, typ=GetAclTokenResult).value return AwaitableGetAclTokenResult( - accessor_id=__ret__.accessor_id, - create_time=__ret__.create_time, - expiration_time=__ret__.expiration_time, - expiration_ttl=__ret__.expiration_ttl, - global_=__ret__.global_, - id=__ret__.id, - name=__ret__.name, - policies=__ret__.policies, - roles=__ret__.roles, - secret_id=__ret__.secret_id, - type=__ret__.type) + accessor_id=pulumi.get(__ret__, 'accessor_id'), + create_time=pulumi.get(__ret__, 'create_time'), + expiration_time=pulumi.get(__ret__, 'expiration_time'), + expiration_ttl=pulumi.get(__ret__, 'expiration_ttl'), + global_=pulumi.get(__ret__, 'global_'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + policies=pulumi.get(__ret__, 'policies'), + roles=pulumi.get(__ret__, 'roles'), + secret_id=pulumi.get(__ret__, 'secret_id'), + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_acl_token) diff --git a/sdk/python/pulumi_nomad/get_acl_tokens.py b/sdk/python/pulumi_nomad/get_acl_tokens.py index 7a8ecfbc..8514d3bf 100644 --- a/sdk/python/pulumi_nomad/get_acl_tokens.py +++ b/sdk/python/pulumi_nomad/get_acl_tokens.py @@ -89,9 +89,9 @@ def get_acl_tokens(prefix: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getAclTokens:getAclTokens', __args__, opts=opts, typ=GetAclTokensResult).value return AwaitableGetAclTokensResult( - acl_tokens=__ret__.acl_tokens, - id=__ret__.id, - prefix=__ret__.prefix) + acl_tokens=pulumi.get(__ret__, 'acl_tokens'), + id=pulumi.get(__ret__, 'id'), + prefix=pulumi.get(__ret__, 'prefix')) @_utilities.lift_output_func(get_acl_tokens) diff --git a/sdk/python/pulumi_nomad/get_allocations.py b/sdk/python/pulumi_nomad/get_allocations.py new file mode 100644 index 00000000..77c3809d --- /dev/null +++ b/sdk/python/pulumi_nomad/get_allocations.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs + +__all__ = [ + 'GetAllocationsResult', + 'AwaitableGetAllocationsResult', + 'get_allocations', + 'get_allocations_output', +] + +@pulumi.output_type +class GetAllocationsResult: + """ + A collection of values returned by getAllocations. + """ + def __init__(__self__, allocations=None, filter=None, id=None, prefix=None): + if allocations and not isinstance(allocations, list): + raise TypeError("Expected argument 'allocations' to be a list") + pulumi.set(__self__, "allocations", allocations) + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if prefix and not isinstance(prefix, str): + raise TypeError("Expected argument 'prefix' to be a str") + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter + def allocations(self) -> Sequence['outputs.GetAllocationsAllocationResult']: + """ + `(list of allocations)` - A list of allocations matching the + search criteria. + """ + return pulumi.get(self, "allocations") + + @property + @pulumi.getter + def filter(self) -> Optional[str]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + return pulumi.get(self, "prefix") + + +class AwaitableGetAllocationsResult(GetAllocationsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAllocationsResult( + allocations=self.allocations, + filter=self.filter, + id=self.id, + prefix=self.prefix) + + +def get_allocations(filter: Optional[str] = None, + prefix: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAllocationsResult: + """ + Retrieve a list of allocations from Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.get_allocations(filter="JobID == \\"example\\"") + ``` + + + :param str filter: `(string: )` - Specifies the + [expression][nomad_api_filter] used to filter the results. + :param str prefix: `(string: )` - Specifies a string to filter allocations + based on an ID prefix. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['prefix'] = prefix + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('nomad:index/getAllocations:getAllocations', __args__, opts=opts, typ=GetAllocationsResult).value + + return AwaitableGetAllocationsResult( + allocations=pulumi.get(__ret__, 'allocations'), + filter=pulumi.get(__ret__, 'filter'), + id=pulumi.get(__ret__, 'id'), + prefix=pulumi.get(__ret__, 'prefix')) + + +@_utilities.lift_output_func(get_allocations) +def get_allocations_output(filter: Optional[pulumi.Input[Optional[str]]] = None, + prefix: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetAllocationsResult]: + """ + Retrieve a list of allocations from Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.get_allocations(filter="JobID == \\"example\\"") + ``` + + + :param str filter: `(string: )` - Specifies the + [expression][nomad_api_filter] used to filter the results. + :param str prefix: `(string: )` - Specifies a string to filter allocations + based on an ID prefix. + """ + ... diff --git a/sdk/python/pulumi_nomad/get_datacenters.py b/sdk/python/pulumi_nomad/get_datacenters.py index 36e8c739..1f4a00a7 100644 --- a/sdk/python/pulumi_nomad/get_datacenters.py +++ b/sdk/python/pulumi_nomad/get_datacenters.py @@ -101,10 +101,10 @@ def get_datacenters(ignore_down_nodes: Optional[bool] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult).value return AwaitableGetDatacentersResult( - datacenters=__ret__.datacenters, - id=__ret__.id, - ignore_down_nodes=__ret__.ignore_down_nodes, - prefix=__ret__.prefix) + datacenters=pulumi.get(__ret__, 'datacenters'), + id=pulumi.get(__ret__, 'id'), + ignore_down_nodes=pulumi.get(__ret__, 'ignore_down_nodes'), + prefix=pulumi.get(__ret__, 'prefix')) @_utilities.lift_output_func(get_datacenters) diff --git a/sdk/python/pulumi_nomad/get_deployments.py b/sdk/python/pulumi_nomad/get_deployments.py index cd17ec58..9df34b61 100644 --- a/sdk/python/pulumi_nomad/get_deployments.py +++ b/sdk/python/pulumi_nomad/get_deployments.py @@ -73,5 +73,5 @@ def get_deployments(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGet __ret__ = pulumi.runtime.invoke('nomad:index/getDeployments:getDeployments', __args__, opts=opts, typ=GetDeploymentsResult).value return AwaitableGetDeploymentsResult( - deployments=__ret__.deployments, - id=__ret__.id) + deployments=pulumi.get(__ret__, 'deployments'), + id=pulumi.get(__ret__, 'id')) diff --git a/sdk/python/pulumi_nomad/get_job.py b/sdk/python/pulumi_nomad/get_job.py index 0968f795..0adc0cac 100644 --- a/sdk/python/pulumi_nomad/get_job.py +++ b/sdk/python/pulumi_nomad/get_job.py @@ -322,28 +322,28 @@ def get_job(job_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getJob:getJob', __args__, opts=opts, typ=GetJobResult).value return AwaitableGetJobResult( - all_at_once=__ret__.all_at_once, - constraints=__ret__.constraints, - create_index=__ret__.create_index, - datacenters=__ret__.datacenters, - id=__ret__.id, - job_id=__ret__.job_id, - job_modify_index=__ret__.job_modify_index, - modify_index=__ret__.modify_index, - name=__ret__.name, - namespace=__ret__.namespace, - parent_id=__ret__.parent_id, - periodic_configs=__ret__.periodic_configs, - priority=__ret__.priority, - region=__ret__.region, - stable=__ret__.stable, - status=__ret__.status, - status_description=__ret__.status_description, - stop=__ret__.stop, - submit_time=__ret__.submit_time, - task_groups=__ret__.task_groups, - type=__ret__.type, - version=__ret__.version) + all_at_once=pulumi.get(__ret__, 'all_at_once'), + constraints=pulumi.get(__ret__, 'constraints'), + create_index=pulumi.get(__ret__, 'create_index'), + datacenters=pulumi.get(__ret__, 'datacenters'), + id=pulumi.get(__ret__, 'id'), + job_id=pulumi.get(__ret__, 'job_id'), + job_modify_index=pulumi.get(__ret__, 'job_modify_index'), + modify_index=pulumi.get(__ret__, 'modify_index'), + name=pulumi.get(__ret__, 'name'), + namespace=pulumi.get(__ret__, 'namespace'), + parent_id=pulumi.get(__ret__, 'parent_id'), + periodic_configs=pulumi.get(__ret__, 'periodic_configs'), + priority=pulumi.get(__ret__, 'priority'), + region=pulumi.get(__ret__, 'region'), + stable=pulumi.get(__ret__, 'stable'), + status=pulumi.get(__ret__, 'status'), + status_description=pulumi.get(__ret__, 'status_description'), + stop=pulumi.get(__ret__, 'stop'), + submit_time=pulumi.get(__ret__, 'submit_time'), + task_groups=pulumi.get(__ret__, 'task_groups'), + type=pulumi.get(__ret__, 'type'), + version=pulumi.get(__ret__, 'version')) @_utilities.lift_output_func(get_job) diff --git a/sdk/python/pulumi_nomad/get_job_parser.py b/sdk/python/pulumi_nomad/get_job_parser.py index b095a455..dd9b6284 100644 --- a/sdk/python/pulumi_nomad/get_job_parser.py +++ b/sdk/python/pulumi_nomad/get_job_parser.py @@ -107,10 +107,10 @@ def get_job_parser(canonicalize: Optional[bool] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getJobParser:getJobParser', __args__, opts=opts, typ=GetJobParserResult).value return AwaitableGetJobParserResult( - canonicalize=__ret__.canonicalize, - hcl=__ret__.hcl, - id=__ret__.id, - json=__ret__.json) + canonicalize=pulumi.get(__ret__, 'canonicalize'), + hcl=pulumi.get(__ret__, 'hcl'), + id=pulumi.get(__ret__, 'id'), + json=pulumi.get(__ret__, 'json')) @_utilities.lift_output_func(get_job_parser) diff --git a/sdk/python/pulumi_nomad/get_namespace.py b/sdk/python/pulumi_nomad/get_namespace.py index 77e033eb..a585f24e 100644 --- a/sdk/python/pulumi_nomad/get_namespace.py +++ b/sdk/python/pulumi_nomad/get_namespace.py @@ -22,7 +22,7 @@ class GetNamespaceResult: """ A collection of values returned by getNamespace. """ - def __init__(__self__, capabilities=None, description=None, id=None, meta=None, name=None, quota=None): + def __init__(__self__, capabilities=None, description=None, id=None, meta=None, name=None, node_pool_configs=None, quota=None): if capabilities and not isinstance(capabilities, list): raise TypeError("Expected argument 'capabilities' to be a list") pulumi.set(__self__, "capabilities", capabilities) @@ -38,6 +38,9 @@ def __init__(__self__, capabilities=None, description=None, id=None, meta=None, if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) + if node_pool_configs and not isinstance(node_pool_configs, list): + raise TypeError("Expected argument 'node_pool_configs' to be a list") + pulumi.set(__self__, "node_pool_configs", node_pool_configs) if quota and not isinstance(quota, str): raise TypeError("Expected argument 'quota' to be a str") pulumi.set(__self__, "quota", quota) @@ -79,6 +82,11 @@ def meta(self) -> Mapping[str, str]: def name(self) -> str: return pulumi.get(self, "name") + @property + @pulumi.getter(name="nodePoolConfigs") + def node_pool_configs(self) -> Sequence['outputs.GetNamespaceNodePoolConfigResult']: + return pulumi.get(self, "node_pool_configs") + @property @pulumi.getter def quota(self) -> str: @@ -99,6 +107,7 @@ def __await__(self): id=self.id, meta=self.meta, name=self.name, + node_pool_configs=self.node_pool_configs, quota=self.quota) @@ -125,12 +134,13 @@ def get_namespace(name: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getNamespace:getNamespace', __args__, opts=opts, typ=GetNamespaceResult).value return AwaitableGetNamespaceResult( - capabilities=__ret__.capabilities, - description=__ret__.description, - id=__ret__.id, - meta=__ret__.meta, - name=__ret__.name, - quota=__ret__.quota) + capabilities=pulumi.get(__ret__, 'capabilities'), + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + meta=pulumi.get(__ret__, 'meta'), + name=pulumi.get(__ret__, 'name'), + node_pool_configs=pulumi.get(__ret__, 'node_pool_configs'), + quota=pulumi.get(__ret__, 'quota')) @_utilities.lift_output_func(get_namespace) diff --git a/sdk/python/pulumi_nomad/get_namespaces.py b/sdk/python/pulumi_nomad/get_namespaces.py index 0ad22042..c9f46ee5 100644 --- a/sdk/python/pulumi_nomad/get_namespaces.py +++ b/sdk/python/pulumi_nomad/get_namespaces.py @@ -58,11 +58,28 @@ def __await__(self): def get_namespaces(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNamespacesResult: """ Retrieve a list of namespaces available in Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + namespaces = nomad.get_namespaces() + namespace = [] + for range in [{"value": i} for i in range(0, len(namespaces.namespaces))]: + namespace.append(nomad.AclPolicy(f"namespace-{range['value']}", + description=f"Write to the namespace {namespaces[range['value']]}", + rules_hcl=f\"\"\"namespace "{namespaces[range["value"]]}" {{ + policy = "write" + }} + \"\"\")) + ``` """ __args__ = dict() opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('nomad:index/getNamespaces:getNamespaces', __args__, opts=opts, typ=GetNamespacesResult).value return AwaitableGetNamespacesResult( - id=__ret__.id, - namespaces=__ret__.namespaces) + id=pulumi.get(__ret__, 'id'), + namespaces=pulumi.get(__ret__, 'namespaces')) diff --git a/sdk/python/pulumi_nomad/get_node_pool.py b/sdk/python/pulumi_nomad/get_node_pool.py new file mode 100644 index 00000000..03ca2c1f --- /dev/null +++ b/sdk/python/pulumi_nomad/get_node_pool.py @@ -0,0 +1,142 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs + +__all__ = [ + 'GetNodePoolResult', + 'AwaitableGetNodePoolResult', + 'get_node_pool', + 'get_node_pool_output', +] + +@pulumi.output_type +class GetNodePoolResult: + """ + A collection of values returned by getNodePool. + """ + def __init__(__self__, description=None, id=None, meta=None, name=None, scheduler_configs=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if meta and not isinstance(meta, dict): + raise TypeError("Expected argument 'meta' to be a dict") + pulumi.set(__self__, "meta", meta) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if scheduler_configs and not isinstance(scheduler_configs, list): + raise TypeError("Expected argument 'scheduler_configs' to be a list") + pulumi.set(__self__, "scheduler_configs", scheduler_configs) + + @property + @pulumi.getter + def description(self) -> str: + """ + `(string)` - The description of the node pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def meta(self) -> Mapping[str, str]: + """ + `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + """ + return pulumi.get(self, "meta") + + @property + @pulumi.getter + def name(self) -> str: + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schedulerConfigs") + def scheduler_configs(self) -> Sequence['outputs.GetNodePoolSchedulerConfigResult']: + """ + `(block)` - Scheduler configuration for the node pool. + """ + return pulumi.get(self, "scheduler_configs") + + +class AwaitableGetNodePoolResult(GetNodePoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNodePoolResult( + description=self.description, + id=self.id, + meta=self.meta, + name=self.name, + scheduler_configs=self.scheduler_configs) + + +def get_node_pool(name: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNodePoolResult: + """ + Get information about a node pool in Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + dev = nomad.get_node_pool(name="dev") + ``` + + + :param str name: `(string)` - The name of the node pool to fetch. + """ + __args__ = dict() + __args__['name'] = name + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('nomad:index/getNodePool:getNodePool', __args__, opts=opts, typ=GetNodePoolResult).value + + return AwaitableGetNodePoolResult( + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + meta=pulumi.get(__ret__, 'meta'), + name=pulumi.get(__ret__, 'name'), + scheduler_configs=pulumi.get(__ret__, 'scheduler_configs')) + + +@_utilities.lift_output_func(get_node_pool) +def get_node_pool_output(name: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNodePoolResult]: + """ + Get information about a node pool in Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + dev = nomad.get_node_pool(name="dev") + ``` + + + :param str name: `(string)` - The name of the node pool to fetch. + """ + ... diff --git a/sdk/python/pulumi_nomad/get_node_pools.py b/sdk/python/pulumi_nomad/get_node_pools.py new file mode 100644 index 00000000..b31abf72 --- /dev/null +++ b/sdk/python/pulumi_nomad/get_node_pools.py @@ -0,0 +1,135 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs + +__all__ = [ + 'GetNodePoolsResult', + 'AwaitableGetNodePoolsResult', + 'get_node_pools', + 'get_node_pools_output', +] + +@pulumi.output_type +class GetNodePoolsResult: + """ + A collection of values returned by getNodePools. + """ + def __init__(__self__, filter=None, id=None, node_pools=None, prefix=None): + if filter and not isinstance(filter, str): + raise TypeError("Expected argument 'filter' to be a str") + pulumi.set(__self__, "filter", filter) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if node_pools and not isinstance(node_pools, list): + raise TypeError("Expected argument 'node_pools' to be a list") + pulumi.set(__self__, "node_pools", node_pools) + if prefix and not isinstance(prefix, str): + raise TypeError("Expected argument 'prefix' to be a str") + pulumi.set(__self__, "prefix", prefix) + + @property + @pulumi.getter + def filter(self) -> Optional[str]: + return pulumi.get(self, "filter") + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="nodePools") + def node_pools(self) -> Sequence['outputs.GetNodePoolsNodePoolResult']: + """ + `(list of node pools)` - A list of node pools matching the + search criteria. + """ + return pulumi.get(self, "node_pools") + + @property + @pulumi.getter + def prefix(self) -> Optional[str]: + return pulumi.get(self, "prefix") + + +class AwaitableGetNodePoolsResult(GetNodePoolsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNodePoolsResult( + filter=self.filter, + id=self.id, + node_pools=self.node_pools, + prefix=self.prefix) + + +def get_node_pools(filter: Optional[str] = None, + prefix: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNodePoolsResult: + """ + Retrieve a list of node pools available in Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + prod = nomad.get_node_pools(filter="Meta.env == \\"prod\\"") + ``` + + + :param str filter: `(string)` - Specifies the [expression][nomad_api_filter] used to + filter the results. + :param str prefix: `(string)` - Specifies a string to filter node pools based on a name + prefix. + """ + __args__ = dict() + __args__['filter'] = filter + __args__['prefix'] = prefix + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('nomad:index/getNodePools:getNodePools', __args__, opts=opts, typ=GetNodePoolsResult).value + + return AwaitableGetNodePoolsResult( + filter=pulumi.get(__ret__, 'filter'), + id=pulumi.get(__ret__, 'id'), + node_pools=pulumi.get(__ret__, 'node_pools'), + prefix=pulumi.get(__ret__, 'prefix')) + + +@_utilities.lift_output_func(get_node_pools) +def get_node_pools_output(filter: Optional[pulumi.Input[Optional[str]]] = None, + prefix: Optional[pulumi.Input[Optional[str]]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNodePoolsResult]: + """ + Retrieve a list of node pools available in Nomad. + + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + prod = nomad.get_node_pools(filter="Meta.env == \\"prod\\"") + ``` + + + :param str filter: `(string)` - Specifies the [expression][nomad_api_filter] used to + filter the results. + :param str prefix: `(string)` - Specifies a string to filter node pools based on a name + prefix. + """ + ... diff --git a/sdk/python/pulumi_nomad/get_plugin.py b/sdk/python/pulumi_nomad/get_plugin.py index 2fb9a9df..6a0f5c50 100644 --- a/sdk/python/pulumi_nomad/get_plugin.py +++ b/sdk/python/pulumi_nomad/get_plugin.py @@ -210,18 +210,18 @@ def get_plugin(plugin_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getPlugin:getPlugin', __args__, opts=opts, typ=GetPluginResult).value return AwaitableGetPluginResult( - controller_required=__ret__.controller_required, - controllers_expected=__ret__.controllers_expected, - controllers_healthy=__ret__.controllers_healthy, - id=__ret__.id, - nodes=__ret__.nodes, - nodes_expected=__ret__.nodes_expected, - nodes_healthy=__ret__.nodes_healthy, - plugin_id=__ret__.plugin_id, - plugin_provider=__ret__.plugin_provider, - plugin_provider_version=__ret__.plugin_provider_version, - wait_for_healthy=__ret__.wait_for_healthy, - wait_for_registration=__ret__.wait_for_registration) + controller_required=pulumi.get(__ret__, 'controller_required'), + controllers_expected=pulumi.get(__ret__, 'controllers_expected'), + controllers_healthy=pulumi.get(__ret__, 'controllers_healthy'), + id=pulumi.get(__ret__, 'id'), + nodes=pulumi.get(__ret__, 'nodes'), + nodes_expected=pulumi.get(__ret__, 'nodes_expected'), + nodes_healthy=pulumi.get(__ret__, 'nodes_healthy'), + plugin_id=pulumi.get(__ret__, 'plugin_id'), + plugin_provider=pulumi.get(__ret__, 'plugin_provider'), + plugin_provider_version=pulumi.get(__ret__, 'plugin_provider_version'), + wait_for_healthy=pulumi.get(__ret__, 'wait_for_healthy'), + wait_for_registration=pulumi.get(__ret__, 'wait_for_registration')) @_utilities.lift_output_func(get_plugin) diff --git a/sdk/python/pulumi_nomad/get_plugins.py b/sdk/python/pulumi_nomad/get_plugins.py index c98d587e..d59d1f5f 100644 --- a/sdk/python/pulumi_nomad/get_plugins.py +++ b/sdk/python/pulumi_nomad/get_plugins.py @@ -85,9 +85,9 @@ def get_plugins(type: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getPlugins:getPlugins', __args__, opts=opts, typ=GetPluginsResult).value return AwaitableGetPluginsResult( - id=__ret__.id, - plugins=__ret__.plugins, - type=__ret__.type) + id=pulumi.get(__ret__, 'id'), + plugins=pulumi.get(__ret__, 'plugins'), + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_plugins) diff --git a/sdk/python/pulumi_nomad/get_regions.py b/sdk/python/pulumi_nomad/get_regions.py index bca84cfb..63d824fc 100644 --- a/sdk/python/pulumi_nomad/get_regions.py +++ b/sdk/python/pulumi_nomad/get_regions.py @@ -64,5 +64,5 @@ def get_regions(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRegi __ret__ = pulumi.runtime.invoke('nomad:index/getRegions:getRegions', __args__, opts=opts, typ=GetRegionsResult).value return AwaitableGetRegionsResult( - id=__ret__.id, - regions=__ret__.regions) + id=pulumi.get(__ret__, 'id'), + regions=pulumi.get(__ret__, 'regions')) diff --git a/sdk/python/pulumi_nomad/get_scaling_policies.py b/sdk/python/pulumi_nomad/get_scaling_policies.py index 352743d3..467d0e50 100644 --- a/sdk/python/pulumi_nomad/get_scaling_policies.py +++ b/sdk/python/pulumi_nomad/get_scaling_policies.py @@ -105,10 +105,10 @@ def get_scaling_policies(job_id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getScalingPolicies:getScalingPolicies', __args__, opts=opts, typ=GetScalingPoliciesResult).value return AwaitableGetScalingPoliciesResult( - id=__ret__.id, - job_id=__ret__.job_id, - policies=__ret__.policies, - type=__ret__.type) + id=pulumi.get(__ret__, 'id'), + job_id=pulumi.get(__ret__, 'job_id'), + policies=pulumi.get(__ret__, 'policies'), + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_scaling_policies) diff --git a/sdk/python/pulumi_nomad/get_scaling_policy.py b/sdk/python/pulumi_nomad/get_scaling_policy.py index 1497e774..21f3ac78 100644 --- a/sdk/python/pulumi_nomad/get_scaling_policy.py +++ b/sdk/python/pulumi_nomad/get_scaling_policy.py @@ -136,13 +136,13 @@ def get_scaling_policy(id: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getScalingPolicy:getScalingPolicy', __args__, opts=opts, typ=GetScalingPolicyResult).value return AwaitableGetScalingPolicyResult( - enabled=__ret__.enabled, - id=__ret__.id, - max=__ret__.max, - min=__ret__.min, - policy=__ret__.policy, - target=__ret__.target, - type=__ret__.type) + enabled=pulumi.get(__ret__, 'enabled'), + id=pulumi.get(__ret__, 'id'), + max=pulumi.get(__ret__, 'max'), + min=pulumi.get(__ret__, 'min'), + policy=pulumi.get(__ret__, 'policy'), + target=pulumi.get(__ret__, 'target'), + type=pulumi.get(__ret__, 'type')) @_utilities.lift_output_func(get_scaling_policy) diff --git a/sdk/python/pulumi_nomad/get_scheduler_policy.py b/sdk/python/pulumi_nomad/get_scheduler_policy.py index 43e5cec8..ee5d13d4 100644 --- a/sdk/python/pulumi_nomad/get_scheduler_policy.py +++ b/sdk/python/pulumi_nomad/get_scheduler_policy.py @@ -97,7 +97,7 @@ def get_scheduler_policy(opts: Optional[pulumi.InvokeOptions] = None) -> Awaitab __ret__ = pulumi.runtime.invoke('nomad:index/getSchedulerPolicy:getSchedulerPolicy', __args__, opts=opts, typ=GetSchedulerPolicyResult).value return AwaitableGetSchedulerPolicyResult( - id=__ret__.id, - memory_oversubscription_enabled=__ret__.memory_oversubscription_enabled, - preemption_config=__ret__.preemption_config, - scheduler_algorithm=__ret__.scheduler_algorithm) + id=pulumi.get(__ret__, 'id'), + memory_oversubscription_enabled=pulumi.get(__ret__, 'memory_oversubscription_enabled'), + preemption_config=pulumi.get(__ret__, 'preemption_config'), + scheduler_algorithm=pulumi.get(__ret__, 'scheduler_algorithm')) diff --git a/sdk/python/pulumi_nomad/get_variable.py b/sdk/python/pulumi_nomad/get_variable.py new file mode 100644 index 00000000..21e225c6 --- /dev/null +++ b/sdk/python/pulumi_nomad/get_variable.py @@ -0,0 +1,131 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = [ + 'GetVariableResult', + 'AwaitableGetVariableResult', + 'get_variable', + 'get_variable_output', +] + +@pulumi.output_type +class GetVariableResult: + """ + A collection of values returned by getVariable. + """ + def __init__(__self__, id=None, items=None, namespace=None, path=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if items and not isinstance(items, dict): + raise TypeError("Expected argument 'items' to be a dict") + pulumi.set(__self__, "items", items) + if namespace and not isinstance(namespace, str): + raise TypeError("Expected argument 'namespace' to be a str") + pulumi.set(__self__, "namespace", namespace) + if path and not isinstance(path, str): + raise TypeError("Expected argument 'path' to be a str") + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def id(self) -> str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter + def items(self) -> Mapping[str, Any]: + """ + `(map[string]string)` - Map of items in the variable. + """ + return pulumi.get(self, "items") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + `(string)` - The namespace in which the variable exists. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def path(self) -> str: + """ + `(string)` - The path at which the variable exists. + """ + return pulumi.get(self, "path") + + +class AwaitableGetVariableResult(GetVariableResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVariableResult( + id=self.id, + items=self.items, + namespace=self.namespace, + path=self.path) + + +def get_variable(namespace: Optional[str] = None, + path: Optional[str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVariableResult: + """ + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.Variable("example", path="path/of/existing/variable") + ``` + + + :param str namespace: `(string: "default")` - The namepsace in which the variable exists. + :param str path: `(string)` - Path to the existing variable. + """ + __args__ = dict() + __args__['namespace'] = namespace + __args__['path'] = path + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('nomad:index/getVariable:getVariable', __args__, opts=opts, typ=GetVariableResult).value + + return AwaitableGetVariableResult( + id=pulumi.get(__ret__, 'id'), + items=pulumi.get(__ret__, 'items'), + namespace=pulumi.get(__ret__, 'namespace'), + path=pulumi.get(__ret__, 'path')) + + +@_utilities.lift_output_func(get_variable) +def get_variable_output(namespace: Optional[pulumi.Input[Optional[str]]] = None, + path: Optional[pulumi.Input[str]] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVariableResult]: + """ + ## Example Usage + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.Variable("example", path="path/of/existing/variable") + ``` + + + :param str namespace: `(string: "default")` - The namepsace in which the variable exists. + :param str path: `(string)` - Path to the existing variable. + """ + ... diff --git a/sdk/python/pulumi_nomad/get_volumes.py b/sdk/python/pulumi_nomad/get_volumes.py index c5600061..8e32cde4 100644 --- a/sdk/python/pulumi_nomad/get_volumes.py +++ b/sdk/python/pulumi_nomad/get_volumes.py @@ -127,12 +127,12 @@ def get_volumes(namespace: Optional[str] = None, __ret__ = pulumi.runtime.invoke('nomad:index/getVolumes:getVolumes', __args__, opts=opts, typ=GetVolumesResult).value return AwaitableGetVolumesResult( - id=__ret__.id, - namespace=__ret__.namespace, - node_id=__ret__.node_id, - plugin_id=__ret__.plugin_id, - type=__ret__.type, - volumes=__ret__.volumes) + id=pulumi.get(__ret__, 'id'), + namespace=pulumi.get(__ret__, 'namespace'), + node_id=pulumi.get(__ret__, 'node_id'), + plugin_id=pulumi.get(__ret__, 'plugin_id'), + type=pulumi.get(__ret__, 'type'), + volumes=pulumi.get(__ret__, 'volumes')) @_utilities.lift_output_func(get_volumes) diff --git a/sdk/python/pulumi_nomad/job.py b/sdk/python/pulumi_nomad/job.py index e8606b88..62a85fce 100644 --- a/sdk/python/pulumi_nomad/job.py +++ b/sdk/python/pulumi_nomad/job.py @@ -21,10 +21,12 @@ def __init__(__self__, *, deregister_on_destroy: Optional[pulumi.Input[bool]] = None, deregister_on_id_change: Optional[pulumi.Input[bool]] = None, detach: Optional[pulumi.Input[bool]] = None, + hcl1: Optional[pulumi.Input[bool]] = None, hcl2: Optional[pulumi.Input['JobHcl2Args']] = None, json: Optional[pulumi.Input[bool]] = None, policy_override: Optional[pulumi.Input[bool]] = None, purge_on_destroy: Optional[pulumi.Input[bool]] = None, + read_allocation_ids: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Job resource. @@ -36,6 +38,9 @@ def __init__(__self__, *, deregistered if the ID of the job in the jobspec changes. :param pulumi.Input[bool] detach: `(boolean: true)` - If true, the provider will return immediately after creating or updating, instead of monitoring. + :param pulumi.Input[bool] hcl1: `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. :param pulumi.Input['JobHcl2Args'] hcl2: `(block: optional)` - Options for the HCL2 jobspec parser. :param pulumi.Input[bool] json: `(boolean: false)` - Set this to `true` if your jobspec is structured with JSON instead of the default HCL. @@ -55,6 +60,8 @@ def __init__(__self__, *, pulumi.set(__self__, "deregister_on_id_change", deregister_on_id_change) if detach is not None: pulumi.set(__self__, "detach", detach) + if hcl1 is not None: + pulumi.set(__self__, "hcl1", hcl1) if hcl2 is not None: pulumi.set(__self__, "hcl2", hcl2) if json is not None: @@ -63,6 +70,11 @@ def __init__(__self__, *, pulumi.set(__self__, "policy_override", policy_override) if purge_on_destroy is not None: pulumi.set(__self__, "purge_on_destroy", purge_on_destroy) + if read_allocation_ids is not None: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + if read_allocation_ids is not None: + pulumi.set(__self__, "read_allocation_ids", read_allocation_ids) if vault_token is not None: pulumi.set(__self__, "vault_token", vault_token) @@ -129,6 +141,20 @@ def detach(self) -> Optional[pulumi.Input[bool]]: def detach(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "detach", value) + @property + @pulumi.getter + def hcl1(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. + """ + return pulumi.get(self, "hcl1") + + @hcl1.setter + def hcl1(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hcl1", value) + @property @pulumi.getter def hcl2(self) -> Optional[pulumi.Input['JobHcl2Args']]: @@ -180,6 +206,18 @@ def purge_on_destroy(self) -> Optional[pulumi.Input[bool]]: def purge_on_destroy(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "purge_on_destroy", value) + @property + @pulumi.getter(name="readAllocationIds") + def read_allocation_ids(self) -> Optional[pulumi.Input[bool]]: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + + return pulumi.get(self, "read_allocation_ids") + + @read_allocation_ids.setter + def read_allocation_ids(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "read_allocation_ids", value) + @property @pulumi.getter(name="vaultToken") def vault_token(self) -> Optional[pulumi.Input[str]]: @@ -205,6 +243,7 @@ def __init__(__self__, *, deregister_on_destroy: Optional[pulumi.Input[bool]] = None, deregister_on_id_change: Optional[pulumi.Input[bool]] = None, detach: Optional[pulumi.Input[bool]] = None, + hcl1: Optional[pulumi.Input[bool]] = None, hcl2: Optional[pulumi.Input['JobHcl2Args']] = None, jobspec: Optional[pulumi.Input[str]] = None, json: Optional[pulumi.Input[bool]] = None, @@ -213,6 +252,7 @@ def __init__(__self__, *, namespace: Optional[pulumi.Input[str]] = None, policy_override: Optional[pulumi.Input[bool]] = None, purge_on_destroy: Optional[pulumi.Input[bool]] = None, + read_allocation_ids: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, task_groups: Optional[pulumi.Input[Sequence[pulumi.Input['JobTaskGroupArgs']]]] = None, type: Optional[pulumi.Input[str]] = None, @@ -230,6 +270,9 @@ def __init__(__self__, *, deregistered if the ID of the job in the jobspec changes. :param pulumi.Input[bool] detach: `(boolean: true)` - If true, the provider will return immediately after creating or updating, instead of monitoring. + :param pulumi.Input[bool] hcl1: `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. :param pulumi.Input['JobHcl2Args'] hcl2: `(block: optional)` - Options for the HCL2 jobspec parser. :param pulumi.Input[str] jobspec: `(string: )` - The contents of the jobspec to register. :param pulumi.Input[bool] json: `(boolean: false)` - Set this to `true` if your jobspec is structured with @@ -246,6 +289,9 @@ def __init__(__self__, *, :param pulumi.Input[str] vault_token: `(string: )` - Vault token used when registering this job. Will fallback to the value declared in Nomad provider configuration, if any. """ + if allocation_ids is not None: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") if allocation_ids is not None: pulumi.set(__self__, "allocation_ids", allocation_ids) if consul_token is not None: @@ -262,6 +308,8 @@ def __init__(__self__, *, pulumi.set(__self__, "deregister_on_id_change", deregister_on_id_change) if detach is not None: pulumi.set(__self__, "detach", detach) + if hcl1 is not None: + pulumi.set(__self__, "hcl1", hcl1) if hcl2 is not None: pulumi.set(__self__, "hcl2", hcl2) if jobspec is not None: @@ -278,6 +326,11 @@ def __init__(__self__, *, pulumi.set(__self__, "policy_override", policy_override) if purge_on_destroy is not None: pulumi.set(__self__, "purge_on_destroy", purge_on_destroy) + if read_allocation_ids is not None: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + if read_allocation_ids is not None: + pulumi.set(__self__, "read_allocation_ids", read_allocation_ids) if region is not None: pulumi.set(__self__, "region", region) if task_groups is not None: @@ -293,6 +346,9 @@ def allocation_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]: """ The IDs for allocations associated with this job. """ + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + return pulumi.get(self, "allocation_ids") @allocation_ids.setter @@ -386,6 +442,20 @@ def detach(self) -> Optional[pulumi.Input[bool]]: def detach(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "detach", value) + @property + @pulumi.getter + def hcl1(self) -> Optional[pulumi.Input[bool]]: + """ + `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. + """ + return pulumi.get(self, "hcl1") + + @hcl1.setter + def hcl1(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "hcl1", value) + @property @pulumi.getter def hcl2(self) -> Optional[pulumi.Input['JobHcl2Args']]: @@ -485,6 +555,18 @@ def purge_on_destroy(self) -> Optional[pulumi.Input[bool]]: def purge_on_destroy(self, value: Optional[pulumi.Input[bool]]): pulumi.set(self, "purge_on_destroy", value) + @property + @pulumi.getter(name="readAllocationIds") + def read_allocation_ids(self) -> Optional[pulumi.Input[bool]]: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + + return pulumi.get(self, "read_allocation_ids") + + @read_allocation_ids.setter + def read_allocation_ids(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "read_allocation_ids", value) + @property @pulumi.getter def region(self) -> Optional[pulumi.Input[str]]: @@ -541,11 +623,13 @@ def __init__(__self__, deregister_on_destroy: Optional[pulumi.Input[bool]] = None, deregister_on_id_change: Optional[pulumi.Input[bool]] = None, detach: Optional[pulumi.Input[bool]] = None, + hcl1: Optional[pulumi.Input[bool]] = None, hcl2: Optional[pulumi.Input[pulumi.InputType['JobHcl2Args']]] = None, jobspec: Optional[pulumi.Input[str]] = None, json: Optional[pulumi.Input[bool]] = None, policy_override: Optional[pulumi.Input[bool]] = None, purge_on_destroy: Optional[pulumi.Input[bool]] = None, + read_allocation_ids: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -559,6 +643,9 @@ def __init__(__self__, deregistered if the ID of the job in the jobspec changes. :param pulumi.Input[bool] detach: `(boolean: true)` - If true, the provider will return immediately after creating or updating, instead of monitoring. + :param pulumi.Input[bool] hcl1: `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. :param pulumi.Input[pulumi.InputType['JobHcl2Args']] hcl2: `(block: optional)` - Options for the HCL2 jobspec parser. :param pulumi.Input[str] jobspec: `(string: )` - The contents of the jobspec to register. :param pulumi.Input[bool] json: `(boolean: false)` - Set this to `true` if your jobspec is structured with @@ -597,11 +684,13 @@ def _internal_init(__self__, deregister_on_destroy: Optional[pulumi.Input[bool]] = None, deregister_on_id_change: Optional[pulumi.Input[bool]] = None, detach: Optional[pulumi.Input[bool]] = None, + hcl1: Optional[pulumi.Input[bool]] = None, hcl2: Optional[pulumi.Input[pulumi.InputType['JobHcl2Args']]] = None, jobspec: Optional[pulumi.Input[str]] = None, json: Optional[pulumi.Input[bool]] = None, policy_override: Optional[pulumi.Input[bool]] = None, purge_on_destroy: Optional[pulumi.Input[bool]] = None, + read_allocation_ids: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -616,6 +705,7 @@ def _internal_init(__self__, __props__.__dict__["deregister_on_destroy"] = deregister_on_destroy __props__.__dict__["deregister_on_id_change"] = deregister_on_id_change __props__.__dict__["detach"] = detach + __props__.__dict__["hcl1"] = hcl1 __props__.__dict__["hcl2"] = hcl2 if jobspec is None and not opts.urn: raise TypeError("Missing required property 'jobspec'") @@ -623,6 +713,10 @@ def _internal_init(__self__, __props__.__dict__["json"] = json __props__.__dict__["policy_override"] = policy_override __props__.__dict__["purge_on_destroy"] = purge_on_destroy + if read_allocation_ids is not None and not opts.urn: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + __props__.__dict__["read_allocation_ids"] = read_allocation_ids __props__.__dict__["vault_token"] = None if vault_token is None else pulumi.Output.secret(vault_token) __props__.__dict__["allocation_ids"] = None __props__.__dict__["datacenters"] = None @@ -654,6 +748,7 @@ def get(resource_name: str, deregister_on_destroy: Optional[pulumi.Input[bool]] = None, deregister_on_id_change: Optional[pulumi.Input[bool]] = None, detach: Optional[pulumi.Input[bool]] = None, + hcl1: Optional[pulumi.Input[bool]] = None, hcl2: Optional[pulumi.Input[pulumi.InputType['JobHcl2Args']]] = None, jobspec: Optional[pulumi.Input[str]] = None, json: Optional[pulumi.Input[bool]] = None, @@ -662,6 +757,7 @@ def get(resource_name: str, namespace: Optional[pulumi.Input[str]] = None, policy_override: Optional[pulumi.Input[bool]] = None, purge_on_destroy: Optional[pulumi.Input[bool]] = None, + read_allocation_ids: Optional[pulumi.Input[bool]] = None, region: Optional[pulumi.Input[str]] = None, task_groups: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['JobTaskGroupArgs']]]]] = None, type: Optional[pulumi.Input[str]] = None, @@ -684,6 +780,9 @@ def get(resource_name: str, deregistered if the ID of the job in the jobspec changes. :param pulumi.Input[bool] detach: `(boolean: true)` - If true, the provider will return immediately after creating or updating, instead of monitoring. + :param pulumi.Input[bool] hcl1: `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. :param pulumi.Input[pulumi.InputType['JobHcl2Args']] hcl2: `(block: optional)` - Options for the HCL2 jobspec parser. :param pulumi.Input[str] jobspec: `(string: )` - The contents of the jobspec to register. :param pulumi.Input[bool] json: `(boolean: false)` - Set this to `true` if your jobspec is structured with @@ -712,6 +811,7 @@ def get(resource_name: str, __props__.__dict__["deregister_on_destroy"] = deregister_on_destroy __props__.__dict__["deregister_on_id_change"] = deregister_on_id_change __props__.__dict__["detach"] = detach + __props__.__dict__["hcl1"] = hcl1 __props__.__dict__["hcl2"] = hcl2 __props__.__dict__["jobspec"] = jobspec __props__.__dict__["json"] = json @@ -720,6 +820,7 @@ def get(resource_name: str, __props__.__dict__["namespace"] = namespace __props__.__dict__["policy_override"] = policy_override __props__.__dict__["purge_on_destroy"] = purge_on_destroy + __props__.__dict__["read_allocation_ids"] = read_allocation_ids __props__.__dict__["region"] = region __props__.__dict__["task_groups"] = task_groups __props__.__dict__["type"] = type @@ -732,6 +833,9 @@ def allocation_ids(self) -> pulumi.Output[Sequence[str]]: """ The IDs for allocations associated with this job. """ + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + return pulumi.get(self, "allocation_ids") @property @@ -793,6 +897,16 @@ def detach(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "detach") + @property + @pulumi.getter + def hcl1(self) -> pulumi.Output[Optional[bool]]: + """ + `(boolean: false)` - Set this to `true` to use the previous HCL1 + parser. This option is provided for backwards compatibility only and should + not be used unless absolutely necessary. + """ + return pulumi.get(self, "hcl1") + @property @pulumi.getter def hcl2(self) -> pulumi.Output[Optional['outputs.JobHcl2']]: @@ -860,6 +974,14 @@ def purge_on_destroy(self) -> pulumi.Output[Optional[bool]]: """ return pulumi.get(self, "purge_on_destroy") + @property + @pulumi.getter(name="readAllocationIds") + def read_allocation_ids(self) -> pulumi.Output[Optional[bool]]: + warnings.warn("""Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""", DeprecationWarning) + pulumi.log.warn("""read_allocation_ids is deprecated: Retrieving allocation IDs from the job resource is deprecated and will be removed in a future release. Use the nomad_allocations data source instead.""") + + return pulumi.get(self, "read_allocation_ids") + @property @pulumi.getter def region(self) -> pulumi.Output[str]: diff --git a/sdk/python/pulumi_nomad/namespace.py b/sdk/python/pulumi_nomad/namespace.py index b0938eb1..2a9f29ea 100644 --- a/sdk/python/pulumi_nomad/namespace.py +++ b/sdk/python/pulumi_nomad/namespace.py @@ -20,14 +20,16 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, + node_pool_config: Optional[pulumi.Input['NamespaceNodePoolConfigArgs']] = None, quota: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Namespace resource. - :param pulumi.Input['NamespaceCapabilitiesArgs'] capabilities: `(block: )` - A block of capabilities for the namespace. Can't + :param pulumi.Input['NamespaceCapabilitiesArgs'] capabilities: `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. :param pulumi.Input[str] description: `(string: "")` - A description of the namespace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string: )` - Specifies arbitrary KV metadata to associate with the namespace. :param pulumi.Input[str] name: `(string: )` - A unique name for the namespace. + :param pulumi.Input['NamespaceNodePoolConfigArgs'] node_pool_config: `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). :param pulumi.Input[str] quota: `(string: "")` - A resource quota to attach to the namespace. """ if capabilities is not None: @@ -38,6 +40,8 @@ def __init__(__self__, *, pulumi.set(__self__, "meta", meta) if name is not None: pulumi.set(__self__, "name", name) + if node_pool_config is not None: + pulumi.set(__self__, "node_pool_config", node_pool_config) if quota is not None: pulumi.set(__self__, "quota", quota) @@ -45,7 +49,7 @@ def __init__(__self__, *, @pulumi.getter def capabilities(self) -> Optional[pulumi.Input['NamespaceCapabilitiesArgs']]: """ - `(block: )` - A block of capabilities for the namespace. Can't + `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. """ return pulumi.get(self, "capabilities") @@ -90,6 +94,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="nodePoolConfig") + def node_pool_config(self) -> Optional[pulumi.Input['NamespaceNodePoolConfigArgs']]: + """ + `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + """ + return pulumi.get(self, "node_pool_config") + + @node_pool_config.setter + def node_pool_config(self, value: Optional[pulumi.Input['NamespaceNodePoolConfigArgs']]): + pulumi.set(self, "node_pool_config", value) + @property @pulumi.getter def quota(self) -> Optional[pulumi.Input[str]]: @@ -110,14 +126,16 @@ def __init__(__self__, *, description: Optional[pulumi.Input[str]] = None, meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, + node_pool_config: Optional[pulumi.Input['NamespaceNodePoolConfigArgs']] = None, quota: Optional[pulumi.Input[str]] = None): """ Input properties used for looking up and filtering Namespace resources. - :param pulumi.Input['NamespaceCapabilitiesArgs'] capabilities: `(block: )` - A block of capabilities for the namespace. Can't + :param pulumi.Input['NamespaceCapabilitiesArgs'] capabilities: `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. :param pulumi.Input[str] description: `(string: "")` - A description of the namespace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string: )` - Specifies arbitrary KV metadata to associate with the namespace. :param pulumi.Input[str] name: `(string: )` - A unique name for the namespace. + :param pulumi.Input['NamespaceNodePoolConfigArgs'] node_pool_config: `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). :param pulumi.Input[str] quota: `(string: "")` - A resource quota to attach to the namespace. """ if capabilities is not None: @@ -128,6 +146,8 @@ def __init__(__self__, *, pulumi.set(__self__, "meta", meta) if name is not None: pulumi.set(__self__, "name", name) + if node_pool_config is not None: + pulumi.set(__self__, "node_pool_config", node_pool_config) if quota is not None: pulumi.set(__self__, "quota", quota) @@ -135,7 +155,7 @@ def __init__(__self__, *, @pulumi.getter def capabilities(self) -> Optional[pulumi.Input['NamespaceCapabilitiesArgs']]: """ - `(block: )` - A block of capabilities for the namespace. Can't + `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. """ return pulumi.get(self, "capabilities") @@ -180,6 +200,18 @@ def name(self) -> Optional[pulumi.Input[str]]: def name(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "name", value) + @property + @pulumi.getter(name="nodePoolConfig") + def node_pool_config(self) -> Optional[pulumi.Input['NamespaceNodePoolConfigArgs']]: + """ + `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + """ + return pulumi.get(self, "node_pool_config") + + @node_pool_config.setter + def node_pool_config(self, value: Optional[pulumi.Input['NamespaceNodePoolConfigArgs']]): + pulumi.set(self, "node_pool_config", value) + @property @pulumi.getter def quota(self) -> Optional[pulumi.Input[str]]: @@ -202,6 +234,7 @@ def __init__(__self__, description: Optional[pulumi.Input[str]] = None, meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, + node_pool_config: Optional[pulumi.Input[pulumi.InputType['NamespaceNodePoolConfigArgs']]] = None, quota: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -251,11 +284,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['NamespaceCapabilitiesArgs']] capabilities: `(block: )` - A block of capabilities for the namespace. Can't + :param pulumi.Input[pulumi.InputType['NamespaceCapabilitiesArgs']] capabilities: `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. :param pulumi.Input[str] description: `(string: "")` - A description of the namespace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string: )` - Specifies arbitrary KV metadata to associate with the namespace. :param pulumi.Input[str] name: `(string: )` - A unique name for the namespace. + :param pulumi.Input[pulumi.InputType['NamespaceNodePoolConfigArgs']] node_pool_config: `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). :param pulumi.Input[str] quota: `(string: "")` - A resource quota to attach to the namespace. """ ... @@ -328,6 +362,7 @@ def _internal_init(__self__, description: Optional[pulumi.Input[str]] = None, meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, + node_pool_config: Optional[pulumi.Input[pulumi.InputType['NamespaceNodePoolConfigArgs']]] = None, quota: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -342,6 +377,7 @@ def _internal_init(__self__, __props__.__dict__["description"] = description __props__.__dict__["meta"] = meta __props__.__dict__["name"] = name + __props__.__dict__["node_pool_config"] = node_pool_config __props__.__dict__["quota"] = quota super(Namespace, __self__).__init__( 'nomad:index/namespace:Namespace', @@ -357,6 +393,7 @@ def get(resource_name: str, description: Optional[pulumi.Input[str]] = None, meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, name: Optional[pulumi.Input[str]] = None, + node_pool_config: Optional[pulumi.Input[pulumi.InputType['NamespaceNodePoolConfigArgs']]] = None, quota: Optional[pulumi.Input[str]] = None) -> 'Namespace': """ Get an existing Namespace resource's state with the given name, id, and optional extra @@ -365,11 +402,12 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['NamespaceCapabilitiesArgs']] capabilities: `(block: )` - A block of capabilities for the namespace. Can't + :param pulumi.Input[pulumi.InputType['NamespaceCapabilitiesArgs']] capabilities: `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. :param pulumi.Input[str] description: `(string: "")` - A description of the namespace. :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string: )` - Specifies arbitrary KV metadata to associate with the namespace. :param pulumi.Input[str] name: `(string: )` - A unique name for the namespace. + :param pulumi.Input[pulumi.InputType['NamespaceNodePoolConfigArgs']] node_pool_config: `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). :param pulumi.Input[str] quota: `(string: "")` - A resource quota to attach to the namespace. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -380,6 +418,7 @@ def get(resource_name: str, __props__.__dict__["description"] = description __props__.__dict__["meta"] = meta __props__.__dict__["name"] = name + __props__.__dict__["node_pool_config"] = node_pool_config __props__.__dict__["quota"] = quota return Namespace(resource_name, opts=opts, __props__=__props__) @@ -387,7 +426,7 @@ def get(resource_name: str, @pulumi.getter def capabilities(self) -> pulumi.Output[Optional['outputs.NamespaceCapabilities']]: """ - `(block: )` - A block of capabilities for the namespace. Can't + `(block: )` - A block of capabilities for the namespace. Can't be repeated. See below for the structure of this block. """ return pulumi.get(self, "capabilities") @@ -416,6 +455,14 @@ def name(self) -> pulumi.Output[str]: """ return pulumi.get(self, "name") + @property + @pulumi.getter(name="nodePoolConfig") + def node_pool_config(self) -> pulumi.Output['outputs.NamespaceNodePoolConfig']: + """ + `(block: )` - A block with node pool configuration for the namespace (Nomad Enterprise only). + """ + return pulumi.get(self, "node_pool_config") + @property @pulumi.getter def quota(self) -> pulumi.Output[Optional[str]]: diff --git a/sdk/python/pulumi_nomad/node_pool.py b/sdk/python/pulumi_nomad/node_pool.py new file mode 100644 index 00000000..a2fc857f --- /dev/null +++ b/sdk/python/pulumi_nomad/node_pool.py @@ -0,0 +1,327 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['NodePoolArgs', 'NodePool'] + +@pulumi.input_type +class NodePoolArgs: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + scheduler_config: Optional[pulumi.Input['NodePoolSchedulerConfigArgs']] = None): + """ + The set of arguments for constructing a NodePool resource. + :param pulumi.Input[str] description: `(string)` - The description of the node pool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + :param pulumi.Input[str] name: `(string)` - The name of the node pool. + :param pulumi.Input['NodePoolSchedulerConfigArgs'] scheduler_config: `(block)` - Scheduler configuration for the node pool. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if meta is not None: + pulumi.set(__self__, "meta", meta) + if name is not None: + pulumi.set(__self__, "name", name) + if scheduler_config is not None: + pulumi.set(__self__, "scheduler_config", scheduler_config) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - The description of the node pool. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + """ + return pulumi.get(self, "meta") + + @meta.setter + def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "meta", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - The name of the node pool. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="schedulerConfig") + def scheduler_config(self) -> Optional[pulumi.Input['NodePoolSchedulerConfigArgs']]: + """ + `(block)` - Scheduler configuration for the node pool. + """ + return pulumi.get(self, "scheduler_config") + + @scheduler_config.setter + def scheduler_config(self, value: Optional[pulumi.Input['NodePoolSchedulerConfigArgs']]): + pulumi.set(self, "scheduler_config", value) + + +@pulumi.input_type +class _NodePoolState: + def __init__(__self__, *, + description: Optional[pulumi.Input[str]] = None, + meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + scheduler_config: Optional[pulumi.Input['NodePoolSchedulerConfigArgs']] = None): + """ + Input properties used for looking up and filtering NodePool resources. + :param pulumi.Input[str] description: `(string)` - The description of the node pool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + :param pulumi.Input[str] name: `(string)` - The name of the node pool. + :param pulumi.Input['NodePoolSchedulerConfigArgs'] scheduler_config: `(block)` - Scheduler configuration for the node pool. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if meta is not None: + pulumi.set(__self__, "meta", meta) + if name is not None: + pulumi.set(__self__, "name", name) + if scheduler_config is not None: + pulumi.set(__self__, "scheduler_config", scheduler_config) + + @property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - The description of the node pool. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "description", value) + + @property + @pulumi.getter + def meta(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]: + """ + `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + """ + return pulumi.get(self, "meta") + + @meta.setter + def meta(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]): + pulumi.set(self, "meta", value) + + @property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[str]]: + """ + `(string)` - The name of the node pool. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "name", value) + + @property + @pulumi.getter(name="schedulerConfig") + def scheduler_config(self) -> Optional[pulumi.Input['NodePoolSchedulerConfigArgs']]: + """ + `(block)` - Scheduler configuration for the node pool. + """ + return pulumi.get(self, "scheduler_config") + + @scheduler_config.setter + def scheduler_config(self, value: Optional[pulumi.Input['NodePoolSchedulerConfigArgs']]): + pulumi.set(self, "scheduler_config", value) + + +class NodePool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + scheduler_config: Optional[pulumi.Input[pulumi.InputType['NodePoolSchedulerConfigArgs']]] = None, + __props__=None): + """ + Provisions a node pool within a Nomad cluster. + + ## Example Usage + + Registering a node pool: + + ```python + import pulumi + import pulumi_nomad as nomad + + dev = nomad.NodePool("dev", + description="Nodes for the development environment.", + meta={ + "department": "Engineering", + "env": "dev", + }) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: `(string)` - The description of the node pool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + :param pulumi.Input[str] name: `(string)` - The name of the node pool. + :param pulumi.Input[pulumi.InputType['NodePoolSchedulerConfigArgs']] scheduler_config: `(block)` - Scheduler configuration for the node pool. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: Optional[NodePoolArgs] = None, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Provisions a node pool within a Nomad cluster. + + ## Example Usage + + Registering a node pool: + + ```python + import pulumi + import pulumi_nomad as nomad + + dev = nomad.NodePool("dev", + description="Nodes for the development environment.", + meta={ + "department": "Engineering", + "env": "dev", + }) + ``` + + :param str resource_name: The name of the resource. + :param NodePoolArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(NodePoolArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + scheduler_config: Optional[pulumi.Input[pulumi.InputType['NodePoolSchedulerConfigArgs']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = NodePoolArgs.__new__(NodePoolArgs) + + __props__.__dict__["description"] = description + __props__.__dict__["meta"] = meta + __props__.__dict__["name"] = name + __props__.__dict__["scheduler_config"] = scheduler_config + super(NodePool, __self__).__init__( + 'nomad:index/nodePool:NodePool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[str]] = None, + meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None, + name: Optional[pulumi.Input[str]] = None, + scheduler_config: Optional[pulumi.Input[pulumi.InputType['NodePoolSchedulerConfigArgs']]] = None) -> 'NodePool': + """ + Get an existing NodePool resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[str] description: `(string)` - The description of the node pool. + :param pulumi.Input[Mapping[str, pulumi.Input[str]]] meta: `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + :param pulumi.Input[str] name: `(string)` - The name of the node pool. + :param pulumi.Input[pulumi.InputType['NodePoolSchedulerConfigArgs']] scheduler_config: `(block)` - Scheduler configuration for the node pool. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _NodePoolState.__new__(_NodePoolState) + + __props__.__dict__["description"] = description + __props__.__dict__["meta"] = meta + __props__.__dict__["name"] = name + __props__.__dict__["scheduler_config"] = scheduler_config + return NodePool(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[str]]: + """ + `(string)` - The description of the node pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def meta(self) -> pulumi.Output[Optional[Mapping[str, str]]]: + """ + `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + """ + return pulumi.get(self, "meta") + + @property + @pulumi.getter + def name(self) -> pulumi.Output[str]: + """ + `(string)` - The name of the node pool. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schedulerConfig") + def scheduler_config(self) -> pulumi.Output[Optional['outputs.NodePoolSchedulerConfig']]: + """ + `(block)` - Scheduler configuration for the node pool. + """ + return pulumi.get(self, "scheduler_config") + diff --git a/sdk/python/pulumi_nomad/outputs.py b/sdk/python/pulumi_nomad/outputs.py index 3502aedc..aa125be1 100644 --- a/sdk/python/pulumi_nomad/outputs.py +++ b/sdk/python/pulumi_nomad/outputs.py @@ -12,8 +12,23 @@ __all__ = [ 'AclAuthMethodConfig', + 'AclPolicyJobAcl', 'AclRolePolicy', 'AclTokenRole', + 'CsiVolumeCapability', + 'CsiVolumeMountOptions', + 'CsiVolumeRegistrationCapability', + 'CsiVolumeRegistrationMountOptions', + 'CsiVolumeRegistrationTopology', + 'CsiVolumeRegistrationTopologyRequest', + 'CsiVolumeRegistrationTopologyRequestRequired', + 'CsiVolumeRegistrationTopologyRequestRequiredTopology', + 'CsiVolumeTopology', + 'CsiVolumeTopologyRequest', + 'CsiVolumeTopologyRequestPreferred', + 'CsiVolumeTopologyRequestPreferredTopology', + 'CsiVolumeTopologyRequestRequired', + 'CsiVolumeTopologyRequestRequiredTopology', 'ExternalVolumeCapability', 'ExternalVolumeMountOptions', 'ExternalVolumeTopology', @@ -28,6 +43,8 @@ 'JobTaskGroupTaskVolumeMount', 'JobTaskGroupVolume', 'NamespaceCapabilities', + 'NamespaceNodePoolConfig', + 'NodePoolSchedulerConfig', 'QuoteSpecificationLimit', 'QuoteSpecificationLimitRegionLimit', 'VolumeCapability', @@ -43,6 +60,7 @@ 'GetAclTokenRoleResult', 'GetAclTokensAclTokenResult', 'GetAclTokensAclTokenRoleResult', + 'GetAllocationsAllocationResult', 'GetJobConstraintResult', 'GetJobPeriodicConfigResult', 'GetJobTaskGroupResult', @@ -50,6 +68,10 @@ 'GetJobTaskGroupTaskVolumeMountResult', 'GetJobTaskGroupVolumeResult', 'GetNamespaceCapabilityResult', + 'GetNamespaceNodePoolConfigResult', + 'GetNodePoolSchedulerConfigResult', + 'GetNodePoolsNodePoolResult', + 'GetNodePoolsNodePoolSchedulerConfigResult', 'GetPluginNodeResult', 'GetScalingPoliciesPolicyResult', ] @@ -170,6 +192,87 @@ def signing_algs(self) -> Optional[Sequence[str]]: return pulumi.get(self, "signing_algs") +@pulumi.output_type +class AclPolicyJobAcl(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "jobId": + suggest = "job_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in AclPolicyJobAcl. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + AclPolicyJobAcl.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + AclPolicyJobAcl.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + job_id: str, + group: Optional[str] = None, + namespace: Optional[str] = None, + task: Optional[str] = None): + """ + :param str job_id: `(string: ` - The job to attach the policy. Required if + `group` is set. + :param str group: `(string: ` - The group to attach the policy. Required if + `task` is set. + :param str namespace: `(string: "default")` - The namespace to attach the policy. + Required if `job_id` is set. + :param str task: `(string: ` - The task to attach the policy. + + [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + """ + pulumi.set(__self__, "job_id", job_id) + if group is not None: + pulumi.set(__self__, "group", group) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if task is not None: + pulumi.set(__self__, "task", task) + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> str: + """ + `(string: ` - The job to attach the policy. Required if + `group` is set. + """ + return pulumi.get(self, "job_id") + + @property + @pulumi.getter + def group(self) -> Optional[str]: + """ + `(string: ` - The group to attach the policy. Required if + `task` is set. + """ + return pulumi.get(self, "group") + + @property + @pulumi.getter + def namespace(self) -> Optional[str]: + """ + `(string: "default")` - The namespace to attach the policy. + Required if `job_id` is set. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def task(self) -> Optional[str]: + """ + `(string: ` - The task to attach the policy. + + [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies + """ + return pulumi.get(self, "task") + + @pulumi.output_type class AclRolePolicy(dict): def __init__(__self__, *, @@ -181,37 +284,469 @@ def __init__(__self__, *, @property @pulumi.getter - def name(self) -> str: - """ - `(string: )` - A human-friendly name for this ACL Role. - """ - return pulumi.get(self, "name") + def name(self) -> str: + """ + `(string: )` - A human-friendly name for this ACL Role. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class AclTokenRole(dict): + def __init__(__self__, *, + id: str, + name: Optional[str] = None): + """ + :param str name: `(string: "")` - A human-friendly name for this token. + """ + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) + + @property + @pulumi.getter + def id(self) -> str: + return pulumi.get(self, "id") + + @property + @pulumi.getter + def name(self) -> Optional[str]: + """ + `(string: "")` - A human-friendly name for this token. + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class CsiVolumeCapability(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessMode": + suggest = "access_mode" + elif key == "attachmentMode": + suggest = "attachment_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CsiVolumeCapability. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CsiVolumeCapability.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CsiVolumeCapability.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_mode: str, + attachment_mode: str): + """ + :param str access_mode: `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + :param str attachment_mode: `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + pulumi.set(__self__, "access_mode", access_mode) + pulumi.set(__self__, "attachment_mode", attachment_mode) + + @property + @pulumi.getter(name="accessMode") + def access_mode(self) -> str: + """ + `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + """ + return pulumi.get(self, "access_mode") + + @property + @pulumi.getter(name="attachmentMode") + def attachment_mode(self) -> str: + """ + `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + return pulumi.get(self, "attachment_mode") + + +@pulumi.output_type +class CsiVolumeMountOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fsType": + suggest = "fs_type" + elif key == "mountFlags": + suggest = "mount_flags" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CsiVolumeMountOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CsiVolumeMountOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CsiVolumeMountOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fs_type: Optional[str] = None, + mount_flags: Optional[Sequence[str]] = None): + """ + :param str fs_type: `(string: optional)` - The file system type. + :param Sequence[str] mount_flags: `[]string: optional` - The flags passed to `mount`. + """ + if fs_type is not None: + pulumi.set(__self__, "fs_type", fs_type) + if mount_flags is not None: + pulumi.set(__self__, "mount_flags", mount_flags) + + @property + @pulumi.getter(name="fsType") + def fs_type(self) -> Optional[str]: + """ + `(string: optional)` - The file system type. + """ + return pulumi.get(self, "fs_type") + + @property + @pulumi.getter(name="mountFlags") + def mount_flags(self) -> Optional[Sequence[str]]: + """ + `[]string: optional` - The flags passed to `mount`. + """ + return pulumi.get(self, "mount_flags") + + +@pulumi.output_type +class CsiVolumeRegistrationCapability(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessMode": + suggest = "access_mode" + elif key == "attachmentMode": + suggest = "attachment_mode" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CsiVolumeRegistrationCapability. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CsiVolumeRegistrationCapability.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CsiVolumeRegistrationCapability.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_mode: str, + attachment_mode: str): + """ + :param str access_mode: `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + :param str attachment_mode: `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + pulumi.set(__self__, "access_mode", access_mode) + pulumi.set(__self__, "attachment_mode", attachment_mode) + + @property + @pulumi.getter(name="accessMode") + def access_mode(self) -> str: + """ + `(string: )` - Defines whether a volume should be available concurrently. Possible values are: + - `single-node-reader-only` + - `single-node-writer` + - `multi-node-reader-only` + - `multi-node-single-writer` + - `multi-node-multi-writer` + """ + return pulumi.get(self, "access_mode") + + @property + @pulumi.getter(name="attachmentMode") + def attachment_mode(self) -> str: + """ + `(string: )` - The storage API that will be used by the volume. Possible values are: + - `block-device` + - `file-system` + """ + return pulumi.get(self, "attachment_mode") + + +@pulumi.output_type +class CsiVolumeRegistrationMountOptions(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "fsType": + suggest = "fs_type" + elif key == "mountFlags": + suggest = "mount_flags" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in CsiVolumeRegistrationMountOptions. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + CsiVolumeRegistrationMountOptions.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + CsiVolumeRegistrationMountOptions.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + fs_type: Optional[str] = None, + mount_flags: Optional[Sequence[str]] = None): + """ + :param str fs_type: `(string: )` - The file system type. + :param Sequence[str] mount_flags: `([]string: )` - The flags passed to `mount`. + """ + if fs_type is not None: + pulumi.set(__self__, "fs_type", fs_type) + if mount_flags is not None: + pulumi.set(__self__, "mount_flags", mount_flags) + + @property + @pulumi.getter(name="fsType") + def fs_type(self) -> Optional[str]: + """ + `(string: )` - The file system type. + """ + return pulumi.get(self, "fs_type") + + @property + @pulumi.getter(name="mountFlags") + def mount_flags(self) -> Optional[Sequence[str]]: + """ + `([]string: )` - The flags passed to `mount`. + """ + return pulumi.get(self, "mount_flags") + + +@pulumi.output_type +class CsiVolumeRegistrationTopology(dict): + def __init__(__self__, *, + segments: Optional[Mapping[str, str]] = None): + """ + :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + if segments is not None: + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Optional[Mapping[str, str]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + +@pulumi.output_type +class CsiVolumeRegistrationTopologyRequest(dict): + def __init__(__self__, *, + required: Optional['outputs.CsiVolumeRegistrationTopologyRequestRequired'] = None): + """ + :param 'CsiVolumeRegistrationTopologyRequestRequiredArgs' required: `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + if required is not None: + pulumi.set(__self__, "required", required) + + @property + @pulumi.getter + def required(self) -> Optional['outputs.CsiVolumeRegistrationTopologyRequestRequired']: + """ + `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + return pulumi.get(self, "required") + + +@pulumi.output_type +class CsiVolumeRegistrationTopologyRequestRequired(dict): + def __init__(__self__, *, + topologies: Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']: + return pulumi.get(self, "topologies") + + +@pulumi.output_type +class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict): + def __init__(__self__, *, + segments: Mapping[str, str]): + """ + :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Mapping[str, str]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + +@pulumi.output_type +class CsiVolumeTopology(dict): + def __init__(__self__, *, + segments: Optional[Mapping[str, str]] = None): + """ + :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + if segments is not None: + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Optional[Mapping[str, str]]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + +@pulumi.output_type +class CsiVolumeTopologyRequest(dict): + def __init__(__self__, *, + preferred: Optional['outputs.CsiVolumeTopologyRequestPreferred'] = None, + required: Optional['outputs.CsiVolumeTopologyRequestRequired'] = None): + """ + :param 'CsiVolumeTopologyRequestPreferredArgs' preferred: `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + :param 'CsiVolumeTopologyRequestRequiredArgs' required: `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + if preferred is not None: + pulumi.set(__self__, "preferred", preferred) + if required is not None: + pulumi.set(__self__, "required", required) + + @property + @pulumi.getter + def preferred(self) -> Optional['outputs.CsiVolumeTopologyRequestPreferred']: + """ + `(``Topology``: )` - Preferred topologies indicate that the volume should be created in a location accessible from some of the listed topologies. + """ + return pulumi.get(self, "preferred") + + @property + @pulumi.getter + def required(self) -> Optional['outputs.CsiVolumeTopologyRequestRequired']: + """ + `(``Topology``: )` - Required topologies indicate that the volume must be created in a location accessible from all the listed topologies. + """ + return pulumi.get(self, "required") + + +@pulumi.output_type +class CsiVolumeTopologyRequestPreferred(dict): + def __init__(__self__, *, + topologies: Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']: + return pulumi.get(self, "topologies") + + +@pulumi.output_type +class CsiVolumeTopologyRequestPreferredTopology(dict): + def __init__(__self__, *, + segments: Mapping[str, str]): + """ + :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + pulumi.set(__self__, "segments", segments) + + @property + @pulumi.getter + def segments(self) -> Mapping[str, str]: + """ + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: + """ + return pulumi.get(self, "segments") + + +@pulumi.output_type +class CsiVolumeTopologyRequestRequired(dict): + def __init__(__self__, *, + topologies: Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']): + pulumi.set(__self__, "topologies", topologies) + + @property + @pulumi.getter + def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']: + return pulumi.get(self, "topologies") @pulumi.output_type -class AclTokenRole(dict): +class CsiVolumeTopologyRequestRequiredTopology(dict): def __init__(__self__, *, - id: str, - name: Optional[str] = None): + segments: Mapping[str, str]): """ - :param str name: `(string: "")` - A human-friendly name for this token. + :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: """ - pulumi.set(__self__, "id", id) - if name is not None: - pulumi.set(__self__, "name", name) - - @property - @pulumi.getter - def id(self) -> str: - return pulumi.get(self, "id") + pulumi.set(__self__, "segments", segments) @property @pulumi.getter - def name(self) -> Optional[str]: + def segments(self) -> Mapping[str, str]: """ - `(string: "")` - A human-friendly name for this token. + `(map[string]string)` - Define the attributes for the topology request. + + In addition to the above arguments, the following attributes are exported and + can be referenced: """ - return pulumi.get(self, "name") + return pulumi.get(self, "segments") @pulumi.output_type @@ -480,8 +1015,8 @@ def __init__(__self__, *, """ :param bool allow_fs: `(boolean: false)` - Set this to `true` to be able to use HCL2 filesystem functions - :param bool enabled: `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - format instead of the default HCL. + :param bool enabled: `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + HCL2 by default. """ if allow_fs is not None: pulumi.set(__self__, "allow_fs", allow_fs) @@ -503,9 +1038,12 @@ def allow_fs(self) -> Optional[bool]: @pulumi.getter def enabled(self) -> Optional[bool]: """ - `(boolean: false)` - Set this to `true` if your jobspec uses the HCL2 - format instead of the default HCL. + `(boolean: false)` - **Deprecated** All HCL jobs are parsed as + HCL2 by default. """ + warnings.warn("""Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""", DeprecationWarning) + pulumi.log.warn("""enabled is deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""") + return pulumi.get(self, "enabled") @property @@ -763,6 +1301,117 @@ def enabled_task_drivers(self) -> Optional[Sequence[str]]: return pulumi.get(self, "enabled_task_drivers") +@pulumi.output_type +class NamespaceNodePoolConfig(dict): + def __init__(__self__, *, + alloweds: Optional[Sequence[str]] = None, + default: Optional[str] = None, + denieds: Optional[Sequence[str]] = None): + """ + :param Sequence[str] alloweds: `([]string: )` - The list of node pools that are allowed to be used in this namespace. + :param str default: `(string: )` - The default node pool for jobs that don't define one. + :param Sequence[str] denieds: `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + """ + if alloweds is not None: + pulumi.set(__self__, "alloweds", alloweds) + if default is not None: + pulumi.set(__self__, "default", default) + if denieds is not None: + pulumi.set(__self__, "denieds", denieds) + + @property + @pulumi.getter + def alloweds(self) -> Optional[Sequence[str]]: + """ + `([]string: )` - The list of node pools that are allowed to be used in this namespace. + """ + return pulumi.get(self, "alloweds") + + @property + @pulumi.getter + def default(self) -> Optional[str]: + """ + `(string: )` - The default node pool for jobs that don't define one. + """ + return pulumi.get(self, "default") + + @property + @pulumi.getter + def denieds(self) -> Optional[Sequence[str]]: + """ + `([]string: )` - The list of node pools that are not allowed to be used in this namespace. + """ + return pulumi.get(self, "denieds") + + +@pulumi.output_type +class NodePoolSchedulerConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "memoryOversubscription": + suggest = "memory_oversubscription" + elif key == "schedulerAlgorithm": + suggest = "scheduler_algorithm" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NodePoolSchedulerConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NodePoolSchedulerConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NodePoolSchedulerConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + memory_oversubscription: Optional[str] = None, + scheduler_algorithm: Optional[str] = None): + """ + :param str memory_oversubscription: `(string)` - Whether or not memory + oversubscription is enabled in the node pool. Possible values are + `"enabled"` or `"disabled"`. If not defined the global cluster + configuration is used. + + > This option differs from Nomad, where it's represented as a boolean, to + allow distinguishing between memory oversubscription being disabled in the + node pool and this property not being set. + :param str scheduler_algorithm: `(string)` - The scheduler algorithm used in the node + pool. Possible values are `binpack` or `spread`. If not defined the global + cluster configuration is used. + """ + if memory_oversubscription is not None: + pulumi.set(__self__, "memory_oversubscription", memory_oversubscription) + if scheduler_algorithm is not None: + pulumi.set(__self__, "scheduler_algorithm", scheduler_algorithm) + + @property + @pulumi.getter(name="memoryOversubscription") + def memory_oversubscription(self) -> Optional[str]: + """ + `(string)` - Whether or not memory + oversubscription is enabled in the node pool. Possible values are + `"enabled"` or `"disabled"`. If not defined the global cluster + configuration is used. + + > This option differs from Nomad, where it's represented as a boolean, to + allow distinguishing between memory oversubscription being disabled in the + node pool and this property not being set. + """ + return pulumi.get(self, "memory_oversubscription") + + @property + @pulumi.getter(name="schedulerAlgorithm") + def scheduler_algorithm(self) -> Optional[str]: + """ + `(string)` - The scheduler algorithm used in the node + pool. Possible values are `binpack` or `spread`. If not defined the global + cluster configuration is used. + """ + return pulumi.get(self, "scheduler_algorithm") + + @pulumi.output_type class QuoteSpecificationLimit(dict): @staticmethod @@ -1324,6 +1973,222 @@ def name(self) -> str: return pulumi.get(self, "name") +@pulumi.output_type +class GetAllocationsAllocationResult(dict): + def __init__(__self__, *, + client_status: str, + create_index: int, + create_time: int, + desired_status: str, + eval_id: str, + followup_eval_id: str, + id: str, + job_id: str, + job_type: str, + job_version: int, + modify_index: int, + modify_time: int, + name: str, + namespace: str, + next_allocation: str, + node_id: str, + node_name: str, + preempted_by_allocation: str, + task_group: str): + """ + :param str client_status: `(string)` - The current client status of the allocation. + :param int create_index: `(int)` - The Raft index in which the allocation was created. + :param int create_time: `(int)` - The timestamp of when the allocation was created. + :param str desired_status: `(string)` - The current desired status of the allocation. + :param str eval_id: `(string)` - The ID of the evaluation that generated the allocation. + :param str followup_eval_id: `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + :param str id: `(string)` - The ID of the allocation. + :param str job_id: `(string)` - The ID of the job related to the allocation. + :param str job_type: `(string)` - The type of the job related to the allocation. + :param int job_version: `(int)` - The version of the job that generated the allocation. + :param int modify_index: `(int)` - The Raft index in which the allocation was last modified. + :param int modify_time: `(int)` - The timestamp of when the allocation was last modified. + :param str name: `(string)` - The name of the allocation. + :param str namespace: `(string)` - The namespace the allocation belongs to. + :param str next_allocation: `(string)` - The ID of the allocation that succeeds the allocation. + :param str node_id: `(string)` - The ID of the node to which the allocation was scheduled. + :param str node_name: `(string)` - The ID of the node to which the allocation was scheduled. + :param str preempted_by_allocation: `(string)` - The ID of the allocation that preempted the allocation. + :param str task_group: `(string)` - The job task group related to the allocation. + """ + pulumi.set(__self__, "client_status", client_status) + pulumi.set(__self__, "create_index", create_index) + pulumi.set(__self__, "create_time", create_time) + pulumi.set(__self__, "desired_status", desired_status) + pulumi.set(__self__, "eval_id", eval_id) + pulumi.set(__self__, "followup_eval_id", followup_eval_id) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "job_id", job_id) + pulumi.set(__self__, "job_type", job_type) + pulumi.set(__self__, "job_version", job_version) + pulumi.set(__self__, "modify_index", modify_index) + pulumi.set(__self__, "modify_time", modify_time) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "namespace", namespace) + pulumi.set(__self__, "next_allocation", next_allocation) + pulumi.set(__self__, "node_id", node_id) + pulumi.set(__self__, "node_name", node_name) + pulumi.set(__self__, "preempted_by_allocation", preempted_by_allocation) + pulumi.set(__self__, "task_group", task_group) + + @property + @pulumi.getter(name="clientStatus") + def client_status(self) -> str: + """ + `(string)` - The current client status of the allocation. + """ + return pulumi.get(self, "client_status") + + @property + @pulumi.getter(name="createIndex") + def create_index(self) -> int: + """ + `(int)` - The Raft index in which the allocation was created. + """ + return pulumi.get(self, "create_index") + + @property + @pulumi.getter(name="createTime") + def create_time(self) -> int: + """ + `(int)` - The timestamp of when the allocation was created. + """ + return pulumi.get(self, "create_time") + + @property + @pulumi.getter(name="desiredStatus") + def desired_status(self) -> str: + """ + `(string)` - The current desired status of the allocation. + """ + return pulumi.get(self, "desired_status") + + @property + @pulumi.getter(name="evalId") + def eval_id(self) -> str: + """ + `(string)` - The ID of the evaluation that generated the allocation. + """ + return pulumi.get(self, "eval_id") + + @property + @pulumi.getter(name="followupEvalId") + def followup_eval_id(self) -> str: + """ + `(string)` - The ID of the evaluation that succeeds the allocation evaluation. + """ + return pulumi.get(self, "followup_eval_id") + + @property + @pulumi.getter + def id(self) -> str: + """ + `(string)` - The ID of the allocation. + """ + return pulumi.get(self, "id") + + @property + @pulumi.getter(name="jobId") + def job_id(self) -> str: + """ + `(string)` - The ID of the job related to the allocation. + """ + return pulumi.get(self, "job_id") + + @property + @pulumi.getter(name="jobType") + def job_type(self) -> str: + """ + `(string)` - The type of the job related to the allocation. + """ + return pulumi.get(self, "job_type") + + @property + @pulumi.getter(name="jobVersion") + def job_version(self) -> int: + """ + `(int)` - The version of the job that generated the allocation. + """ + return pulumi.get(self, "job_version") + + @property + @pulumi.getter(name="modifyIndex") + def modify_index(self) -> int: + """ + `(int)` - The Raft index in which the allocation was last modified. + """ + return pulumi.get(self, "modify_index") + + @property + @pulumi.getter(name="modifyTime") + def modify_time(self) -> int: + """ + `(int)` - The timestamp of when the allocation was last modified. + """ + return pulumi.get(self, "modify_time") + + @property + @pulumi.getter + def name(self) -> str: + """ + `(string)` - The name of the allocation. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter + def namespace(self) -> str: + """ + `(string)` - The namespace the allocation belongs to. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter(name="nextAllocation") + def next_allocation(self) -> str: + """ + `(string)` - The ID of the allocation that succeeds the allocation. + """ + return pulumi.get(self, "next_allocation") + + @property + @pulumi.getter(name="nodeId") + def node_id(self) -> str: + """ + `(string)` - The ID of the node to which the allocation was scheduled. + """ + return pulumi.get(self, "node_id") + + @property + @pulumi.getter(name="nodeName") + def node_name(self) -> str: + """ + `(string)` - The ID of the node to which the allocation was scheduled. + """ + return pulumi.get(self, "node_name") + + @property + @pulumi.getter(name="preemptedByAllocation") + def preempted_by_allocation(self) -> str: + """ + `(string)` - The ID of the allocation that preempted the allocation. + """ + return pulumi.get(self, "preempted_by_allocation") + + @property + @pulumi.getter(name="taskGroup") + def task_group(self) -> str: + """ + `(string)` - The job task group related to the allocation. + """ + return pulumi.get(self, "task_group") + + @pulumi.output_type class GetJobConstraintResult(dict): def __init__(__self__, *, @@ -1611,6 +2476,155 @@ def enabled_task_drivers(self) -> Optional[Sequence[str]]: return pulumi.get(self, "enabled_task_drivers") +@pulumi.output_type +class GetNamespaceNodePoolConfigResult(dict): + def __init__(__self__, *, + alloweds: Sequence[str], + default: str, + denieds: Sequence[str]): + pulumi.set(__self__, "alloweds", alloweds) + pulumi.set(__self__, "default", default) + pulumi.set(__self__, "denieds", denieds) + + @property + @pulumi.getter + def alloweds(self) -> Sequence[str]: + return pulumi.get(self, "alloweds") + + @property + @pulumi.getter + def default(self) -> str: + return pulumi.get(self, "default") + + @property + @pulumi.getter + def denieds(self) -> Sequence[str]: + return pulumi.get(self, "denieds") + + +@pulumi.output_type +class GetNodePoolSchedulerConfigResult(dict): + def __init__(__self__, *, + memory_oversubscription: str, + scheduler_algorithm: str): + """ + :param str memory_oversubscription: `(string)` - Whether or not memory + oversubscription is enabled in the node pool. If empty or not defined the + global cluster configuration is used. + :param str scheduler_algorithm: `(string)` - The scheduler algorithm used in the node + pool. If empty or not defined the global cluster configuration is used. + """ + pulumi.set(__self__, "memory_oversubscription", memory_oversubscription) + pulumi.set(__self__, "scheduler_algorithm", scheduler_algorithm) + + @property + @pulumi.getter(name="memoryOversubscription") + def memory_oversubscription(self) -> str: + """ + `(string)` - Whether or not memory + oversubscription is enabled in the node pool. If empty or not defined the + global cluster configuration is used. + """ + return pulumi.get(self, "memory_oversubscription") + + @property + @pulumi.getter(name="schedulerAlgorithm") + def scheduler_algorithm(self) -> str: + """ + `(string)` - The scheduler algorithm used in the node + pool. If empty or not defined the global cluster configuration is used. + """ + return pulumi.get(self, "scheduler_algorithm") + + +@pulumi.output_type +class GetNodePoolsNodePoolResult(dict): + def __init__(__self__, *, + description: str, + meta: Mapping[str, str], + name: str, + scheduler_configs: Sequence['outputs.GetNodePoolsNodePoolSchedulerConfigResult']): + """ + :param str description: `(string)` - The description of the node pool. + :param Mapping[str, str] meta: `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + :param str name: `(string)` - The name of the node pool. + :param Sequence['GetNodePoolsNodePoolSchedulerConfigArgs'] scheduler_configs: `(block)` - Scheduler configuration for the node pool. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "meta", meta) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "scheduler_configs", scheduler_configs) + + @property + @pulumi.getter + def description(self) -> str: + """ + `(string)` - The description of the node pool. + """ + return pulumi.get(self, "description") + + @property + @pulumi.getter + def meta(self) -> Mapping[str, str]: + """ + `(map[string]string)` - Arbitrary KV metadata associated with the + node pool. + """ + return pulumi.get(self, "meta") + + @property + @pulumi.getter + def name(self) -> str: + """ + `(string)` - The name of the node pool. + """ + return pulumi.get(self, "name") + + @property + @pulumi.getter(name="schedulerConfigs") + def scheduler_configs(self) -> Sequence['outputs.GetNodePoolsNodePoolSchedulerConfigResult']: + """ + `(block)` - Scheduler configuration for the node pool. + """ + return pulumi.get(self, "scheduler_configs") + + +@pulumi.output_type +class GetNodePoolsNodePoolSchedulerConfigResult(dict): + def __init__(__self__, *, + memory_oversubscription: str, + scheduler_algorithm: str): + """ + :param str memory_oversubscription: `(string)` - Whether or not memory + oversubscription is enabled in the node pool. If empty or not defined the + global cluster configuration is used. + :param str scheduler_algorithm: `(string)` - The scheduler algorithm used in the node + pool. If empty or not defined the global cluster configuration is used. + """ + pulumi.set(__self__, "memory_oversubscription", memory_oversubscription) + pulumi.set(__self__, "scheduler_algorithm", scheduler_algorithm) + + @property + @pulumi.getter(name="memoryOversubscription") + def memory_oversubscription(self) -> str: + """ + `(string)` - Whether or not memory + oversubscription is enabled in the node pool. If empty or not defined the + global cluster configuration is used. + """ + return pulumi.get(self, "memory_oversubscription") + + @property + @pulumi.getter(name="schedulerAlgorithm") + def scheduler_algorithm(self) -> str: + """ + `(string)` - The scheduler algorithm used in the node + pool. If empty or not defined the global cluster configuration is used. + """ + return pulumi.get(self, "scheduler_algorithm") + + @pulumi.output_type class GetPluginNodeResult(dict): def __init__(__self__, *, diff --git a/sdk/python/pulumi_nomad/provider.py b/sdk/python/pulumi_nomad/provider.py index d45aa3fc..0b16a117 100644 --- a/sdk/python/pulumi_nomad/provider.py +++ b/sdk/python/pulumi_nomad/provider.py @@ -28,6 +28,7 @@ def __init__(__self__, *, key_pem: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, secret_id: Optional[pulumi.Input[str]] = None, + skip_verify: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None): """ The set of arguments for constructing a Provider resource. @@ -44,6 +45,7 @@ def __init__(__self__, *, :param pulumi.Input[str] key_pem: PEM-encoded private key, required if cert_file or cert_pem is specified. :param pulumi.Input[str] region: Region of the target Nomad agent. :param pulumi.Input[str] secret_id: ACL token secret for API requests. + :param pulumi.Input[bool] skip_verify: Skip TLS verification on client side. :param pulumi.Input[str] vault_token: Vault token if policies are specified in the job file. """ pulumi.set(__self__, "address", address) @@ -71,6 +73,8 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) if secret_id is not None: pulumi.set(__self__, "secret_id", secret_id) + if skip_verify is not None: + pulumi.set(__self__, "skip_verify", skip_verify) if vault_token is not None: pulumi.set(__self__, "vault_token", vault_token) @@ -230,6 +234,18 @@ def secret_id(self) -> Optional[pulumi.Input[str]]: def secret_id(self, value: Optional[pulumi.Input[str]]): pulumi.set(self, "secret_id", value) + @property + @pulumi.getter(name="skipVerify") + def skip_verify(self) -> Optional[pulumi.Input[bool]]: + """ + Skip TLS verification on client side. + """ + return pulumi.get(self, "skip_verify") + + @skip_verify.setter + def skip_verify(self, value: Optional[pulumi.Input[bool]]): + pulumi.set(self, "skip_verify", value) + @property @pulumi.getter(name="vaultToken") def vault_token(self) -> Optional[pulumi.Input[str]]: @@ -261,6 +277,7 @@ def __init__(__self__, key_pem: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, secret_id: Optional[pulumi.Input[str]] = None, + skip_verify: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None, __props__=None): """ @@ -284,6 +301,7 @@ def __init__(__self__, :param pulumi.Input[str] key_pem: PEM-encoded private key, required if cert_file or cert_pem is specified. :param pulumi.Input[str] region: Region of the target Nomad agent. :param pulumi.Input[str] secret_id: ACL token secret for API requests. + :param pulumi.Input[bool] skip_verify: Skip TLS verification on client side. :param pulumi.Input[str] vault_token: Vault token if policies are specified in the job file. """ ... @@ -326,6 +344,7 @@ def _internal_init(__self__, key_pem: Optional[pulumi.Input[str]] = None, region: Optional[pulumi.Input[str]] = None, secret_id: Optional[pulumi.Input[str]] = None, + skip_verify: Optional[pulumi.Input[bool]] = None, vault_token: Optional[pulumi.Input[str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -351,6 +370,7 @@ def _internal_init(__self__, __props__.__dict__["key_pem"] = key_pem __props__.__dict__["region"] = region __props__.__dict__["secret_id"] = secret_id + __props__.__dict__["skip_verify"] = pulumi.Output.from_input(skip_verify).apply(pulumi.runtime.to_json) if skip_verify is not None else None __props__.__dict__["vault_token"] = None if vault_token is None else pulumi.Output.secret(vault_token) secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["consulToken", "vaultToken"]) opts = pulumi.ResourceOptions.merge(opts, secret_opts) diff --git a/sdk/python/pulumi_nomad/variable.py b/sdk/python/pulumi_nomad/variable.py new file mode 100644 index 00000000..b40c9736 --- /dev/null +++ b/sdk/python/pulumi_nomad/variable.py @@ -0,0 +1,299 @@ +# coding=utf-8 +# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import copy +import warnings +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +from . import _utilities + +__all__ = ['VariableArgs', 'Variable'] + +@pulumi.input_type +class VariableArgs: + def __init__(__self__, *, + items: pulumi.Input[Mapping[str, Any]], + path: pulumi.Input[str], + namespace: Optional[pulumi.Input[str]] = None): + """ + The set of arguments for constructing a Variable resource. + :param pulumi.Input[Mapping[str, Any]] items: `(map[string]string: )` - An arbitrary map of items to create in the variable. + :param pulumi.Input[str] path: `(string: )` - A unique path to create the variable at. + :param pulumi.Input[str] namespace: `(string: "default")` - The namepsace to create the variable in. + """ + pulumi.set(__self__, "items", items) + pulumi.set(__self__, "path", path) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + + @property + @pulumi.getter + def items(self) -> pulumi.Input[Mapping[str, Any]]: + """ + `(map[string]string: )` - An arbitrary map of items to create in the variable. + """ + return pulumi.get(self, "items") + + @items.setter + def items(self, value: pulumi.Input[Mapping[str, Any]]): + pulumi.set(self, "items", value) + + @property + @pulumi.getter + def path(self) -> pulumi.Input[str]: + """ + `(string: )` - A unique path to create the variable at. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: pulumi.Input[str]): + pulumi.set(self, "path", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namepsace to create the variable in. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + +@pulumi.input_type +class _VariableState: + def __init__(__self__, *, + items: Optional[pulumi.Input[Mapping[str, Any]]] = None, + namespace: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None): + """ + Input properties used for looking up and filtering Variable resources. + :param pulumi.Input[Mapping[str, Any]] items: `(map[string]string: )` - An arbitrary map of items to create in the variable. + :param pulumi.Input[str] namespace: `(string: "default")` - The namepsace to create the variable in. + :param pulumi.Input[str] path: `(string: )` - A unique path to create the variable at. + """ + if items is not None: + pulumi.set(__self__, "items", items) + if namespace is not None: + pulumi.set(__self__, "namespace", namespace) + if path is not None: + pulumi.set(__self__, "path", path) + + @property + @pulumi.getter + def items(self) -> Optional[pulumi.Input[Mapping[str, Any]]]: + """ + `(map[string]string: )` - An arbitrary map of items to create in the variable. + """ + return pulumi.get(self, "items") + + @items.setter + def items(self, value: Optional[pulumi.Input[Mapping[str, Any]]]): + pulumi.set(self, "items", value) + + @property + @pulumi.getter + def namespace(self) -> Optional[pulumi.Input[str]]: + """ + `(string: "default")` - The namepsace to create the variable in. + """ + return pulumi.get(self, "namespace") + + @namespace.setter + def namespace(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "namespace", value) + + @property + @pulumi.getter + def path(self) -> Optional[pulumi.Input[str]]: + """ + `(string: )` - A unique path to create the variable at. + """ + return pulumi.get(self, "path") + + @path.setter + def path(self, value: Optional[pulumi.Input[str]]): + pulumi.set(self, "path", value) + + +class Variable(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + items: Optional[pulumi.Input[Mapping[str, Any]]] = None, + namespace: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + __props__=None): + """ + ## Example Usage + + Creating a variable in the default namespace: + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.Variable("example", + items={ + "example_key": "example_value", + }, + path="some/path/of/your/choosing") + ``` + + Creating a variable in a custom namespace: + + ```python + import pulumi + import pulumi_nomad as nomad + + example_namespace = nomad.Namespace("exampleNamespace", description="Example namespace.") + example_variable = nomad.Variable("exampleVariable", + path="some/path/of/your/choosing", + namespace=example_namespace.name, + items={ + "example_key": "example_value", + }) + ``` + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, Any]] items: `(map[string]string: )` - An arbitrary map of items to create in the variable. + :param pulumi.Input[str] namespace: `(string: "default")` - The namepsace to create the variable in. + :param pulumi.Input[str] path: `(string: )` - A unique path to create the variable at. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VariableArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + ## Example Usage + + Creating a variable in the default namespace: + + ```python + import pulumi + import pulumi_nomad as nomad + + example = nomad.Variable("example", + items={ + "example_key": "example_value", + }, + path="some/path/of/your/choosing") + ``` + + Creating a variable in a custom namespace: + + ```python + import pulumi + import pulumi_nomad as nomad + + example_namespace = nomad.Namespace("exampleNamespace", description="Example namespace.") + example_variable = nomad.Variable("exampleVariable", + path="some/path/of/your/choosing", + namespace=example_namespace.name, + items={ + "example_key": "example_value", + }) + ``` + + :param str resource_name: The name of the resource. + :param VariableArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VariableArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + items: Optional[pulumi.Input[Mapping[str, Any]]] = None, + namespace: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VariableArgs.__new__(VariableArgs) + + if items is None and not opts.urn: + raise TypeError("Missing required property 'items'") + __props__.__dict__["items"] = None if items is None else pulumi.Output.secret(items) + __props__.__dict__["namespace"] = namespace + if path is None and not opts.urn: + raise TypeError("Missing required property 'path'") + __props__.__dict__["path"] = path + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["items"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Variable, __self__).__init__( + 'nomad:index/variable:Variable', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + items: Optional[pulumi.Input[Mapping[str, Any]]] = None, + namespace: Optional[pulumi.Input[str]] = None, + path: Optional[pulumi.Input[str]] = None) -> 'Variable': + """ + Get an existing Variable resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Mapping[str, Any]] items: `(map[string]string: )` - An arbitrary map of items to create in the variable. + :param pulumi.Input[str] namespace: `(string: "default")` - The namepsace to create the variable in. + :param pulumi.Input[str] path: `(string: )` - A unique path to create the variable at. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VariableState.__new__(_VariableState) + + __props__.__dict__["items"] = items + __props__.__dict__["namespace"] = namespace + __props__.__dict__["path"] = path + return Variable(resource_name, opts=opts, __props__=__props__) + + @property + @pulumi.getter + def items(self) -> pulumi.Output[Mapping[str, Any]]: + """ + `(map[string]string: )` - An arbitrary map of items to create in the variable. + """ + return pulumi.get(self, "items") + + @property + @pulumi.getter + def namespace(self) -> pulumi.Output[Optional[str]]: + """ + `(string: "default")` - The namepsace to create the variable in. + """ + return pulumi.get(self, "namespace") + + @property + @pulumi.getter + def path(self) -> pulumi.Output[str]: + """ + `(string: )` - A unique path to create the variable at. + """ + return pulumi.get(self, "path") + diff --git a/sdk/python/pulumi_nomad/volume.py b/sdk/python/pulumi_nomad/volume.py index e9b0702c..098f2817 100644 --- a/sdk/python/pulumi_nomad/volume.py +++ b/sdk/python/pulumi_nomad/volume.py @@ -135,6 +135,9 @@ def access_mode(self) -> Optional[pulumi.Input[str]]: - `multi-node-single-writer` - `multi-node-multi-writer` """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""access_mode is deprecated: use capability instead""") + return pulumi.get(self, "access_mode") @access_mode.setter @@ -147,6 +150,9 @@ def attachment_mode(self) -> Optional[pulumi.Input[str]]: """ `(string: )` - **Deprecated**. Use `capability` block instead. The storage API that will be used by the volume. """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""attachment_mode is deprecated: use capability instead""") + return pulumi.get(self, "attachment_mode") @attachment_mode.setter @@ -399,6 +405,9 @@ def access_mode(self) -> Optional[pulumi.Input[str]]: - `multi-node-single-writer` - `multi-node-multi-writer` """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""access_mode is deprecated: use capability instead""") + return pulumi.get(self, "access_mode") @access_mode.setter @@ -411,6 +420,9 @@ def attachment_mode(self) -> Optional[pulumi.Input[str]]: """ `(string: )` - **Deprecated**. Use `capability` block instead. The storage API that will be used by the volume. """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""attachment_mode is deprecated: use capability instead""") + return pulumi.get(self, "attachment_mode") @attachment_mode.setter @@ -1007,6 +1019,9 @@ def access_mode(self) -> pulumi.Output[Optional[str]]: - `multi-node-single-writer` - `multi-node-multi-writer` """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""access_mode is deprecated: use capability instead""") + return pulumi.get(self, "access_mode") @property @@ -1015,6 +1030,9 @@ def attachment_mode(self) -> pulumi.Output[Optional[str]]: """ `(string: )` - **Deprecated**. Use `capability` block instead. The storage API that will be used by the volume. """ + warnings.warn("""use capability instead""", DeprecationWarning) + pulumi.log.warn("""attachment_mode is deprecated: use capability instead""") + return pulumi.get(self, "attachment_mode") @property diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 715b94ce..8f6080df 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -9,26 +9,6 @@ VERSION = "0.0.0" -PLUGIN_VERSION = "0.0.0" - -class InstallPluginCommand(install): - def run(self): - install.run(self) - try: - check_call(['pulumi', 'plugin', 'install', 'resource', 'nomad', PLUGIN_VERSION]) - except OSError as error: - if error.errno == errno.ENOENT: - print(f""" - There was an error installing the nomad resource provider plugin. - It looks like `pulumi` is not installed on your system. - Please visit https://pulumi.com/ to install the Pulumi CLI. - You may try manually installing the plugin by running - `pulumi plugin install resource nomad {PLUGIN_VERSION}` - """) - else: - raise - - def readme(): try: with open('README.md', encoding='utf-8') as f: @@ -43,9 +23,6 @@ def readme(): description="A Pulumi package for creating and managing nomad cloud resources.", long_description=readme(), long_description_content_type='text/markdown', - cmdclass={ - 'install': InstallPluginCommand, - }, keywords='pulumi nomad', url='https://pulumi.io', project_urls={